Duplicate
I come from a web programming background (PHP, Perl, HTML, CSS, Javascript and Actionscript).
But I have an interest in programming generally. And I was wondering how do people conceptually break down the technological soup that's out there?
What languages are out there, but more importantly WHY are they out there? What domain problems do they attempt to solve? I would be curious to hear peoples thoughts on this subject.
For example, if you were talking to someone interested in programming who had never heard of Haskell, what would you say, in a few sentences, about it and why it is important? Same goes for Python, Ruby, C, ObjC, C++, C#, HaXe, Lisp, Scheme, Java, etc.
What languages are you using and what specific problems are they solving for you? Feel free to include important frameworks or libraries in the discussion as appropriate. But I would like to keep this mostly about languages themselves and their relative strengths and weaknesses. Although I certainly recognize it is difficult to talk about stuff like Javascript without also talking about AJAX, jQuery, Rico, and all the various frameworks that make it fun and useful.
Bonus points for obscurity and interesting use cases.