A Comparison of Programming Languages I’ve Used
Comparing programming languages has been a popular sport for many years.
I love the quote from Antoine de Saint-Exupery who once said “If you want to build a ship, don’t tell people to collect wood, or assign them tasks, but rather teach them to long for the endless immensity of the sea“.
So let’s see how each of the dozen-or-so programming languages I’ve used over the last few decades support that epic vision of empowerment:
- BASIC – You build your first ship and sail the ocean. Except It’s a toy boat not a ship, and the ocean is a bathtub.
- 8-bit Assembler – First thing you’ll be doing is prospecting for iron ore to make nails… and you always keep in mind that the finished ship needs to float in a glass of water.
- FORTRAN – You model Bernouli’s fluid mechanics formulae for each point on a ship’s hull. Which turns out to be fascinating, but doesn’t get you any closer to having a ship.
- C – You build a ship using artisanal hand tools. It floats at first, but then keeps sinking. It’s not reproducible so you never work out why. You add more lifeboats and document it as a “known bug”.
- Pascal – You declare the ship and hit Run.
- Java – You fork the ship you made previously with C, turn it inside out, and launch it onto a virtual ocean. It doesn’t sink anymore. You don’t know why.
- PHP – You build a boat out of concrete, yoghurt and paperclips, using only tools discarded by a left-handed wainwright.
- Ruby on Rails – You let Rails generate the scaffolding, dry dock, ocean, ship, crew, and bottle of champagne. You leave it to build while you go off to buy sunscreen.
- Javascript & HTML, CSS – You find a fashionable-looking ship that someone else built, and copy it. You make some small changes and when it looks agreeable in your browser you launch it. It sinks immediately. The survivors say they just wanted WordPress.
- Javascript & NodeJS – You first scan forums and blogs for comparisons of the currently most popular MVC frameworks and libraries, and then you try them all out so you will be able to make up your own mind. Eventually you grow old and die.
- R – You predict the maximum boat speed, and plot the performance and fuel consumption profiles, while hoping someone else is building a ship.
- Python – You publish a shipbuilder package on PyPI, and write a blog about building ships, but you never get around to building one.