diff --git a/2024-01-04-post.md b/2024-01-04-post.md index 0b09033..5a9844c 100644 --- a/2024-01-04-post.md +++ b/2024-01-04-post.md @@ -9,7 +9,7 @@ Niklaus Wirth passed away on the first day of this year. He was one of the most I was privileged to have worked with him as his PhD student, and to have learned a lot from him. In this note I want to write about some of the ways Niklaus influenced my work and my approach to programming. -In fact, if it was not for Niklaus, it's doubtful I would have ended up in computer science at all. My first degree was in Mathematics. I got interested in Computer Science because I was fascinated by compilers and programming languages. The first language I deeply appreciated was Pascal. It was simple and clean, and easy to understand from both design and implementation aspects. Together with a Peter Sollich, a fellow student, I then stumbled upon the source code listings of the Pascal to P-Code compiler. It was amazing that a full Pascal compiler could be written in about 5000 lines of easy-to-understand code. This set in motion our project to write our own Pascal compiler for a new Microcomputer, the [Osborne 1](https://en.wikipedia.org/wiki/Osborne_1). This was a year or so before Turbo Pascal came out. +In fact, if it was not for Niklaus, it's doubtful I would have ended up in computer science at all. My first degree was in Mathematics. I got interested in Computer Science because I was fascinated by compilers and programming languages. The first language I deeply appreciated was Pascal. It was simple and clean, and easy to understand from both design and implementation perspectives. Together with Peter Sollich, a fellow student, I then stumbled upon the source code listings of the Pascal to P-Code compiler. It was amazing that a full Pascal compiler could be written in about 5000 lines of easy-to-understand code. This set in motion our project to write our own Pascal compiler for a new Microcomputer, the [Osborne 1](https://en.wikipedia.org/wiki/Osborne_1). This was a year or so before Turbo Pascal came out. About half-way through the project, Peter discovered another pair of slim yellow-bound research reports from Niklaus Wirth at ETH. One described the language Modula-2, the other the instruction set for the Lilith computer that implemented the language. We were immediately fascinated by both the language and the instruction set, which was both simple and very compact. At the time, saving memory was of paramount importance since our computer had only 54 Kilobytes of usable memory. So we switched the compiled source language to Modula-2 and the intermediate code to a variant of Lilith's code. This compiler eventually became [Turbo Modula-2](https://github.com/Oric4ever/Turbo-Modula-2-Reloaded) for 8 bit computers. We sold it to Borland, but the company did not distribute it under their own name.