“Algorithms + Data Structures = Programs” was. classic for me. Discovered it in my first year of university back in 1984, and he influence my thinking more than I realised at the time.
Regarding your explanation of incremental design & refactoring I would love to know whether you had a rational discussion about it. I can relate to both points of view. IMHO it is not so much a preference or choice but rather (partly) due to differences in ability. If one cannot do it in one go, then etcetera. Did Wirth show no commiseration for lesser (design) gods? ;-)
I think Prof. Wirth's position partly comes down to ability, he really was just that much better than most folks today. It also comes down partly to scale. His systems were small by today's standards, although not in complexity. It also comes down partly to rate of change. The slower the target moves, the more leverage there is in aiming before you shoot.
My philosophy: Work directly with the best. Teach those who are ready and hunger to learn. Share with everyone. Avoid those that just want to muddle through or ride my coattails.
Not everything that I do needs to be exceptional. But I'll make the choice as to which do or don't, never delegating it. If the organization disagrees, then I'm in the wrong organization.
Completely by chance, Pascal has been the first programming language that I had learnt, a few decades back. This was during my 'PG Diploma in Software' course and I had no idea about what a career in programming meant. But, the core thinking as a programmer - whatever little I have - was moulded irreversibly by Pascal. My gratitude, Prof. Wirth. May you rest in peace.
Regarding 'After I had given an impassioned explanation of incremental design & refactoring, he paused, looked at me with those eyes, and, “I suppose that’s all very well if you don’t know how to design software.”'
Well, that was my first impression of XP too.
But I became convinced, by practice and observation.
So I really think that you ended up right about that, all along, and he was mistaken.
I never met the man, but I certainly appreciated his work.
While I "came at it" from BASIC, and multiple assembly languages, and C, when I saw PASCAL, I immediately saw the value of it. Sure, it's significantly more tedious than C to violate the memory model and do dangerous things. But that was intentional, and a good thing.
His contributions to the industry will always be remembered. And admired.
Liked the episode you flue with THE Wirth, and Mic. Drop. The language I first learned was (Turbo) Pascal. and then moved to C. I felt scary when I write in C! I can almost do anything and i'd shoot myself in the feet!
Definitely one of the greats, although my main encounter with him was as when he was a visiting professor and started off his talk on Oberon with a slide that had a picture showing a road labelled "The Road to Progress", which was blocked by a giant rock labelled "Unix". And then he went on to talk about how the Oberon system relied on cooperative multitasking. It was hard to take him as seriously after that; at least he seemed too much an idealist.
Despite I never had the opportunity meeting him, I was deeply inspired by his work. His fight against bloatware, his focus on the essentials, that all lead to my mindset regarding software engineering. Rest in Peace. 😔
“Algorithms + Data Structures = Programs” was. classic for me. Discovered it in my first year of university back in 1984, and he influence my thinking more than I realised at the time.
Regarding your explanation of incremental design & refactoring I would love to know whether you had a rational discussion about it. I can relate to both points of view. IMHO it is not so much a preference or choice but rather (partly) due to differences in ability. If one cannot do it in one go, then etcetera. Did Wirth show no commiseration for lesser (design) gods? ;-)
I think Prof. Wirth's position partly comes down to ability, he really was just that much better than most folks today. It also comes down partly to scale. His systems were small by today's standards, although not in complexity. It also comes down partly to rate of change. The slower the target moves, the more leverage there is in aiming before you shoot.
My philosophy: Work directly with the best. Teach those who are ready and hunger to learn. Share with everyone. Avoid those that just want to muddle through or ride my coattails.
Not everything that I do needs to be exceptional. But I'll make the choice as to which do or don't, never delegating it. If the organization disagrees, then I'm in the wrong organization.
Really fine tribute. Thanks, Kent
Excellent piece! Thanks for sharing, Mr. Beck.
Completely by chance, Pascal has been the first programming language that I had learnt, a few decades back. This was during my 'PG Diploma in Software' course and I had no idea about what a career in programming meant. But, the core thinking as a programmer - whatever little I have - was moulded irreversibly by Pascal. My gratitude, Prof. Wirth. May you rest in peace.
Regarding 'After I had given an impassioned explanation of incremental design & refactoring, he paused, looked at me with those eyes, and, “I suppose that’s all very well if you don’t know how to design software.”'
Well, that was my first impression of XP too.
But I became convinced, by practice and observation.
So I really think that you ended up right about that, all along, and he was mistaken.
I never met the man, but I certainly appreciated his work.
While I "came at it" from BASIC, and multiple assembly languages, and C, when I saw PASCAL, I immediately saw the value of it. Sure, it's significantly more tedious than C to violate the memory model and do dangerous things. But that was intentional, and a good thing.
His contributions to the industry will always be remembered. And admired.
Liked the episode you flue with THE Wirth, and Mic. Drop. The language I first learned was (Turbo) Pascal. and then moved to C. I felt scary when I write in C! I can almost do anything and i'd shoot myself in the feet!
Definitely one of the greats, although my main encounter with him was as when he was a visiting professor and started off his talk on Oberon with a slide that had a picture showing a road labelled "The Road to Progress", which was blocked by a giant rock labelled "Unix". And then he went on to talk about how the Oberon system relied on cooperative multitasking. It was hard to take him as seriously after that; at least he seemed too much an idealist.
Despite I never had the opportunity meeting him, I was deeply inspired by his work. His fight against bloatware, his focus on the essentials, that all lead to my mindset regarding software engineering. Rest in Peace. 😔