The Simplicity of Wirth

While searching for some information about Niklaus Wirth, I ended up on his home page. I must have been there before and I have read a lot of the information there, have some of his books and have programmed in Pascal and Oberon. A thread of simplicity runs through everything he does, and I found (or more likely re-discovered) another example, PICL:

There’s five files on that page, and if you read them all and understood half of it, you would have a pretty sound grounding in hardware and software (and firmware). You might need to include the PIC datasheet to get a full understanding, and the other device datasheets, but that’s just background work. I think Mr Wirth has a hugely impressive, and influential and yet strangely under appreciated body of work.

2 Likes

In a similar vein, here is a very simple language for the 6502. https://dl.acm.org/doi/pdf/10.1145/270941.270947

Nice find. From one of the papers:

The motivation behind this experiment in language design and implementation had been the question: Are high-level languages truly inappropriate for very small computers? The answer is: Not really, if the language is designed in consideration of the stringent limitations.

The compiler was written in the language Oberon. It consists of a scanner and a parser module of 2 and 4 pages of source code respectively (including the routines for loading and verifying the generated code into the PIC’s ROM).

Also:

Programs for computers with 64 bytes of data and 2K of program storage are inherently short; their descriptions should therefore not be longwinded.

1 Like

The PICs that Wirth wrote about in 2008 would have qualified as “retrocomputing” at the time. The 16C84 was already 15 years old when he was using them. While the aims are different, Hernando Barragán’s Wiring (which got co-opted/nicked, mostly uncredited, by the Arduino crew) had been using ATmega chips for teaching interaction design since 2004. Wirth’s choice of such comparatively ancient technology seems odd.

Like all mysterious things Microchip, the PIC16C84 is only showing “end of life” and may still be in limited production.

1 Like

I think the 16f84 stopped being made quite a while ago. I bought a few about 10 years ago to use with the sharp pc850VS, which can program them with an adapter. I looked recently and they are much rather now, and cost nearly £10 instead of the £2.50 I originally paid.

I rather like his LOGIC programming language. Too bad it never made it to real chips.
That I guess is the Europe VS U.S. thinking in computer design.

Yes, Lola and Lola-2 had many cool ideas which made logic design for synchronous systems easier than with Verilog. Wirth even wrote a book about logic circuit design and used it for his lectures a ETH. I spent a lot of time with Lola-2 (see GitHub - rochus-keller/LolaCreator: LolaCreator is a QtCreator based IDE for Lola-2 · GitHub and GitHub - rochus-keller/Lola: This is the Lola-2 parser used by LolaCreator · GitHub) and more is planned to come.

2 Likes