How to decide on a programming language

Als TL;DR; habe heute folgendes über reddit gefunden:

Jim Rankin nennt in einem Blog-Artikel Entscheidungshilfen zur Auswahl einer Programmiersprache für ein Projekt:

Pick one of the Cs if:

You want as much control over your computer as you can get, without writing assembly.

Pick C if:

You want a simple, portable language with lots of libraries and example code.

Pick C++ if:

You want more features than C and you’re willing and able to deal with the added complexity.

Pick Objective C if:

You want to develop for Mac or iPhone.

Pick a VM language if:

You want a pretty fast language with lots of libraries and programmers, that’s easier to program than C.

Pick Java if:

You use more than one kind of processor or operating system, or want access to the largest body of libraries and programmers of any language.  As long as you can manage or avoid the verbosity of some “enterprise” frameworks.

Pick C# if:

You want to develop for Windows.

Pick another VM language if:

You want to access libraries written for the JVM or CLR from a language with more features (but fewer developers) than Java or C#.

Pick a formerly scripting language if:

You want to script other programs, interface with code written in one of the Cs, process lots of text, or if programmer productivity is more important than run time performance.

Pick Perl if:

You want to partake of the wonders to be found in CPAN, and your mind fits the mind of Perl.

Pick Python if:

You believe “there should be one—and preferably only one—obvious way to do it.”

Pick Ruby if:

You want the flexibility to bend the language to fit the shape of your problem.

Pick a functional straitjacket if:

You want to be confident that your program is correct, or you want to utilize all the processors at your disposal without the worries that come from sharing state between threads.

Pick Haskell if:

You want there to be a good chance that your program will run correctly the first time it successfully compiles.

Pick Erlang if:

You’re not so concerned about single threaded performance, but want ludicrous scalability.

Pick a Lisp if:

You have a problem that requires serious exploration or breaking new ground, or you want to use a bottom up process to build a language to fit your problem.

Pick Common Lisp if:

You want a language whose feature set is close to a superset of the features of all other languages, and you’re willing to put up with sketchy library support and a brilliant but eccentric and cantankerous community.

Pick Scheme if:

You want to see how a simple language with a few well chosen features can produce elegant, powerful programs, or you want a good vehicle for exploring the deep ideas of computer science.

Pick Arc if:

You want a 100 year language and you’re willing to wait that long.

Pick Clojure if:

You want a Lisp that can access Java libraries, a functional straitjacket with macros, or a Lisp with an engaged, active creator.

Pick JavaScript if:

You want your code to run in a browser.

Kann man so stehen lassen. 🙂