What if programming languages were cars




















It is believed that learning to drive a Fortran car makes it impossible to learn to drive any other model. Java is a family station wagon. It's easy to drive, it's not too fast, and you can't hurt yourself. Haskell is an incredibly elegantly-designed and beautiful car, which is rumored to be able to drive over extremely strange terrain. The one time you tried to drive it, it didn't actually drive along the road; instead, it made copies of itself and the road, with each successive copy of the road having the car a little further along.

It's supposed to be possible to drive it in a more conventional way, but you don't know enough math to figure out how. Haskell is not really a car; it's an abstract machine in which you give a detailed description of what the process of driving would be like if you were to do it. You have to put the abstract machine inside another concrete machine in order to actually do any driving. You're not supposed to ask how the concrete machine works. There is also a way to take multiple abstract machines and make a single abstract machine, which you can then give to the concrete machine to make multiple trips one after another.

Lisp looks like a car, but with enough tweaking you can turn it into a pretty effective airplane or submarine. Lisp : At first it doesn't seem to be a car at all, but now and then you spot a few people driving it around.

After a point you decide to learn more about it and you realize it's actually a car that can make more cars. You tell your friends, but they all laugh and say these cars look way too weird. You still keep one in your garage, hoping one day they will take over the streets. Mathematica is a well-designed car that borrowed a lot from the Lisp car without giving it nearly the credit it deserved.

It can solve equations to determine the most efficient way to get to the destination, but it costs a fortune. Matlab is a car designed for novice drivers going on short trips over terrain similar to the terrain the Mathematica car is usually driven over. It is very comfortable when driving over this terrain, but if you go off the trail even a little the car becomes so hard to drive that more snobby drivers refuse to even acknowledge that it's a car.

Ocaml is a very sexy European car. It's not quite as fast as C , but it never breaks down, so you end up going further in less time. However, because it's French, none of the controls are in the usual places.

Perl is supposed to be a pretty cool car, but the driver's manual is incomprehensible. Low maintenance. But not suitable for off-road or towing. Or transporting a king bed. It is, however, like the car you learned to drive in. Similarly, Python is a general purpose language. You can work with databases.

You can do scripting. You can do data analysis. But Python is an interpreted language, and it uses garbage collection. Perl is like a vintage muscle car. Users adore it, even without headrests and air bags.

Want to fiddle with a carburetor? Similarly, Perl was written by a passionate linguist and is easy to learn. But its code can be dense and cryptic. But its object oriented capability is crude and tacked on.

Perl has, perhaps, seen its day, just like muscle cars. Showy, fast, dedicated to specific purposes. 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.

This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart. Perl used to serve the same purpose as Python, but now only bearded ex-hippies use it. Haskell is like a hipster version of LISP. COBOL probably seemed like a good idea at the time.



0コメント

  • 1000 / 1000