Hacker News new | ask | show | jobs
by mud_dauber 333 days ago
Kinda surprised to not see Forth listed.
2 comments

Forth was neat, but it was a bit of an evolutionary dead end. I'm not aware of any significant concepts from Forth which were adopted by other, later programming languages.
RPL (Reverse Polish Lisp, a high level language for HP calculators) possibly drew on it a bit, though the main antecedents are RPN and Lisp, and possibly Poplog (a Poplog guru was at HP at the time, but I don't know if he contributed).
PostScript
The only thing PostScript and Forth have in common is RPN. Other than that, they are very different in philosophy - Forth is very bit banging, close to the metal, while PostScript is much more symbol oriented and high level.
That's true, PostScript is much higher-level and feels like a stack-based LISP. But, saying they just have RPN in common makes it seem like a small choice about the syntax - instead of a whole stack-oriented approach, which affects everything.
Well, yes, the stack oriented approach does matter. But even there, there are big differences with Forth having a user accessible return stack, which is implicit in PostScript, while PostScript has an explicit dictionary stack, which exists only in a very primitive form in Forth.
Did Forth inspire the stack-based VMs of python and java? I don't know about that part of CS history well, but a very large proportion of all code runs on stack based byte code interpreters.
Or Lisp. Lisp is definitely not dead, but was definitely very influential.
The article does touch on that:

"COBOL was one of the four “mother” languages, along with ALGOL, FORTRAN, and LISP."

Imho Lisp is deader than COBOL. Especially now that we've learned you can do the really hard and interesting bits of AI with high-performance number crunching in C++ and CUDA.
I wrote Lisp this morning to make Emacs do a thing. In other venues, people use Lisp to script AutoCAD.

Lisp isn't as widely used as, say, Python, but it's still something a lot of people touch every single day.

And Clojure