« Computing in 1968: Gender, Cards, etc. | Main | The giant advances in software programming languages »


Kevin Fink

Interesting perspective, David. However, I think you skipped the truly revolutionary advancement of computer languages and the continual evolution that they enabled. I believe that the big advancement (after the two you called out in another post: assembly language and high-level languages) in "computer science" is functions.

Functions enabled programmers to emulate the core capability that has advanced our civilization for millennia - the ability to build on top of preceding efforts. In modern days that is most obvious in fields like data science, where the "plumbing" required to load, clean, and structure the data would take many thousands of lines of code (and therefore many man-weeks of programming), repeated for every project and data set. Instead we have libraries like pandas (which itself is built on top of numpy, which was a combination of Numarray and Numeric, etc) that allow these operations to be performed in a handful of lines of code, freeing up time so that the data scientist can spend their time on analyzing the data, building models, etc.

This ability to continually extend our systems without having to keep starting from the base language features is the fundamental capability enabling our current success and future progress.

The comments to this entry are closed.