Ok there have been a ton of people (in the Web Development forum especially) asking which language is the best. Like there is some kind of "holy grail" language that will solve the world's problems. I think a few of us are a bit sick and tired of answering this very trivial question which always blows up into a this language against this language debate. So if you were directed to this thread, please read the following carefully and understand what we are saying.
So for all you newbies out there who are wondering, here is the official answer that most programmers SHOULD be telling you....
NO LANGUAGE IS BETTER THAN OTHERS, A LANGUAGE JUST MIGHT BE MORE SUITED FOR A SPECIFIC PROBLEM.
What exactly does this mean? This means that there are several factors that should go into picking a language and not always is it a direct comparison between the languages themselves, but more of a choice on what is best suited for what you can do and for what.
The language you should go with has the following criteria...
1) You should be comfortable with the language. This one is most paramount. Yeah so someone told you Ruby was a great choice for creating a content management system. If you find the syntax too cryptic and are really struggling, what good is it going to be to you and getting the problem solved? If you are brand new, try a few languages first, find one you seem to be picking up quickly and then see if it works with your project.
2) Start simple. If you are a beginner, don't take a project that you know is going to be huge in scope. Whether you pick PHP or ASP or Coldfusion if the project is too large for your skills, no language is going to help you.
3) Know your problem's domain. If you are looking to make a guestbook online, research which languages are for online application making. Which language will work with your hardware. Which language would be the best for making a guestbook app online. Don't try to compare it to other languages directly. No use comparing PHP (a server-side language) to C++ which is more of a desktop language. It is like comparing apple and oranges.
4) Look around the forums. We have answered this question a lot and have given our preferences for a language in a particular situation or for a particular job. So look around and research it out, you will probably have seen something similar and what we recommended for that.
5) Just go with what you know. If you need a project done and done to the best of your ability on a relatively short deadline it is going to be no use to come onto a board here and ask a bunch of people with their biases. What good is it for you to learn Ada or F# just because some guy told you that those languages rock when you already know Java and could do the project in half the time?
6) Lastly, programmers are sometimes the LAST people you want to ask which language is better. Great programmers fall in love with their languages and every time this question comes up you are going to get the Java guy saying "Java is the best" and you are going to get the C# guy saying "C# is better than Java in this case". I am not immune to this either. Do a search online and see what everyone seems to like using for your particular project.
If you see a ton of guestbooks in PHP and none in COBOL, then perhaps PHP might be a better fit. This also has the added benefit of providing resources for you in case you are stuck. You don't want to be half way through your guestbook in COBOL only to realize no one is doing COBOL apps.
So what might be a better question?
Maybe something along the lines of "I know C#, can I do this project with this language?" You may still get a few of the die hards out there saying "C# is crap use smalltalk because it r0x!" but at least you will get more people giving you a "yes/no" answer and maybe even a reason or two why or why not. Maybe even an example code.
So if you are a regular helper who sees a question asking about which language is best, please just redirect them to this thread instead of engaging in a "which language is best debate". We all know that languages have their strengths and weaknesses but it does no one any good to recite them to each newbie that asks.
Thanks a bunch!
