which is the best programming language?

Perhaps this one

commented: Definitely! +14

It just depends on what you want to program in the future.But PHP and java are the most powerful languages today.

Perhaps this one

That was supposed to linked here, right?

That was supposed to linked here, right?

Yes it was.

PHP and Java are certainly two of the most commonly used languages today but that does not mean they are the most powerful.

Java is definately near the top of the list for power in a language but java is restrictive on what you can and cant do. For example you cant use pointers at least not directly so there are some things in Java that just are not as fast as a language such as C. As far as performance goes Java falls at the top of modern languages and comes very close to highly optimized C/C++ and is often faster than C/C++ because the virtual machine cuts most of the optimization work out for the programmer.

C/C++ give the programmer far more control than java over exactly what happens on the hardware level but optimization and memory leaks can be a big problem for any programmer especialy an inexperienced one.

C# is becomming popular and is a very "powerful" language but it is much slower than C/C++ and Java in most preformance tests.

PHP is an interpreted language and is therefore much slower than compiled languages but it is easy to deploy to servers and edit on the fly it also has much less in terms of operating system access compaired to languages like C and Java.

It all depends on how you define a powerful language though, speed, ease of programming, expressiveness, low level control, etc.

of course there are many hundreds of languages all designed for specific things and all have their own advantages and disadvantages

Hope this helps.

Asking "What's the best programming language?" is much like asking "What's the best airplane?" - it entirely depends upon what you want to do with it.

For system-level programming, C and C++ are the languages of choice.
For system-management and scripting, bash, Perl, and Python rule.
For complex application development, C++, Java, and (for .NET applications) C#.

And of course there are other niche languages such as Haskell, ObjectiveC, prolog, lisp, snobol, fortran,... This list is VERY long! :-) I once did a lot of programming in Dibol, a business language developed by DEC. You can still get it for PC's - called DBL. Just do NOT EVER ask me to program in it again!

There is no "best". In fact there's never any universal "best" of any broad category.

Just think: IF there were a universally "best" programming language, why are there still others out there that are used at all, or at least by more than a few diehard survivors with a religious adherence to something suboptimal?

Same with everything else.

Therefore any question asking for "the best" without a very strictly delimited problem domain is unanswerable (and even then, there are often multiple equally applicable choices).

It depends on what you want to do for the future. Web? or software development? system? etc...

no, it doesn't.

The "most powerful" tool is the one that gets the current job done on time, on budget, and on spec with the least future expense (maintenance, runtime environments, etc).
And that's hardly ever just a programming language, but an entire infrastructure.
If all you have to use is nails, a screwdriver is useless despite being arguably 'more powerful' as you can screw screws with greater precision using less energy than driving nails.
If I tell you to create something that has to run on a 20 year old IBM mainframe, you may scream that "Java is the most powerful so I want to use it" but you're never going to get that application written because you can't run Java on that machine.
It's going to be PL/1, like it or not. So PL/1 is the most powerful as it's the only tool in town.
CSS3 is very powerful for rendering websites, but if your website has to be accessed by people using netbooks over a satellite hookup in the African bush, it's again useless as those netbooks won't render that CSS3, leaving the site useless to its target audience. All those graphical niceties also of course cause a lot of extra bandwidth use, which you don't want over that satcom connection as bandwidth is very slow and expensive there.
And yes, I've written web apps for situations like that. Not netbooks the African bush, but PDAs over a dialup connection charged per second for a 28k8 connection speed. The most powerful tool there is knowledge, knowledge about network packet size, knowledge about how to minimise the number of bytes sent over the network and still get all the data to the device in a way that the device can render such that the user can make sense of it.

commented: Nice! +14

I'm going to create a new language and call it "Best" making it the Best programming language!

commented: LOL! :-) +12

Asking "What's the best programming language?" is much like asking "What's the best airplane?" - it entirely depends upon what you want to do with it.

