Richard Bucker

The Last Programming Language

Posted at — Sep 2, 2020

I responded to uncle bob’s “the last programming language” keynote with this:

UPDATE: I was scanning the new this morning and then I saw it “Python programming: Microsoft’s latest beginners' course looks at developing for NASA projects”. This is EXACTLY what I’m suggesting.. almost. But it is the confluence of all things. A simple scripting language, API layer to some compute, all this idle time on cost effective hardware might need to look at micro python. But this may be the way to get to the last language to rule them all.

I watched this presentation with great interest. I’ve also watched a number of other of your presentations. I’ve been a programmer for 40 years and a professional programmer for about 35. Like you I have used whatever tools were out there that would do the job and like Spock could meld with any system out there although I have drawn the line at Quantum Computing as the number of BIOS engineers seems to dwindle.

I find myself asking the exact same question. “what is the last language?” but I come to that place from a different vector and I came to a different solution.

I started with the question… what would happen if there was a technology pandemic; and we were reduced to SDCs like RaspPi running some sort of DOS or rudimentary Unix via a vt100? And separately but related how do I describe the “work” in a way that it can be easily understood and without the cruft of exceptions and errors. For example NSF or insufficient funds is not an error.

Without going too deep into the rabbit hole my last programming language is: [a] some sort of interpreted language for describing the “work”. (currently TCL as picol is only 500 lines) [b] today it happens to be golang because the included batteries just save me some time.

I chose tcl because it’s embedded in various routers, games and other utils. So the syntax is familiar… and it’s small and easy. A close second was Lua for the same except that it’s larger and has a strange call stack. Javascript is a nonstarter. And I hate the params of Lisp as an embedded language because my source file is markdown and so syntax highlighting of the code blocks is impossible after the pandemic. Emacs is not an option and vi (not vim)… maybe wordstar