Do What I Mean
January 4th, 2020
In IEEE Computer magazine of March 1998 the original developer or Tcl/TK, John Ousterhout, wrote:
Scripting languages are designed for /gluing/ applications; they use typeless approaches to achieve a higher level of programming and more rapid application development than system programming languages. Increases in computer speed and changes in the application mix are making scripting languages more and more important for applications of the future.
I think that more than 20 years later we can confirm that Ousterhout was right. Programming has been transformed from writing everything yourself from scratch, to finding the right components, configuring them and combining them with some code of your own. And, although strongly typed and compiled languages like Java and C# persist, scripting languages like Javascript and Python top the charts.
When I learned to program (oldtimer speaking), there was no Internet. If I wanted to use code written by others, I bought a magazine and painstakingly copied the printed code into my trusted C64. And when I say "copy", I do not mean cp file.bas
, but typing the code one character at a time. When I was really 'lucky' I had to type long lists of meaningless numbers representing machine code. The result would be blazing fast, but hardly ever worked, because typos were almost inevitable.
To me, the biggest innovation in programming of the last decade is package managers like pipenv and yarn, which make finding, installing and maintaining packages a breeze. And to top it off, documentation has improved dramatically over the last couple of years.