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.

  • Captain Aggravated@sh.itjust.works
    link
    fedilink
    arrow-up
    3
    ·
    9 months ago

    Directly answering your question: Yeah you can be too dumb to program. If you cannot read, write or count, you have learning to do before trying programming. I don’t think that’s you, because you were able to put several coherent thoughts together.

    Let’s talk about math class. Because I bet you’re not bad at math, you’re bad at math class, and this is because for the vast majority of students past about seventh grade, math class is so badly designed I’m going to call it an outright waste of time. Right around seventh grade, they throw away stuff like “If you have three pies and five friends, how do you cut the pies so everyone gets the same amount?” and start with “The transitive immutable property of additive inequality” or whatever. "For the rest of your adolescence and your entire early adulthood, math class is now about your ability to memorize and consistently apply completely arbitrary rules that we’re only going to explain to you in nineteen dollar words.

    That meme of 6/2(4+2) or whatever where people argue about whether it comes out to 0.5 or 18 is a symptom of this, because it turns out that meaningless math is meaningless. Funny how it’s never a problem in shop class or science class where the numbers actually mean something.

    Yes, there’s math in programming. There’s math in programming that your math teachers never even tried to teach you because the kinds of people who write school curricula aren’t the kind of people who do things for society. You weren’t taught boolean logic, you weren’t taught base 2 or base 16 math, etc. Find a good tutorial that works for you and you’ll learn it.

    I’m also going to give this advice: Don’t approach it from the perspective of “I’m going to learn a programming language.” Because when you see how big a task that is, you’ll be overwhelmed and quit. Instead, pick a project, something you want to build, and say “I’m going to learn how to make a calculator in this language.” or “I’m going to make a simple game in this language.” You’ll learn the parts of the language you need for that, and get it done. Then pick another project, you’ll find new aspects to learn about. Keep going in that fashion and before long you’ll know how to program.

    • MachineFab812@discuss.tchncs.de
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      I was gonna suggest there might be a “too dumb to program for the profit of others”, but … yeah, even if your pay and code is a financial detriment, we can pretty much promise it’ll be an insignificant portion of the money that company is costing itself. You gotta eat, and practice is practice.

      That said, advice remains the same: program on company time towards a path you don’t care about beyond covering your ass and trying to deliver what’s been demanded(I’m not saying don’t do your best, just keep it to what you can do on the clock), and see that as practice for passion projects on the side. Save a little bit of that no-fucks-given/objectivity for objectively testing and fixing your code - fix it like someone else made the mistake, and you can do it better, but at the same time something must ship(don’t let perfect be the enemy of good).

  • swordsmanluke@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    9 months ago

    Programming success is more closely associated with language skills than math skills.

    Yes, if you need to invent a new algorithm you’ll need math. Computer Science is definitely mathematics heavy.

    But writing a program is all about expressing your intent in a programming language, step by step. It’s about “communicating” with the machine (and your users).

    All this to say, I got C- and D grades in my math courses in college and still became a successful computer programmer. I’m not pushing the boundaries of computation, but if you need an app for your business, I can build that for you in a reliable, tested, and flexible manner.

    Edit: Also! I love Common LISP. It’s such an amazing language and I’m so sad that it isn’t more popular in the industry.

    • jwt@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      9 months ago

      But writing a program is all about expressing your intent in a programming language, step by step. It’s about “communicating” with the machine (and your users).

      And your coworkers, and ‘you a year from now’. For the love of god have some compassion with ‘you a year from now’ and save him a day of debugging.

  • GarlicToast@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    9 months ago

    Being bad at math does not make you dumb. I failed math at school, and thought I will fail computer science.

    I had very hard time in calculus 1 and 2, but appreantly I’m great at discrete mathematics. Introduction to mathematical logic was so fun, I took an advanced course in temporal logic.

    Finished the degrees second in my year. Got into a multidisciplinary masters program and finished that too.

    I’m now the guy that gets the problems others failed to solve in the lab.

    On another note, the person I got to know that is best at learning math, sucks at every other subject in life. He can read math books cover to cover and then use it even a year later. He can’t prooerlly feed him self, not from home made meals his mom packed for him as a student and not shopping from the store. If you can take food from the the refrigerator into your plate without making a huge mess or poisoning your self, you are already ahead in life.

    tl;dr being bad at math doesn’t make you dumb. School level math has almost nothing to do with programming and Uni level math.

  • Lmaydev@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    9 months ago

    80% of programming jobs will only require basic maths.

    A lot of the time you’re glueing together libraries written by much smarter people haha

    It’s more about logic than maths. People absolutely can find it too hard.

  • NostraDavid@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    9 months ago

    Have too low IQ? Yeah sure, I guess.

    Be slower at it than the norm? Absolutely.

    I only learned Algebra by learning programming and through that I learned how to think abstractly (abstract just mean “hiding details” - think of how a child draws a car. You can’t tell it’s colour, brand, model, etc, yet you can tell it’s a car, even though all those details are hidden). Once I got that, I was able to follow videos from MIT that taught me more of the maths, giving me a theoretic foundation for programming. Now I’m doing an Algorithm course (also MIT) and feel like an “actual programmer” (because I felt like a “fake programmer” before that - though that still sometimes returns). After that I intend to learn more about SQL because I’m painfully lacking in that regard.

    Anyway, I’ve been at it since 2005 when I was a 20-something kid, and there’s always something new to learn.

    FYI: I made a dependency graph of a bunch of freely available MIT courses, left is a dependency for stuff on the right: https://thaumatorium.com/articles/mit-courses/

  • MXX53@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    9 months ago

    I think anyone can be too dumb for anything. Personally, there are many things that I feel like I am too dumb for. Specifically things that require artistic ability or emotional thinking. Even as a kid I find subjective topics completely baffling. I always loved math because I was either right or wrong, and I liked science because my hypothesis was some variation of right or wrong. Could I learn an instrument, sure, but by the time I get any good I could have gotten substantially better at something that clicks for me.

    Don’t get me wrong, if you find it interesting and have passion for it, that could probably overcome what you are lacking with enough time.

  • MagicShel@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    9 months ago

    Math is less important than logical thinking which often, but not always, goes with math skills. More important still is intellectual curiosity. Do you like solving puzzles? Do you like the feeling of breakthrough after a frustrating struggle figuring out how something works? Those will take you a long way.

  • Grass@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    9 months ago

    Just try it and decide for yourself. Make the computer do the math. I’ve done tons of angle stuff with quaternions in code and what the fuck even is a quaternion. What even is a matrix or imaginary number. Computer doesn’t care that I don’t know and just does what I tell it to. Results may not be what I hoped for sometimes but I can usually figure out what I did wrong after seeing the differences in the result.

    • jasory@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      “seeing the differences in the result”

      This just means that you are testing against a very narrow output. It’s actually pretty common to run across tests that don’t even check for the likely failure cases, because the developer(s) don’t actually understand the algorithm.

      A common example is prime factorisation, most nontrivial factorisation algorithms (Pollard rho, elliptic curves), don’t guarantee producing a prime factor they simply tend to produce them because they prioritize small factors. Programmers see that their function produces primes for the one or 2 test cases (out of say 2^64) and assume that it works. It generally does, but when it doesn’t you get incorrect results (often undetectably) which poisons all the rest of your calculations.

  • tygerprints@kbin.social
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    9 months ago

    I’ve done basic programming and I find it very tedious and boring. I was good at math in junior and high school, but I really find it isn’t all that math-centric. It’s more a question of how you are at tolerating repetitious data entry.

  • djsoren19@yiffit.net
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    9 months ago

    You can definitely learn basic levels of programming without getting too deep into the math, enough to put together simple programs that can automate small tasks.

    The issue is that math is incredibly important for enterprise level programming, particularly for optimization. Programs you write for yourself can be slow, inefficient beasts that hog way more resources than they need. If you wanted to write code as a job though, you’d need to be able to find the line between speed and accuracy, and that can require some complex math.

  • eksb@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    9 months ago

    Like with anything, you will not know if you are going to be good at it until you spend a lot of time trying and failing and learning. If you enjoy it, just keep doing it.

  • OnlyTakesLs@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    arrow-down
    2
    ·
    9 months ago

    I’m a front-end dev. I play with CSS until it’s close enough to the design I can get someone to sign off on it. I write tests too, and that doesn’t take much. My tech lead is literally afraid of switch statements. I’ve had coworkers not understand for loops and reject MRs. I still prefer using if statements instead of X ? Y : Z.

    I’m pretty dumb, and I make 120k USD writing code.

    Sure it’s possible to be too dumb, but that’s Forrest Gump levels of dumb.