But I cannot accept to call a language or platform "powerful" when the closest you can reasonably get to the "best" solution is ridiculously far from it.

No offense, but that perspective is also one based on tunnel vision. I'm often amused when people that would advocate using the best tool for the job turn around and attack those same tools by actively ignoring their target domain.

Well, like I said earlier in this thread, I consider that part of the definition of "powerful" is the width of the application domain.

I don't think that my latest rant contradicts the concept of using domain-specific languages or tools. For me, a good domain-specific language is one that fulfills those two conditions, that is, is convenient to use and can get you pretty close to an optimal solution, for problems in its target domain.

In my latest rant, I was talking more about general-purpose languages, or at least, languages that would like to claim to be general-purpose (like Java and C#, and to a lesser extent, Python).

Admitedly, my bias is towards arguing that C++ is the most powerful general-purpose programming language today. If you want to say that other so-called general-purpose languages are actually domain-specific languages, or if you would agree with my last argument that as general-purpose languages they are inadequate, then either way I'm happy.

my friend Madao would have a hay-day with those who like C++ over C. ;)

C++ is more abstract and messy, making more room for poor quality coding standards.
(which alot of people worship these poor standards)

and another topic I should touch on, something mentioned earlier with .NET that also plays well on every lenguage with extensions or libraries...

libraries are bad!
reason being is because you subject yourself to limitations on poor quality 3rd-party coding standards which inevitably make your code poor quality.

