Chapter 2: The century-old dialect.

“Wasting programmer time is the true inefficiency”

So, this quote stuck with me during the whole article. How is this even possible?  Haven’t we aimed towards efficient and faster machine execution, than to how much time we spend writing the code? Complex and long algorithms have been written to solve problems with the sole purpose to make them optimal. So, how can programmers time be more important than machine time? Maybe we have hit bedrock here, maybe we have hit local maxima (Genetic algorithm pun?). Now the goal has shifted.

One interesting example mentioned in the article was about lists and strings; “Semantically, strings are more or less a subset of lists in which the elements are characters… Having strings in a language seems to be a case of premature optimization, since speed doesn't matter in most of a program, you won't ordinarily need to bother with this sort of micromanagement. This will be more and more true as computers get faster”. This whole quote is the main concept of the article, reason why I would like to comment on it.

One of the other goals is that we should look to more flexible programs, due to specifications changing over time, as Graham said in the article, not only does specifications change something inevitable, but desirable . Al well as Agile methodology for project management, we have developed new ways to do things (at least, software related), aimed to speed and effectiveness.  

So, I think it could be very interesting to see the evolution of, not only programming languages, but programming itself. Maybe new programming languages arise, or even older programming languages may get a tweak and resurge. Or even we could transfer to different programming paradigms, either functional, logic, symbolic, etc. I think the future is promising, and I, as a programmer, will be eager to know what the future holds for me and the whole community. 

References:

Graham P. The Hundred-Year Language. Available on: http://www.paulgraham.com/hundred.html 

Comments

Popular posts from this blog

Chapter 5: S-expression Interpreter Framework.

Chapter 0: Compiling a Complying Compiler

Chapter 1: The usefulness of Compiler Design that will (Most Likely) never be touched again.