Random pondering about sustainable software, and operating systems like Project Oberon, Forth, Smalltalk, and the Lisp Machines .. Systems that a single individual can maintain (maybe not write ...)
A weird thing about being 50 is that there are programming languages that I've used regularly for longer than some of the software developers I work with have been alive. I first wrote BASIC code in the 1980s. The first time I wrote an expression evaluator--a fairly standard programming puzzle or homework--was in 1990. I wrote it in Pascal for an undergraduate homework assignment. I first wrote perl in the early 1990s, when it was still perl 4.036 (5.38.2 now). I first wrote java in 1995-ish, when it was still java 1.0 (1.21 now). I first wrote scala, which I still use for most things today, in 2013-ish, when it was still scala 2.8 (3.4.0 now). At various times I've been "fluent" in 8086 assembly, BASIC, C, Pascal, perl, python, java, scala; and passable in LISP/Scheme, Prolog, old school Mathematica, (early days) Objective C, matlab/octave, and R. I've written a few lines of Fortran and more than a few lines of COBOL that I ran in a production system once. I could probably write a bit of Haskell if pressed but for some reason I really dislike its syntax so I've never been enthusiastic about learning it well. I've experimented with Clean, Flix, Curry, Unison, Factor, and Joy and learned bits and pieces of each of those. I'm trying to decide whether I should try learning Idris, Agda, and/or Lean. I'm pretty sure I'm forgetting a few languages. Bit of 6502 assembly long ago. Bit of Unix/Linux shell scripting languages (old enough to have lived and breathed tcsh before switching to bash; I use fish now mostly).
When I say passable: in graduate school I wrote a Prolog interpreter in java (including parsing source code or REPL input), within which I could run the classic examples like append or (very simple) symbolic differentiation/integration. As an undergraduate I wrote a Mathematica program to solve the word recognition problem for context-free formal languages. But I'd need some study time to be able to write these languages again.
I don't know what the hell prompted me to reminisce about programming languages. I hope it doesn't come off as a humblebrag but rather like old guy spinning yarns. I think I've been through so many because I'm never quite happy with any one of them and because I've had a varied career that started when I was pretty young.
I guess I'm also half hoping to find people on here who have similar interests so I'm going to riddle this post with hashtags:
About a month ago, I entered into a small "language contest" that was set to prove that no "newschool" language (Rust, Zig, Nim, etc) is ready to replace C in the embedded field.
The deadline was about 10 days ago, and according to the original technical evaluation criteria, my Free Pascal solution won, but got disqualified, because "we already know, Pascal could not replace C".
Programming languages rise and fall, human stupidity remains. I rest my case.
I posted a review of the book "Recursion via Pascal" by Jeffrey S. Rohl (1984), an overlooked little gem I recently discovered. It's one of the few books entirely devoted to recursion which, as a Lisper, gets me interested.
With the passing of Niklaus Wirth this January, I wanted to pay him a tribute, but I could not find my book (Oh! Pascal! - 1985) ..... Finally, I found it and it made my day :anarchoheart2:
A beautiful book for a beautiful language that was an inspiration for many of us. Thank you, Niklaus. This is to you ❤️ #Pascal
#Quiche#compiler is now alive! (At least Conway's variant of alive). The initial version was slow - about four seconds per generation. It was multiplying coordinates for each cell read and write.
The second variant uses offsets into each liner buffer, and only redraws changed cells. It's now running at three to four generations per second.
Ooo. Company just called I applied for.
Them: We'd like to get you into a round of interviews!
Me: GREAT! How many interviews?
Them: There are six
Me: Oh, Three interviews are my max.
Them: frustrated You don't get to decide that.
Me: Oh, but I DO. click
Back to #pascal programming :) Fight back #tech bros! Fight back.
Neo6502 open source hardware modern retro computer now have TaliForth ported. Also there is very nice Norton Commander like ZionCommander written in Pascal #neo6502#6502#retrocomputing#pascal#retrogaming So now we got now: Assembler, Pascal, Forth, NeoBasic, CP/M-65 !
Niklaus Wirth, computer scientist and father of the Pascal programming language, sadly passed away on January 1st this year, less than 2 months short of what would've been his 90th birthday today.
The Apple Macintosh has turned 40. Originally, it was a #Pascal machine, and #ObjectPascal has been developed to evolve its revolutionary operating system.
several good bits here, I note this as one key for me
I know Wirth was horrified by the repulsive syntax choices of today's dominant languages; he could never accept that a = b should mean something different from b = a, or that a = a + 1 should even be considered meaningful. The folly of straying away from conventions of mathematics carefully refined over several centuries (for example by distorting "=" to mean assignment and resorting to a special symbol for equality, rather than the obviously better reverse) depressed him. I remain convinced that the community will eventually come back to its senses and start treating language design seriously again.
Thank you to @rvr for sending me this. I've had a quick read through and it looks to be exactly what I need. Especially the section "7.2. Containers (lists, dictionaries) using generics".