Way back when, learning about the very first programming language at the university of Trieste – fortran – our professor told us: “Just like people have their favorite football team, so does each programmer have their favorite programming language”.
After C, C++, bash, SQL, swift, HTML, javascript, python, R (learned each to varying degrees of proficiency – from barely scraping the surface to getting quite an in depth understanding) I can safely say … that I still haven’t completely decided, although I am very partial to (Monty) Python just based on name alone.
I’ve been thinking about this recently in particular because during the first few months of Data Science bootcamp with Nashville Software School we learned about python (pandas library in particular) and now we’re using R (tidyverse in particular). And according to our instructor Michael, there’s no clear cut winner for data science!
What I’m beginning to understand is that once upon a time it might have been just personal preference. Whichever programming language’s syntax is more appealing – do you prefer {} or indentation? Do you prefer to separate the variable names with underscore, or capitalizing them?
Just recently I’ve finished watching the BBC maestro course by Alan Moore. In it he estimates that within the next year, we humans will double the knowledge that we’ve obtained so far (through all human history up to now).
With this ever expanding pool of knowledge, it appears that the programming languages are beginning to grow more specific as well. To be clear, with effort put in, it is possible to get quite a lot accomplished with each one of them. Yes, technically you can make fortran dynamically allocate memory for new variables (instead of having to specify it up front), simply by sacrificing a goat under the full moon and farting three times clockwise. Easy.
Virtually any other programming language can do that type of function on the fly! However, that comes at the price of speed. If you need an enormous amount of calculations done and have limited resources available, fortran may be the best choice to this day.
In a sense, programming languages are a microcosm of what we people do with everything: find more specialized tools and efficient way of doing things. And much like our regular tools, it all depends on context. If you want to just saw a few pieces of wood, having a manual saw would be more than enough – in fact, you’d ask if someone could lend it to you. But if you had to do that way more frequently, perhaps for a project or even a source of income, you’d very quickly decide to invest in an automatic saw.
Similarly, if all you want to do is print a “hello word” to the screen, or do some simple calculations, it doesn’t really matter all that much what you choose. If instead you want to design a website, the first thing to do would probably google which programming language would be best for that (spoiler, it’s probably going to suggest wordpress.org, which is built on top of PHP).
I know for many people this probably isn’t much of a surprise. There are after all patterns that we people keep repeating. I think the reason I’m kind of amazed by all this is because at the end of the day, all these different programming languages do is get translated to 0s and 1s then executed by a machine. So personally, I’d have thought there would be only a few programming languages that end up mattering in the long run – but I guess not!


Leave a comment