If programming languages were vehicles:
C was the great all-arounder: compact, powerful, goes everywhere, and reliable in situations where your life depends on it.
C++ is the new C — twice the power, twice the size, works in hostile environments, and if you try to use it without care and special training you will probably crash.
C# is C++ with more safety features so that ordinary civilians can use it. It looks kind of silly but it has most of the same power so long as you stay near gas pumps and auto shops and the comforts of civilization. A well-known heavily muscular intimidator keeps touting it.
Java is another attempt to improve on C. It sort of gets the job done, but it's way slower, bulkier, spews pollution everywhere, and people will think you're a redneck.
Python is great for everyday tasks: easy to drive, versatile, comes with all the conveniences built in. It isn't fast or sexy, but neither are your errands.
Perl used to serve the same purpose as Python, but now only bearded ex-hippies use it.
LISP is programming stripped down to the bare essence. It's been around since forever. Using it makes you stronger, but only an athlete or a maniac can make a living with with it.
Haskell is like a hipster version of LISP.
PHP is this hand-me-down deathtrap that you only use because you're stuck with it, and when you hit a speed bump the wrong way it sets you and your passengers on fire.
Go is a shiny new toy that tech nerds say will be the way of the future, but it's only practical if you limit everything you want to do to stay within its range.
COBOL probably seemed like a good idea at the time.
MATLAB is what scientists use to do special scientist things.
R is what scientists use when they can't afford MATLAB.
OCaml is this funny shaped thing that Europeans like for some reason.
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
http://crashworks.org/if_programming_languages_were_vehicles/