IF COMPUTER LANGUAGES WERE CARS
C is a racing car that goes incredibly fast but breaks down every fifty miles.
C++ is a souped-up racing car with dozens of extra features that only breaks down every 250 miles, but when it does, nobody can figure out what went wrong.
Java is a family station wagon. It's easy to drive, it's not too fast, and you can't hurt yourself.
C# is a competing model of family station wagons. Once you use this, you're never allowed to use the competitors' products again.
Lisp looks like a car, but with enough tweaking you can turn it into a pretty effective airplane or submarine.
Perl is supposed to be a pretty cool car, but the driver's manual is incomprehensible. Also, even if you can figure out how to drive a perl car, you won't be able to drive anyone else's.
Python is a great beginner's car; you can drive it without a license. Unless you want to drive really fast or on really treacherous terrain, you may never need another car.
Ruby is a car that was formed when the Perl, Python and Smalltalk cars were involved in a three-way collision. A Japanese mechanic found the pieces and put together a car which many people think was better than the sum of the parts.
Fortran is a pretty primitive car; it'll go very quickly as long as you are only going along roads that are perfectly straight. It is believed that learning to drive a Fortran car makes it impossible to learn to drive any other model.
Cobol is reputed to be a car, but no self-respecting driver will ever admit having driven one.
Assembly Language is a bare engine; you have to build the car yourself and manually supply it with gas while it's running, but if you're careful it can go like a bat out of hell.