It actually uses a variation of LISP. I know old MIT college courses in Computer Science used to teach it.
The book, “How to Design Programs,” is based on a variation of LISP, which I know used to be taught in college computer science courses.
I have zero programming experience, but I want to learn—not for a job, just to truly understand it.
A lot of modern advice says to start with Python because it’s easier or faster, but I’m not looking for shortcuts.
I want to go old-school. This book teaches programming with a 1990s-style approach. It may not use the latest tools, but I’ve heard it actually teaches how to think like a programmer and builds real logic skills.
Once I finish it, I plan to take the University of Helsinki’s Java MOOC. Again, sticking to fundamentals and learning the core ideas, not just trendy frameworks.
For context, I’m not naturally a math person either—I’m teaching myself beginning college algebra right now. That’s less about going old-school and more because I never had a college education, so I’m starting from scratch across the board.
So, does this sound like a solid strategy? My goal isn’t a career—just a deep, strong foundation to see if I can really do this.
What do you all think?
Java isn’t exactly hard, and it’s not particularly fundamental. It’s just bureaucratic, and Python will be both more enjoyable and more useful. Java was trendy in the 1990s and lingers on because so much Java code is still around. If your goal is to use a serious type system (Lisp and Python don’t have that), Haskell will be far more enlightening than Java. If you want to use the JVM for some reason, Clojure (a Lisp dialect that run in it) might interest you.
For low level fundamentals, you want assembly language! That gives you almost no assistance and you have to do EVERYTHING yourself, organizing the program in your own head. For old fashioned imperative programming with lots of organizational assistance, try Ada.
You will probably have to learn C at some point, but save it for later when it will be easier for you to spot the weaknesses.
Good tips, thanks!