I’ve always flunked at math; and knowing how intertwined programming is with math, I’m skeptical of my ability to learn how to code. Can someone be too dumb to learn programming? If it helps, I’m mostly interested in learning Common Lisp.

  • mhredox
    link
    fedilink
    5
    edit-2
    6 months ago

    I have been programming for years, and although I did minor in math, I can only think of 2 times that I have ever needed any math beyond that of highschool algebra. And those were very niche one-off situations. As others have stated, logic is much much more important, and a good understanding of Boolean logic will take you MUCH farther than any other math related discipline. But even still, logic is, well… logical if you just think about it. You really don’t need to take any courses on it.

    I think the main barrier for entry is that there are simply too many options and different paths to go down when beginning to learn. Also, there just aren’t too many really cool things you can do as a beginner that are truly interesting and will keep your attention. The typical “hello world” exercises are boring as hell and of course people aren’t going to keep being engaged when they’re bored.

    That’s why I usually recommend beginners who want to learn to start with an Arduino, regardless of what their final goal language is. Generally speaking, once you learn one language it’s pretty easy to learn others, as the foundational knowledge is mostly the same i.e. variables, loops, functions, etc.

    What I think is great about the Arduino is that your code produces a physical, tactile response. Usually one of the very first programs you write (which can be completed in probably 10 minutes by a beginner) is making an led flash something like “SOS”. This is leaps and bounds more interesting than something like “hello world” and will usually keep you interested and engaged much longer while learning the basics.

    I started on an Arduino many years back after stumbling upon a Paul McWhorter lesson randomly on Reddit. After becoming pretty proficient with an Arduino, I transitioned over to JavaScript and started learning web development, and I’m now a full time engineer.