C - racing car, goes very fast, but it breaks every 50 miles.
C ++ - a racing car with a high-powered engine with a bunch of bells and whistles, breaks less often - every 250 miles, but when it breaks - no one can figure out the reason.
Java is a family minibus. Easy to drive, not very fast rides, safe.
C # is a family minibus model from competitors. After this car, get behind the wheel of a competitor minibus is prohibited.
Ocaml is a very cool European car. Not as fast as C , but never breaks, so it turns out to go further and in less time. However, since the machine is French, the controls are in unusual places.
Haskell is an incredibly elegant and beautiful car. Rumor has it that this car can move even on extremely strange terrain. Sitting behind the wheel of this car, you know that in reality it does not go on the road; instead, the car creates copies of itself and the road, and on each subsequent copy the car is moved a little further forward. It is assumed that the machine can move in a more traditional way, but in order to understand how, you need to know mathematics very well.
[Monad version:] Haskell is not really a machine; This is an abstract mechanism for which a detailed description is given of what the driving process would have looked like if it had actually happened. In order to really go, it is necessary to place an abstract machine inside another, concrete machine. The answer to the question of how a particular machine works is not assumed. You can also take several abstract machines and make one abstract machine that can be placed inside a particular machine and make several trips one after another.
Lisp - looks like a car, but with a little tweaking, you can turn it into a good plane or submarine.
Prolog is a fully automatic model: you tell what the destination looks like, and the machine itself takes you there. However, it is often easier to get to yourself than to describe the destination.
Perl is considered a cool car, but with incomprehensible driver instructions. And even if you figure out how to manage your own perl-machine, someone else can still not drive the same one.
Python is a great machine for beginners; you can drive even without a driver's license. If there is no need to go very fast or in difficult terrain, another car may never be needed.
Smalltalk is a small car originally designed for driving instruction, but experienced drivers also like to drive on it. It does not go very fast, but you can take any part and replace it in order to bring the car closer to your ideal car. Another strange thing: the driver does not control the car; The machine sends messages asking to go to a certain place, and it either goes there or responds that it does not understand the request.
Ruby is a car that results from a collision between three cars: Perl, Python, and Smalltalk. Japanese mechanic picked the best parts from each machine and assembled together
Erlang is a fleet of vehicles that work together to arrive at their destination. It takes practice to learn how to manage multiple machines at once; but then you can ride on an impassable terrain for other cars. In addition, in the case of a fleet of cars, the breakdown of a pair of cars would not be a significant obstacle.
Fortran is a rather primitive car; can go very fast, but only on perfectly flat roads. It is believed that one who has learned to operate this machine will never be able to drive any other model.
Cobol - is considered a car, but not one self-respecting driver does not admit that he ever drove this car.
Forth - set to build the car. Your car can be completely original, not like other cars. However, she can only drive in reverse.
Assembly Language is just an engine; You need to build a car yourself and manually feed the fuel while driving, but with a certain skill you can drive at a truly hellish speed.
Eiffel - car with an instructor (with a French accent) in the kit. The instructor will help you quickly find and correct your mistakes, but do not dare to argue with him, or else he will get angry and throw you out of the car.