Files
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

103 lines
11 KiB
Plaintext

Episode: 3343
Title: HPR3343: The Forth programming language
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3343/hpr3343.mp3
Transcribed: 2025-10-24 21:09:43
---
This is Hacker Public Radio Episode 3343 for Wendy, the 26th of May 2021.
Tid's show is entitled, The Fourth Programming Language.
It is hosted by Brian in Ohio and is about 13 minutes long and carries a clean flag.
The summary is a less than complete history of Forth.
This episode of HPR is brought to you by an honest host.com.
Get 15% discount on all shared hosting with the offer code HPR15.
That's HPR15.
Better web hosting that's honest and fair at An Honesthost.com.
Hello Hacker Public Radio, Brian in Ohio here.
I'm out from under my rock and I'm doing an episode on something that's caught my interest recently and that's the Fourth Programming Language.
I see myself doing maybe two or three episodes, at least three episodes I think on this episode I want to talk about how Forth was invented and then maybe the next episode I'll talk about why and how I'm using Forth.
Maybe the last episode I'll show, we'll go through some learn a little fourth by doing a simple hello world kind of project.
Drawing from a couple of resources from this episode, of course the Wikipedia page, the Color Fourth Github page.
Color Fourth is Charles Moore, the inventor of Forth's current project using colors for syntax in languages.
And some PDF documents, one I found called Forth the early years, I'll put a link in the show for this and then a little bit of history that's shown on Forth Incorporated's website.
So it's to start from the from the Wikipedia page.
Forth is a simple yet extensible language, it's modularity and extensibility permit writing significant programs.
A fourth environment combines the compiler and an interactive show where the user defines and runs subroutines called words.
So this is words as in the length of a of an integer or something like that in a in a language, this is words in the sense of words like language words.
Words can be interactively defined, tested, redefined and debugged without recompiling or restarting the whole fourth environment.
All in syntactic elements, including variables and basic operators are defined as words.
Ideally, running the program has the same effect as manually re-entering the source.
The fourth philosophy emphasizes the use of small, simple words words for bigger tasks call upon many smaller words that each accomplish a distinct subtask.
A large fourth program is a hierarchy of words.
These words being distinct modules that communicate that is to pass data implicitly via stack mechanism.
They can be prototype built and tested independently.
The highest level of fourth code may resemble an English language description of application and it could be any language.
Whatever doesn't have to be English, it could be any language you want to use.
I'd say any human communication language for the words.
And fourth has been called a meta application language, a language that can be used to create problem-oriented languages.
So fourth is an imperative stack-based computer programming language environment originally designed by Chuck Moore.
Its language features include structured programming, reflection, contactative programming and extensibility.
I don't understand everything that's in that sentence, but I do know that imperative means commands.
The fourth is imperative because most words in fourth are commands.
It's stack-based. Fourth has two stacks.
I think a lot of programming languages, especially anything derived from C, has stacks.
The difference between a fourth stack and the stack and the heap and C is that the fourth stack is writing your face all the time.
You control the stack, you have to know what's on the stack while you're programming.
There's good ways to use the stack and there's bad ways to use the stack.
So fourth has two stacks. The first one is the data stack which passes and holds data between functions or between words.
And that one is just called the stack.
And then fourth has another stack called the return stack and it's called the return stack.
And it holds return addresses that are necessary for program flow control.
Fourth is structured making use of subroutines at every step.
You can think of every word and fourth as a function or subroutine.
Fourth is extensible. The language can grow and modify itself creating a custom solution for a programming problem.
So a little bit of history.
Fourth was embedded by Mr. Moore, Charles Moore. He's still alive.
I consider him a pioneer of the early computing programming.
He grew up in an age that bridged the gap between punch card control computers and computers with keyboards and screens at disk drives.
And necessity being the mother of invention. Mr. Moore created fourth over a 12-year period growing from a simple interpreter to a full-fledged operating system.
So fourth, the development of fourth began in 1958 when Chuck Charles Moore, Chuck was a student at MIT.
He had graduated high school from in Flint, Michigan, just north of here, north of where I live here in Michigan.
And as an undergraduate student at MIT, he got a job at the Smithsonian Astrophysical Observatory.
And of course, this during the time of Sputnik and the space race.
And so the need to compute trajectories of satellites and orbital elements and satellites station positions became very important.
And so he developed a program that did these things, but the source code filled two card trays.
It must be a lot. The way people write that sentence and the places I've read it, must be a big program.
And back then, programs, you throw them into a card reader, you go away for a number of hours while your cards were read.
And then you got some output, you know, either worked or didn't work, then you had to read punch cards and run them again.
It was a very slow process.
So to minimize this recompiling time that he was experiencing, he developed a simple interpreter that was built into the main program,
where he could read cards while the program was running to change the program and to change equations in the program.
And this enabled him to compose different equations for several satellites without recompiling.
And so this interpreter was the beginning of fourth and found its roots in APL, an early programming language that I have no idea about and Lisp,
which I do know a little bit about.
I did a book review on how to make your own Lisp. And actually, the Cautou just did a recent Gnu World Order episode on Common Lisp.
A fun program. You should listen to that. I'll put a link in the shutter to that one too.
That's an interesting fact. Chuck could learn to program and Lisp by none other than John McCarthy, its inventor.
Just amazing to think about these guys all, you know, at the time, these brilliant people working together at the early parts of computer programming.
So, more left MIT in 1961. I'm pretty sure he graduated and that's why he left.
And he went to Stanford, ostensibly to study mathematics, but he ended up programming computers there in support of research at the Stanford Linear Accelerator.
Again, he was doing math computations and it was here that his interpreter got its first stack, the data stack.
And fourth began to be recognizable as a computer language with a growing vocabulary and a refined syntax.
He was at Stanford for three or four years. He then went to the East Coast of the United States, to New York City, where he was a freelance programmer.
He programmed in Fortran and Algal and Joviel and PLI and assemblers. And of all those, I only have heard of Fortran and Algal.
I don't know about the other ones. And I do know a little bit about assemblers.
And I think it's his mastery of assemblers that helped move forth and move forth into other platforms so easily.
So, at this time during this 1965 period was the advent of many computers and teletype. And I think this really helped shape fourth as a language providing things like an editor and using a mass storage devices and things like that.
So, he got married and wanting a less hectic life, more left New York City to became a programmer for a major home furnishing company in Amsterdam, New York, which is, I think that's considered upstate New York, kind of north of the city, quite a ways.
And it was there that he worked in Coball and he developed a fourth system that connected the computers that used Coball.
And other connected all these disparate computer systems using to be able to, I think, do inventory control and data input into these systems.
He did this for a while, a couple of years, but in the end, business and fourth did not go hand in hand. He wanted to, he thought they should use one computer system and they decided not to buy it.
So, he left, I think, in a huff because he said he left in a huff. But he left for better greener pastures. In 1971, Moore was hired by the National Radio Astronomer Radio Astronomy Observatory.
And I think it was here that fourth gained its first and maybe its best acceptance. Moore was able to take many different computer systems, program fourth systems on them, and these were used to control radio telescopes and to process data.
So, it could do the whole tangent. It could move the telescopes and take the data in and do data analysis with the fourth system.
It was at this time that the second fourth programmer, best rather, was taught fourth. And she helped, she really think helped mainstream fourth by doing some of the early documentation for the language.
She's written a number of books on how to's and how not to's and fourth. And there's still, those books are still out there.
So, since that time, fourth is imported to many computer architectures. Fourth, virtual machines, very a great deal. Some or all of the virtual machines will be coded in assembler, depending on the performance needs. And then words are added to that fourth virtual machine to grow the dictionary to solve the problem of hand.
Some fourths are hosted by other OSs. An example of this is G fourth. And fourth stability and its ability to be custom built has seen its used in places where high reliability is important, such as space systems.
So, I'll end here the next episode. I'll tell why and how I'm using fourth today. So, it's Brian and Ohio signing off. I just like to remind everybody to go fourth. Take chances. Bye-bye.
You've been listening to Hecker Public Radio at HeckerPublicRadio.org. We are a community podcast network that releases shows every weekday, Monday through Friday.
Today's show, like all our shows, was contributed by an HPR listener like yourself. If you ever thought of recording a podcast, then click on our contributing to find out how easy it really is.
Hecker Public Radio was founded by the digital dog pound and the Infonomicon Computer Club, and is part of the binary revolution at binrev.com. If you have comments on today's show, please email the host directly, leave a comment on the website or record a follow-up episode yourself.
On this, otherwise stated, today's show is released on the creative comments, attribution, share a life, 3.0 license.