Never used the language, so it took me a minute, but I got it. (Maybe helps that I’ve been trying to teach myself Latin, where the verb often comes last? “Ego Forthum amo”)
dschultzsays
Once upon a time I took an engineering graduate course that required programming. Random variables and noise. The professor stated that he didn’t care what language we used, so I used Forth. This worked very well.
At one point I had occasion to visit him in his office and I noticed that he had a list of programming languages posted. With comments for each. I forget what it said about Forth but I assume that for BASIC it had the usual causes dain bramage.
Got it. Back in college (1970s) I had friends who had RPN calculators. Not my favorite.
AstroLadsays
Never used it. I looked at it multiple times, but I never had a system so resource limited that it made sense. Then there would have been the trouble to find 6-8 programmers who either knew it, or could learn it quickly. FORTH is perhaps not quite as bad as APL for being write-only, but it tries. Pascal programmers were easy to find at the time (before C took over). That’s what we used, so there was no pressure to switch.
When we finally did switch, it was to an early C++, the antithesis of FORTH. That was an attempt to make Windows 3.1 easier to deal with. Yeah, right.
AstroLadsays
@6: I much prefer RPN calculators but not RPN “compilers”.
I bought an HP-35 ~1973 after a late session doing astrophysics problems with a slide rule and getting different answers each time. I paid $495 for it at the university bookstore the next day, but got $100 rebate from HP a few months later. It still worked when I turned it on a few years ago. The only problem, aside from VERY dead batteries, is that the LEDs are only visible at midnight, on a moonless night, at the bottom of a coal mine, with your head in several layers of burlap bags. Even then you have to squint hard.
Robbosays
@8 I have an HP11C that my dad bought me for college in 1985. It’s right at my desk now. I don’t use it too much because some of the keys are intermittent and mess up calculations.
I also have his HP35 that he got in the early 70s. You are correct about the LEDs!
Remember some “learning friendly” language I was supposed to work in for an online course. It was weird, since it expected you to copy-paste images into the code. Just give me straight text so I don’t have to learn a new method of typing.
stevewatsonsays
@9: Ah yes, ye olde RPN vs. algebraic wars, which roughly corresponded to HP vs. Texas Instruments. Since I was given a TI for Christmas in my last year of high school (and so was my then-GF-now-spouse), that’s the side of the argument I wound up on.
Weirdly, I’ve now got calculator apps that seem to be neither.
@8: One of my prized keepsakes is the slide rule that got me through high school in the 1970s, which is the one that got my father through grammar school and university in the 1930s. I was pretty damn good with it at the time. Universities were allowing calculators by the time I got there, but I took it with me to all exams, in case the battery died.
Still got my old TI-83 from my high school days. I should get some batteries and see if it still works… Anyone ever try running Doom on one of them?
acroyearsays
I never coded forth for any practical or educational purpose. But I did do a bit of “Multi User Forth” programming for a MUD system (MUCK) in the late 80s, until the machine hosting the game (like so many) got repurposed by the department or administration and the game removed.
Dr. Pablitosays
One of my first tasks as a research lab flunky was to rewrite/debug the Forth code which did data acquisition. It was … not fun. And then mastering big-endian versus little-endian transfers and becoming the guy later who would straighten out the youngsters in languages and hardware yet to be born.
jacksprocketsays
In FORTH, the joke gets you. In my callow naivety*, back around 1980, when microprocessors were beginning to percolate into the small firm I worked for, I had the misguided idea that FORTH could be a sort of MSI bridge between the LSI of assembler (and raw byte poking) and higher level languages like Pascal (p-code) or C. For a start, you just had to buy the book and poke the core in by hand, then it was supposed to grow itself. And proper compilers cost a fortune. We did manage to get the push, pop, add and subtract to work, but at that stage the boss called time on it and we stuck with assembler (6800).
*i.e. long before my senescent naivety.
Pierce R. Butlersays
C’mon all you Scotspersons – got any good lines about the Firth of Forth or its related river?
Oy, yes — I was tinkering with Forth, then discovered that 6800 assembler was doing similar things, but much faster. Programming that stuff got you acquainted with stack logic real fast.
For those unfamiliar with Forth, I recently came across this (very) deep dive into the language and the philosophy behind it.
Chuck Moore, Forth’s creator, is still programming at the ripe old age of 87, though a video from late last year showed him having trouble with his Forth system on the latest Windows:
I dabbled a little in Forth, but never really fell in love with it. I like RPN much better on my HP-45 calculator (an expensive graduation present in 1974).
Kevin Karplussays
not “I Polish Notation <3” but “I Notation Polish Reverse <3”
Kevin Karplussays
If you wanted Polish notation, it would be “❤️ I Polish Notation”.
numerobissays
I only used forth as its postscript dialect. Useless knowledge now that the world has turned to using PDF instead, but occasionally I’d do edits in a document by changing the forth program that described the document.
fredbrehmsays
I played with FORTH a little bit on a S-100 based Z-80 computer (remember those?). FORTH was much more than an RPN kind of language. It allowed new language words to be defined.
From Wikipedia: “Words can be defined, tested, redefined, and debugged without recompiling or restarting the whole program. All syntactic elements, including variables, operators, and control flow, are defined as words. A stack is used to pass parameters between words, leading to a Reverse Polish notation style.”
The ability to define words that were recursive using the RECURSE keyword, and to redefine words on the fly meant that only the best and most clear-headed programmer could write programs that could be understood by someone else.
It was a write-only language.
David Heddlesays
When I am in a cruel mood and a student forgets their calculator and asks to borrow mine during a quiz or exam, I like to hand over my HP 15C* and watch them search for the ‘=’ button.
The single greatest calculator ever made. Mine is 43 years old!
cheerfulcharliesays
My first computer was a Sinclair ZX-51. Poor the pieces out of the box and grab a soldiering iron. I got a Forth system but the Sinclair was far too unsuitable for Forth. Too little memory and a cassette system unsuitable to run Forth.
dschultzsays
@26: My first computer was an Elf, built from the plans in Popular Electronics.
I was working on writing a version of Forth for it when I discovered that the Forth Interest Group had listings available. I have used Forth occasionally ever since. Including porting a version of eForth to the ARM and MSP430 architectures.
Jenora Feuersays
Yeah, I’ve done a little Forth, and a little Postscript. Actually created a script for our backup tape system at my old company (30 years ago, using Exabyte tapes for backups) that would automatically create a Postscript file that would print out a box liner for the cassette boxes with the dates and sizes of the backups stored on that tape.
And as acroyear points out above, a number of MUD/MUCK muitl-user chat/game setups from back in the 1990s use a form of Forth called ‘MUF’ as an internal programming language, and some of those are even still operating. I’ve still got some of my running MUF code on a few of them.
DanDaresays
I joke get.
I was also big on z80 and 6502 assembly language,then later C.
I it got!
i aloud laughed
I Forth from my window see.
Never used the language, so it took me a minute, but I got it. (Maybe helps that I’ve been trying to teach myself Latin, where the verb often comes last? “Ego Forthum amo”)
Once upon a time I took an engineering graduate course that required programming. Random variables and noise. The professor stated that he didn’t care what language we used, so I used Forth. This worked very well.
At one point I had occasion to visit him in his office and I noticed that he had a list of programming languages posted. With comments for each. I forget what it said about Forth but I assume that for BASIC it had the usual causes dain bramage.
Got it. Back in college (1970s) I had friends who had RPN calculators. Not my favorite.
Never used it. I looked at it multiple times, but I never had a system so resource limited that it made sense. Then there would have been the trouble to find 6-8 programmers who either knew it, or could learn it quickly. FORTH is perhaps not quite as bad as APL for being write-only, but it tries. Pascal programmers were easy to find at the time (before C took over). That’s what we used, so there was no pressure to switch.
When we finally did switch, it was to an early C++, the antithesis of FORTH. That was an attempt to make Windows 3.1 easier to deal with. Yeah, right.
@6: I much prefer RPN calculators but not RPN “compilers”.
I bought an HP-35 ~1973 after a late session doing astrophysics problems with a slide rule and getting different answers each time. I paid $495 for it at the university bookstore the next day, but got $100 rebate from HP a few months later. It still worked when I turned it on a few years ago. The only problem, aside from VERY dead batteries, is that the LEDs are only visible at midnight, on a moonless night, at the bottom of a coal mine, with your head in several layers of burlap bags. Even then you have to squint hard.
@8 I have an HP11C that my dad bought me for college in 1985. It’s right at my desk now. I don’t use it too much because some of the keys are intermittent and mess up calculations.
I also have his HP35 that he got in the early 70s. You are correct about the LEDs!
also, RPN is the only way to go.
I Polish Notation <3? Is that how it would go?
Remember some “learning friendly” language I was supposed to work in for an online course. It was weird, since it expected you to copy-paste images into the code. Just give me straight text so I don’t have to learn a new method of typing.
@9: Ah yes, ye olde RPN vs. algebraic wars, which roughly corresponded to HP vs. Texas Instruments. Since I was given a TI for Christmas in my last year of high school (and so was my then-GF-now-spouse), that’s the side of the argument I wound up on.
Weirdly, I’ve now got calculator apps that seem to be neither.
@8: One of my prized keepsakes is the slide rule that got me through high school in the 1970s, which is the one that got my father through grammar school and university in the 1930s. I was pretty damn good with it at the time. Universities were allowing calculators by the time I got there, but I took it with me to all exams, in case the battery died.
Still got my old TI-83 from my high school days. I should get some batteries and see if it still works… Anyone ever try running Doom on one of them?
I never coded forth for any practical or educational purpose. But I did do a bit of “Multi User Forth” programming for a MUD system (MUCK) in the late 80s, until the machine hosting the game (like so many) got repurposed by the department or administration and the game removed.
One of my first tasks as a research lab flunky was to rewrite/debug the Forth code which did data acquisition. It was … not fun. And then mastering big-endian versus little-endian transfers and becoming the guy later who would straighten out the youngsters in languages and hardware yet to be born.
In FORTH, the joke gets you. In my callow naivety*, back around 1980, when microprocessors were beginning to percolate into the small firm I worked for, I had the misguided idea that FORTH could be a sort of MSI bridge between the LSI of assembler (and raw byte poking) and higher level languages like Pascal (p-code) or C. For a start, you just had to buy the book and poke the core in by hand, then it was supposed to grow itself. And proper compilers cost a fortune. We did manage to get the push, pop, add and subtract to work, but at that stage the boss called time on it and we stuck with assembler (6800).
*i.e. long before my senescent naivety.
C’mon all you Scotspersons – got any good lines about the Firth of Forth or its related river?
Oy, yes — I was tinkering with Forth, then discovered that 6800 assembler was doing similar things, but much faster. Programming that stuff got you acquainted with stack logic real fast.
For those unfamiliar with Forth, I recently came across this (very) deep dive into the language and the philosophy behind it.
Chuck Moore, Forth’s creator, is still programming at the ripe old age of 87, though a video from late last year showed him having trouble with his Forth system on the latest Windows:
https://youtu.be/MvkGBWXb2oQ
[great article, Cat Mara]
I dabbled a little in Forth, but never really fell in love with it. I like RPN much better on my HP-45 calculator (an expensive graduation present in 1974).
not “I Polish Notation <3” but “I Notation Polish Reverse <3”
If you wanted Polish notation, it would be “❤️ I Polish Notation”.
I only used forth as its postscript dialect. Useless knowledge now that the world has turned to using PDF instead, but occasionally I’d do edits in a document by changing the forth program that described the document.
I played with FORTH a little bit on a S-100 based Z-80 computer (remember those?). FORTH was much more than an RPN kind of language. It allowed new language words to be defined.
From Wikipedia: “Words can be defined, tested, redefined, and debugged without recompiling or restarting the whole program. All syntactic elements, including variables, operators, and control flow, are defined as words. A stack is used to pass parameters between words, leading to a Reverse Polish notation style.”
The ability to define words that were recursive using the RECURSE keyword, and to redefine words on the fly meant that only the best and most clear-headed programmer could write programs that could be understood by someone else.
It was a write-only language.
When I am in a cruel mood and a student forgets their calculator and asks to borrow mine during a quiz or exam, I like to hand over my HP 15C* and watch them search for the ‘=’ button.
The single greatest calculator ever made. Mine is 43 years old!
My first computer was a Sinclair ZX-51. Poor the pieces out of the box and grab a soldiering iron. I got a Forth system but the Sinclair was far too unsuitable for Forth. Too little memory and a cassette system unsuitable to run Forth.
@26: My first computer was an Elf, built from the plans in Popular Electronics.
I was working on writing a version of Forth for it when I discovered that the Forth Interest Group had listings available. I have used Forth occasionally ever since. Including porting a version of eForth to the ARM and MSP430 architectures.
Yeah, I’ve done a little Forth, and a little Postscript. Actually created a script for our backup tape system at my old company (30 years ago, using Exabyte tapes for backups) that would automatically create a Postscript file that would print out a box liner for the cassette boxes with the dates and sizes of the backups stored on that tape.
And as acroyear points out above, a number of MUD/MUCK muitl-user chat/game setups from back in the 1990s use a form of Forth called ‘MUF’ as an internal programming language, and some of those are even still operating. I’ve still got some of my running MUF code on a few of them.
I joke get.
I was also big on z80 and 6502 assembly language,then later C.