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.
Yes. But are most managers too dumb to figure out that you can’t program? Also yes.
deleted by creator
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.
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.
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.
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.
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.
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.
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.