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?

  • Proudly Green@feddit.ukOP
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    3 days ago

    The Java thing sounds totally uninteresting

    Again, about fundamentals. I actually wanna do python since is seems more “fun” but I wanna get all the basics down. And I did read after you have learned the harder languages, learning other languages comes much easier.

    But I’ll look into Haskell. Thank you!

    • solrize@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      3 days ago

      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.

    • NightFantom@slrpnk.net
      link
      fedilink
      arrow-up
      2
      ·
      3 days ago

      In university we had c++ and python courses alongside each other, and I currently get paid to write python. I honestly believe my knowledge of c++ (and of course the rest of the courses which went deeper into cpu architectures and data structures and whatnot) makes me a better python programmer, because of the deeper understanding of what goes on under the hood.