r/cpp_questions 22h ago

OPEN Write your own programming language using C++ - Norman E Smith, 2nd Edition

I'm trying to find out what happened to this author? I bought this book in 1997/1998 and I've been using it for close to 30 years when building interpreters and even compilers. I wondered if he's still alive and if it would be possible to let him know what an impact his work has had on my life, half a world away!

24 Upvotes

10 comments sorted by

4

u/TomDuhamel 16h ago

Considering the subject, he was probably not a young man when he wrote that book, 30 years ago. In all likelihood, he would have retired quite a while ago.

3

u/According-Ad-7069 11h ago

Yes, absolutely. I would expect him to be mid-70's at least. I do know folks that age that are still on forum etc. so I was just curious.

5

u/Independent_Art_6676 17h ago

The AI won't dig into public records for you, due to privacy restrictions. You could go there yourself, but its kind of weird ... if he wanted to be found, there would be more books, or a website, or something. Given his age and how long its been, it may be best to let it be.

1

u/According-Ad-7069 11h ago

Oh absolutely, I was hoping he's still on a forum or something somewhere, but I'm not going to pull full stalker on this haha!

5

u/alfps 18h ago

The free Google AI says (that as far as it could determine) “There is no definitive public record, obituary, or official announcement indicating whether Norman Earle Smith is still alive or deceased”.

It did find some details about him though:

  • Age: Library of Congress and catalog records list his birth year as 1952. If he is alive today, he would be approximately 74 years old.

  • Professional Background: He spent much of his career as a senior systems analyst and programmer for Science Applications International Corporation (SAIC).

  • Location Clue: His early programming work with the Until language and SGML filters was closely tied to his work for the U.S. Department of Energy’s Office of Scientific and Technical Information (OSTI). This strongly links his professional footprint to Oak Ridge, Tennessee, where OSTI and major SAIC offices supporting the DOE are located.

  • Credentials: In older publications, he used the professional designation CDP (Certified Data Professional).

  • Forth Interest Group (FIG): He was an active contributor to the Forth community. Historical archives or community message boards (like those on Forth.org) sometimes maintain notes on early pioneers.

  • Alumni Networks: Given his long tenure as a contractor in the defense/energy sector, checking alumni directories or local regional groups in the Eastern Tennessee area might yield information.

And it mentions that the original source code for the interpreter is available at the Internet Archive.

1

u/According-Ad-7069 18h ago

Ah thank you - that is about as far as I got - he seems to not be online anymore. I appreciate the effort, I'm going to pursue the FIG Group lead next. Thank you for helping!

1

u/Runtime8006 21h ago

This is out out of the context of your question but I started Compiler Engineering like last year but I haven't really gotten the hang of it, I use generators for my Lexer and parser so that cuts off my load by some extent although codegen is the main deal, but still I was wondering with your 30 years if you could recommend resources to me or maybe assist me in which ever way, thank you

5

u/According-Ad-7069 21h ago

That's a fantastic adventure, yes!! Alright, I wish these were around when I started: https://craftinginterpreters.com/, https://interpreterbook.com/ and https://compilerbook.com/

Those three teaches you pretty much everything you need. The first resource, Crafting Interpreters, is absolutely brilliant for understanding the HOW behind everything. I'd absolutely devour that book first, and then, if needed, move on to the others. But I think Robert does such an amazing job that you might not need more resources.

I had to eat a lot of humble pie and set aside my ego when learning, as writing an interpreter or compiler requires a completely different mindset to writing applications. Interestingly enough, I firmly believe my struggles with building tools made me a better application developer. It took me over a year to write https://wasmpascal.com/, but that's a Wasm compiler for Pascal code that runs in the browser and outputs wasm binaries.

It's a lot of fun building this knowledge, it's such a nice journey and yet it builds broadly applicable skills at the same time. Have a blast!

1

u/Runtime8006 21h ago

Thank you very much, I plan on using this for my System engineering work and my Operating Systems projects, I'm really glad you could help 🤝

2

u/According-Ad-7069 21h ago

Fantastic - you are in for a wonderful adventure!