Qt is a good example of a poor quality library, but overall, there's more bad libraries than there are good.
OpenGL is an example of a good library.
DirectX (while I'm on the topic of 3D) is a bad library for it's limitations when compared to OpenGL (it performs just as good)
(DX vs GL is a rant I could go on for hous about, but overall, you want GL, especially if you're on linux)

what matters here is how well the library's code is written, and how much the library is able to let you do (of what the library is expected to do).
there could more than likely be more I'm missing that defines a "good" library.

so yea... I hate 3rd-party.
+1 for NIH syndrome! ^_^

In the early 1980, my job consisted mainly of determining all sorts of metals like cadmium, lead, calcium, sodium etc. in drinking water samples. An atomic absorption spectrophotometer was used, coupled to an Apple II and a small printer. To process the data produced by my spectrometer, I used the BASIC language (interpreter baked into the ROM chips of the Apple). I calculated metal concentrations, showed calculated calibration curves on screen, and produced summary reports on a printer. At that time it was the most powerful language (the only option I had :) ) and it did what it had to do. If I now would claim that BASIC is the most powerful language, I guess most of you would at least think I had some sort of mental dysfunction …
For the moment I like C#, Visual Studio and .NET very much. Is it a crime? Is it powerful? Dun no. But C# for instance has a very concise syntax I like very much. You cannot say something like while (0)… as in C or C++. The 0 is an integer literal, not a Boolean expression as it should be.
I know those C++ and other aficionados will say otherwise and they are probably right anyway. But with C# and VS I get the things done quickly. That is what I want and like to do. I find this C# VS .NET combination very powerful if you like, so what is this discussion about powerful all about? Can this discussion be closed? As I stated earlier here in a previous post, first define the word powerful in connotation with computers languages.

and I can say the same for python27, does that make python27 the most powerful?
not at all, in fact python27 is the least powerful of all the languages I've mentioned so far.

heck Python3 is more powerful than Python2, but I don't like it for compatibility reasons (and of course PyOpenGL running slower on it).
to add, I have yet to find a portable python (not win-python or any rebuild) interpreter for py3.

I don't believe in the whole "most powerful language of it's time" thing, though it does play a factor. ;)
languages can supersede any language at any given time, but so far, I don't know of anything beyond C aside from MASM which falls out of the category.

btw, might I mention I use Visual Studio as well ;)
(2010 to be exact as I can't use anything higher)
^it's amazing, and I love it for it's intellisense.
(I have yet to find another IDE that can match it, including Eclipse)

Here is the popularity of computer languages worldwide, Mar 2015 compared to a year ago ( http://pypl.github.io/PYPL.html ) ...

| Rank | Language     | Share(%) | Trend |
|    1 | Java         |   24.7   |  -0.4 |
|    2 | PHP          |   11.7   |  -1.2 |
|    3 | Python       |   10.6   |  +0.9 |
|    4 | C#           |   8.9    |  -0.3 |
|    5 | C++          |   8.2    |  -0.5 |
|    6 | C            |   7.8    |  +0.1 |
|    7 | Javascript   |   7.2    |  -0.3 |
|    8 | Objective-C  |   6.1    |  -0.2 |
|    9 | Matlab       |   3.0    |  -0.2 |
|   10 | R            |   2.7    |  +0.6 |
|   11 | Ruby         |   2.5    |  +0.0 |
|   12 | Swift        |   2.5    |  +2.9 |
|   13 | Visual Basic |   2.3    |  -0.7 |
|   14 | Perl         |   1.3    |  -0.3 |
|   15 | lua          |   0.5    |  -0.1 |
(Trend is in % vs a year ago)
commented: Java 24.7% +0

My prediction:

go will replace python, ruby, perl, (perhaps with the exception of javascript unless web browsers adopt a go like js engine?)

dotnet and java will die like flash (and good riddance) - a go backend with a html +css +js front end will take its place.

c++ and c will remain as always, you can't get rid off a fundamental building block.

C# is powerful language


Java 24.7%

do take note, that's the trend of what's most popular, not what's most powerful.

I'll take first hand in saying Java is the most popular no thanks to Minecraft and mod-packs

that's literally the only thing java is clinging to for it's popularity.

C# is powerful language

powerful, yes
most powerful, no

more powerful than python, yes
more powerful than CPython, depends on (Python's) code efficiency:
- Python2, possibly (no in some cases)
- Python3, maybe (no in most cases)

do take note, that's the trend of what's most popular, not what's most powerful.

Also, take note that those figures of "popularity index" are actually a measure of the google searches for tutorials on the language. All this is saying is that 1 in 4 people who are currently taking their very first steps on the road to learning a programming language are learning Java (because it's only in the first steps that you spend significant time looking up and reading tutorials). And after learning your first language, the others are much quicker to learn, i.e., you probably will spend 10 times more time going through tutorials in your first language than you will in any other subsequent one you learn.

The reason why Java, PHP, Python and C# are the highest on that list is simply because those are the most popular languages for teaching computer science. In other words, it's a measure of which languages computer science teachers prefer to teach in, nothing more. Considering that it takes about 10 years of experience to become an expert programmer, I wonder how many experts are still spending a significant amount of their time reading Java tutorials... (rhetorical) ...they should be writing them at this point.

Also, remember that computer science teachers are not interested in teaching computer programming. They teach theoretical algorithms and data structures, and they prefer to give exercises in languages that are easiest to use without any real skill, like Java / C# / Python. In other words, they teach you the basics of an easy "training-wheels" language so that you can do simple exercises about the theory they are teaching. Becoming a competent programmer is something you learn much later, over years of practical experience.

commented: well said +4

Java now adays being adaptable for all platforms,was must consider as an powerfull programming language and technology ,keeping into considerations Cto be toppest of powerfull programming languages

Java isn't the only cross-platform language you know

Python has a MUCH cleaner syntax and is much easier to use, though alone is less powerful than Java, but I do believe CPython is more powerful than Java.
(extensions like NumPy are CPython which give Python some extreme power)

so what I'm saying is Python [b]can be[/b] more powerful than Java

[size=8pt]erg... BBC is so much better than markup >3<[/size]

java nowadays being adaptable for all platforms

WRONG, not only java but also dotnet applications have frameworks or jvm dependencies. In that, if an application was written using dotnet 3.x it won't be useable in dotnet 1.x.

Same with java, this has thrown the whole idea of 'write once run anywhere' out of the window. More like 'write once -run nowhere.'

commented: I hadn't considered this +4

on my up-vote :)

now that you bring it up, this is true if you don't update,
but then there's also the fact of the Minecraft AT Launcher not working properly when I use a version of java 7 over update 55.

but you know, this is all about staying updated, to a point anyways, and I was going off a fully updated machine (which I don't even have) :P

When you write large programs, compile time can be an issue. A language like Go has been developed to minimize compile time by orders of magnitude.

The joke has it that Go was developed by three computer scientists at Google while they were waiting for a very large C++ program to compile.

What do you mean by powerfull? Most secure? The one you have most control over memory management and hardware? The one with the best performance? The most dynamic? The one that you write less and do more? Or you just want to know what we like?!

I think you wanna know what we like... so... I like JavaScript!! Only because it's so dynamic and unpredicable!

document.getElementById = function() { alert("I don't care!"); };

You can actually change any API at run time at your own crazy, nonsensed, will!
That is just too much fun not to love it!

Most secure?

power and security are 2 different things.

The one you have most control over memory management and hardware?
The one with the best performance?

^ both of these make up the language's power

The most dynamic?

power is required for a language to be dynamic, making the language's performance less powerful (such as python, Java, and javascript)

The one that you write less and do more?

that's the cleanest language, which I havn't seen anything cleaner than python.

also, C# (or .NET code in general) is not the dirtiest, BrainF*k is dirtier, though not the dirtiest :P
(note the concept of "dirty code" is not just alot of ASCII on the page, it's about the visual logic behind the code as well as how well you write it)

Or you just want to know what we like?

that would be the most popular programming language, not what he asks, which is the most powerful.

I absolutely love python, but that's not nearly as powerful as C, and of course ASM would be the most powerful, but that's out of the question because he wants something a little more user friendly.

I'd have to recommend C and second C++

Python gives you as much control over an interface as C (with CPython extensions), but it's native power (not CPython) with performance is not very good.

Python makes a good front loader, or something that's not very CPU tasking, if you're making something like a 3D OpenGL game with python (which I have some decent experience with), it's best to pass all of the computations in your main loops to another interface like GLSL.

C is the most powerful, C++ is arguably the second most powerful.

need more info, read my repeated rants and knowledge throughout the history of this post. ;)

IK this is old...
but just to point out I'm not the only one talking, here's a resource:


stumbled across this trying to gain info for my program's common-interface recompilation language "UGESL" (renamed from UMCSL)

note: UGESL focuses on the ability to convert one language (including ASM and even byte-code) to another through common and sub-common interfacing.

it requires a dynamic interface but also offers a types system, so python is my backend choice which makes the language easier to write.

so conversion/recompilation is the language's primary focus, not power.
(writing the backend in C would require too much code where python offers 5x to 10x less code at a decent speed)

Application and some personal whim will make the choice.

commented: agreed +4