As Nelson-sensei once wrote, it is in some ways closer to asking, "What's the best religion?" Programmers often commit themselves to their tools, well beyond reason. It is perhaps less true today, but languages are often the subject of both prejudice and egotism. While no one language is best for all purposes, it is not uncommon for a programmer to try to use the language which he or she had 'bonded' to for all purposes, simply because they can't see the limitations of their tools.

commented: Well said. +14
commented: Ditto what ddanbe said. See my post below. +12

Honestly, no language right now is optimal. As has been clearly stated, it depends on the situation, and almost every language out there has situations where it would be best. You can google search for analogies easily (like this one http://compsci.ca/blog/if-a-programming-language-was-a-boat/ ).

The issue is that no matter which language you choose, as Randall Monroe puts it, "You'll never find a programming language that frees you from the burden of clarifying your ideas." (http://xkcd.com/568/).

In theory of course an optimized language could be created, depending on your optimization criteria it would be different. For example if you want to optimize for compressed size, brainf' is almost optimal, but if you optimize for readability it is not.

In short, you need to decide what 'best' (optimal) means in your situation. Do you want legibility? Speed? Power? Versatility? Small source files? Teh pro l33t ski11z (assembly looks like pro hax to the layman)? whichever you choose you will end up with a different language as 'best'. Typically there will be a few languages that fit the specs, in which case you pick your favourite one.

accroding to me .net and php is the best programming language

Java is the most powerful programming lanuages now a days.

That's like asking what the best spoken language is. Any (turing complete)programming language can do anything another can, the differences are the ease and clarity with which one can program, as well as what type of applications the language was meant to be used with. Java is a popular programming language, it certainly doesn't hurt know how to use it. C++ and C are also good to know.

Sorry for going off on a tangent, but:

Any (turing complete)programming language can do anything another can

People say that a lot, but that isn't actually true. Any Turing complete programming language can compute anything any other can, but that doesn't mean it can do anything.

For example programs written in Brainfuck can't write to or read from files, communicate over a network or the Internet, create GUIs or do anything else other than writing to stdout and reading from stdin.

c language is king i think but i dont know about much

@Schol-R-LEA
As I said before, I write software in a LOT of languages, but for the system tools I am paid to write, I prefer C++. Most of our servers are Java and C++, and our client systems are embedded java,so a lot of our engineers prefer Java, if only because that is the language they have spent most of their time with. Because the tools I develop have to be "lean and mean" - ie, small memory and cpu footprint, but do a lot of string and mathematical processing, I use C++ with appropriate functions in C. I have been able to reduce old Java-based tools that took megabytes of memory and significant CPU resourses, and were very non-deterministic (mostly due to Java's garbage collection algorithms), to using a few kilobytes (or megabytes at worst - a megabyte being today's version of a kilobyte in the 1980s) of RAM and so little CPU that they almost cannot be detected!

As an example, I wrote a data collector that aggregates more than 1 billion data points per day of system resource usage, application statistics, and SNMP data from 500+ servers in a single data center (we have 5 or 6 such data centers, world-wide that support 100M+ users). We use 3 collectors for redundancy and load balancing; however, even if we shut 2 down and only stream all that data to a single collector, we use less than 3% of the collector system's CPU, and only a couple of megabytes of RAM. This collector then streams the data to a remote Amazon hadoop cluster at a rate of 15-20mbps, and doesn't lose one data point!

Ok. Done tooting my own horn now! :-) In any case, the "best" programming language for any job is the one that lets you meet the requirements on time and budget, and (not to forget) be easy to modify in order to meet changing requirements (not that THAT has ever happened)!

My politically correct answer:
The best tool depends on the type of tasks and the requirements. Bla bla bla, the right programming language is the one best suited for the job at hand. Bla bla bla, mention a bunch of programming languages and their advantages to please each person's sensibilities.

My honest answer:
Even with all its drawbacks, C++ is the best programming language, period. (sorry to those who don't like that fact)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.