News for hackers. Stuff that matters.
Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by stevekemp on Friday July 18, 2025 @01:20PM (#44607380)
It is not necessary to compile a program, in the general case, before executing it.

Many programming languages parse their program to an AST then walk that AST interpretting as they go. But for BASIC you can parse/execute statement by statement - no need to parse the whole program ahead of time, and certainly zero need to compile to either machine code or any internal representation.

Remember at the time we're talking about 64k was a lot of RAM. Some machines had less.

Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by WalterBright on Friday July 18, 2025 @02:28PM (#44608195)
The parsing, even if line by line as necessary, is still compiling.
Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by vidarh on Friday July 18, 2025 @03:24PM (#44608788)
In 45 years of writing software, I've never before seen anyone call tokenizing a BASIC program compilation. It's decidedly not common usage.
Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by WalterBright on Friday July 18, 2025 @03:42PM (#44608967)
I've been writing compilers for 45 years now. Tokenizing is a big part of every textbook on compilers. To resolve expressions (which are recursive in nature) it would have had to do more than just tokenizing. While this isn't hard at all, it's "parsing" which is also qualifying it as a compiler.

I.e. the basic program was lexing and parsing. It's a compiler. A very simple one, sure, but a compiler.

Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by vidarh on Friday July 18, 2025 @03:56PM (#44609101)
Yes, but tokenization on its own is not compilation any more than whiskers are a cat just because a cat has them.

"Nobody" uses it that way, and language is defined by use.

Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by jacquesm on Friday July 18, 2025 @05:08PM (#44609849)
Compilers generate code in another, usually lower level language that is executed by reading all of the code that could be executed first. Interpreters (such as the BASIC interpreter we are discussing here) read only that part of the code that gets executed and typically call functions rather than that they generate code (never mind JIT). Tokenization prior to interpretation is technically an optional step (it's just an efficiency boost) and is not normally confused with compilation even if there are some superficial similarities.

You of all people should know this, come on.

Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by WalterBright on Friday July 18, 2025 @08:31PM (#44611393)
You and I have a different point of view.
Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by jacquesm on Saturday July 19, 2025 @01:36AM (#44612856)
Of all the hills you could die on this one seems really silly.
Re:CP/M Creator Gary Kildall's Memoirs Released as Free Down... by lproven on Saturday July 19, 2025 @02:43PM (#44618188)
I have to agree. This is a very very odd objection, and it does not match up with my ~40 years of study of this industry, including WB's work.