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.

  • AFK BRB Chocolate@lemmy.world
    link
    fedilink
    English
    arrow-up
    39
    ·
    6 months ago

    Title question first: yes, you absolutely can be too dumb to program.

    But as others have mentioned, being bad at math isn’t necessarily a deal breaker, especially if you’re taking about the actual arithmetic part of math.

    What turns out to be key to programming is breaking down a problem into steps and figuring out the logic to do what you want to do. The computer is going to do the actual arithmetic, but you’ll need to tell it what you want to do step by step.

  • hollyberries@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    35
    ·
    6 months ago

    I suck at math and believe that if you can think critically and solve problems, you can program. It is possible to learn how to break down a mathematical formula into its components and have the computer compute. You can’t proof your work on your own at first, but there are tools that can.

    Depending on what you’re doing, you may even learn the math as you go like I did with game dev and vector math. Like any skill, it takes practice.

    • MachineFab812@discuss.tchncs.de
      link
      fedilink
      arrow-up
      1
      ·
      6 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).

  • MagicShel@programming.dev
    link
    fedilink
    arrow-up
    15
    ·
    6 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.

  • CaptainBasculin@lemmy.ml
    link
    fedilink
    arrow-up
    15
    ·
    6 months ago

    Math knowledge is not essential; but really useful in programming as you’re trying to make the computer do calculations of some sort.

    Someone could definitely be too dumb to code though.

  • Lmaydev@programming.dev
    link
    fedilink
    arrow-up
    9
    ·
    6 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.

  • CaptDust@sh.itjust.works
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    6 months ago

    I think it depends what you want to achieve? I learned to program to let the computer do the math for me, it’s worked out pretty well so far. I admit I get jealous of the cool visuals, optimizations, and clearer algos people can build with their math experiences, but it certainly hasn’t stopped me from making useable webpages, apps and arduino projects.

  • eksb@programming.dev
    link
    fedilink
    English
    arrow-up
    8
    ·
    6 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.

  • robinm@programming.dev
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    6 months ago

    Usually when people say “I suck at maths”, it means that they are bad at doing manual calculus. Maths is extremely useful in programming, but it’s absolutely not the same kind of math. I don’t think that the grade you had in math at school will influence in any if you will be good or bad in programming.

  • CADmonkey@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    6 months ago

    I wish I could get my head around programming. I’ve tried learning from books, I’ve tried learning from codecademy, and all I can do is follow the lessons, I don’t understand how I’m supposed to turn all these lines of gibberish into a program that does something. The most common bit of advice I get is “Just make up a project! Find something that you want the computer to do, it’s easy and fun!” And I’m over here like… “OK, how?” It’s like someone pointing to a pile of metal and a welder and saying “Build something!” Sure, someone who knows how to weld can do that, but most people are going to need more information.

    • WalrusByte@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      6 months ago

      You need to pick a project to start out so you have a goal, then from there it’s just google searches for each individual part.

      I started learning in High School because I wanted to create a game. I had learned a little bit of Java from a book my dad gave me, but I was kind of in the same spot as you at first where I didn’t know how to do anything other than follow along with the book.

      But once I sat down with my goal to make a game, and just started Googling stuff, that’s when it started to click.

      Python has easy syntax, so that might be a good place to start. You could google: “Python game library” and it would pull up something like PyGame. Then you could look up “Pygame tutorial” which would give you a baseline on how to set up a window, etc. If you have a hard time with Python fundementals, you could just google “python for loop” or “python functions”.

      That’s pretty much what my learning process looked like: start with a goal, google how to get started, google each problem as it comes up. I still follow that same process to this day, and I have a CS degree now.

      At the end of the day, it’s a skill just like anything else. Just takes practice. I don’t think anyone is too dumb to learn it, but it depends on how much you want it. If it’s not worth the effort for you then you probably never will.

    • NathanUp@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      6 months ago

      Why not try simple scripts at first? You could write a little script in Bash, JS, or Ruby to create folders or text files. Besides the very basic stuff I did on the high school robotics team, my first programming project was when I worked as a print broker and we invested in a digital press. I needed a program to calculate the cost of a print job, so I learned a little BASIC and wrote a program on my TI-98 to do it for me. It would ask a series of questions (eg - paper cost, single / double sided, color / black and white, how many imposed on an SRA3 sheet, etc) and spit out the cost of the job.

      As for how you use the code, say you write a ruby script; to run it, you’d navigate to the script directory in the terminal and type ./scriptName.rb to run it. If you’re using a compiled language, you’d compile it (your lessons would cover how to do this) and then you’d run the resulting binary the same way.

    • hperrin@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      What I tell people is to find something you regularly do manually, and automate it. I download a lot of torrents, then need to rename the many many files so my media server knows what they are. That’s something that can be automated. A perfect project for someone who’s just learning to program.

    • DroneRights [it/its]@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      I think all three of the people replying to you are wrong. They all think you’re having trouble finding a project you want to work on. But I think you’re saying you struggle to understand how the logic of a program fits together into accomplishing anything.

      I think you should follow one of these lessons to produce some example code, and then use the debugger to watch it function line by line.

  • guy@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    6 months ago

    People equate maths to programming, but I think if it more as a creative, problem solving field. Most real world coding problems don’t have a precise single correct way to solve them; it’s more like architecting a building: you have multiple goals and a lot of freedom in how you achieve them and to what degree

  • ninjan@lemmy.mildgrim.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    6 months ago

    What even is “learn how to code” these days? I work in PowerShell, Shell, Docker Compose, and various xml, yml, json config files. Do I code? When I debug a particularly nasty DNS bug using netcat, dig, nsupdate and other tools it certainly feels like when I was coding Java. And when I push a CI-CD workflow to our tools git repo I work in many of the same tools as the Developers. But I’m not even sure I’d call what I do coding.

    That said you can be too “dumb” (hate that word) or rather disadvantaged that you can’t figure out doors and then coding is probably a step too far. But if you can grasp the English language and use it to construct sentence and describe a work task to a colleague for them to perform with it then you can certainly learn how to build at least simpler programs in a programming language, it’s really not all that different. It’s the language of how to tell a computer to solve a task.

  • big_slap@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    6 months ago

    i would say no, as there can be programming you can begin that doesn’t involve math. what I would recommend is to begin your own project by looking to see what you can automate in your life.

    when I was in middle school, I told a teacher I wanted to program when I got older, and she scared me because she said that involves a lot of math. at the time, I hated math, so I avoided programming completely. it wasn’t until I was 24 that I gave it a shot and was so upset at how misinformed I was. I wish I could turn back time, but oh well.

    is there something you do at your current job that you think can be automated?

  • MonkderZweite@feddit.ch
    link
    fedilink
    arrow-up
    5
    ·
    6 months ago

    Let’s see. I don’t like math syntax. And you can hound me with Haskell. But i like Python and Rust and Shell. So i guess, not generally.