One of my favorite classes during my university years was an AI class where the teacher — an old guy who had worked for several startups in the silicon valley in the seventies — was pretending to follow a plan, but actually always went off-track, telling stories about the various projects he worked on and the evolution of computers and programming languages.
Nowadays, I still think it’s a good idea not to dismiss the wisdom of the elders, and look at was done before to improve our present.
Today’s issue includes 2 old articles that we can still learn from today.
Energy Efficiency Across Programming Languages
This paper from 2017 has resurfaced recently on Twitter and has surprised many readers, including myself, because it ranks Java as a more efficient language than, say, Go or Ruby.
If you dig into the paper itself, you’ll see that the tests revolve around heavily algorithmic tasks. It’s not surprising that an immutable language such as Erlang consumes a lot of memory. Especially if you don’t give the garbage collector enough time to clean things up. But since it was designed to run on hardware routers, I doubt it is as bad as pictured here.
The code repository also seems to show unequal implementations from one language to the other.
In the end, it just gives a rough view of what would be the most efficient language to use to solve algorithmic problems. I think it would be interesting to couple it with tests dedicated to network operations. Languages with a virtual machine would then probably show better performances when submerged in thousands of parallel network requests.
The combination of both use-cases would then show a better picture of the environmental impact of languages.
A Plea for Lean Software
Prof. Niklaus Wirth was the creator of the famous Pascal language. The first language I ever learnt, because it has a reputation of being very clear and thus easy to learn.
What’s remarkable in this article from 1995, is that most of it is still valid today. Okay, his rant about manuals being increasingly long is not that relevant anymore, but he’s also pleading for a statically typed language with a small but extensible core, which still holds true today.
My favorite quote is this:
Organizing a team into managers, designers, programmers, analysts, and users is detrimental. All should participate (with differing degrees of emphasis) in all aspects of development.
Atlassian’s Remote Work Report
This tweet made me laugh:
You can find the exact quote page 9 of the report:
Only a third of executives with an inoffice mandate think that their inoffice policy has had any impact on productivity
The rest of the report is interesting too. It emphasises that at the end of the day, how we work matters more than where we work.