Originally Posted by Minnetonka16
Of course I could just google "ruby" or "python" but simple anecdotal evidence for someone that has obviously never learned a language is much nicer. "You can make advanced websites with scripts with programming language X" or "You could make a physics engine for a game with programming language Y"
Any Turing complete language can do EVERYTHING any other Turing complete language can do (even CSS3 is technically Turing complete though it's such a Turing Tarpit that I doubt you could do anything useful in any reasonable amount of time). That said, a language being widely used in one field doesn't mean anything.
Ruby -- rails, sinatra, etc
Python -- django, flask, etc
Common lisp -- hunchentoot, ningle, etc
Smalltalk -- seaside
Haskell -- yesod
PHP -- DON'T EVER USE THIS LANGUAGE!!!!
Java -- I don't like this language, but there's a bunch of frameworks
clojure -- same frameworks as java, but better syntax
C/C++ -- CPPCMS and similar
Perl -- it put the P in LAMP, enough said, but I wouldn't learn it
scheme -- Dr. Racket's framework (I forget the name)
prolog -- Awesome (I honestly had to google this one)
forth -- I'm sure someone somewhere has a web server running on a toaster's microcontroller using forth
... ... ... and the list goes on. These are just the ones I though of off the top of my head.
All of these languages have physics engines implemented in them too. In fact, almost everything you can think of is undoubtedly done in all of these languages because they are so popular (except PHP -- it isn't really popular, it just has enough momentum to keep developers suffering). The only area where many of these aren't used is small embedded systems (for those they use: scheme, forth, assembly, C and similar). Despite someone building a physics engine in PHP or a web framework using assembly, neither language is well suited for the job.
What makes a language "practical"? The amount of developers? Then learn C. The demand for programmers of that language? Then learn COBOL (and suffer). The percentage of programmer that say they like X language? Then learn a functional language of your choice (I recommend lisp). A language that's easy to learn? Then learn scheme (it was designed by MIT for their intro to computer science course).
The correct question is: What do you want out of a programming language? Tell me that and I'll tell you which language I think matches best.
Edited by hajile - 7/23/13 at 8:18pm