Can one be too dumb for programming?

stirner@lemmy.ml to Programming@programming.dev – 97 points –

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.

87

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.

1 more...

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.

Yes. But are most managers too dumb to figure out that you can't program? Also yes.

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).

1 more...

You'd be surprised how little math is involved in programming that doesn't require it. A significant majority of programming is simply managing conditionals. For example: "when the door opens, turn on the light."

Math comes into place when you need it, and hardly ever comes as a surprise. Additionally, solved problems are generally kept in libraries. For example, you don't need to calculate a sum; simply tell it to calculate a sum for you, because this is a solved problem.

What you're already running into is called "impostor's syndrome." You believe that you are not capable of something to some degree, even though reality says otherwise. You haven't tried your hand at programming, so why worry now? You're inventing problems for yourself before you even got a chance to start.

Just go for it and see what you think. If you don't enjoy it, no biggie. If you do enjoy it, keep going. No obligations 👌

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.

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.

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.

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.

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.

Nah, no need to worry. I've got a friend that was bad at math and therefore dismissed a career as programmer initially. Eventually, he just couldn't ignore how much programming interested him and did start a Bachelor's degree in Computer Science (after disliking his first year of Finance). A couple of years later and he's the proud owner of a Master's degree in Computer Science while still being relatively bad at math, but it didn't stop him. Nor should it stop you.

I'm glad it worked out for your friend! However, I've got to know, why did they choose to pursue Finance of all things if they didn't like math??

Since childhood, they wanted to become the head of a bank; this wish -however- was more rooted in the (childish/immature) association that being at that position should mean that they've made it (monetary-wise). So, they started Finance with the belief that it would be the best step to attain that goal. Furthermore, I believe they had misinformed ideas on what studying Finance was at the time 😅,

You can be but it's very rare to find someone that is.

For programming I always tell folks you need 3 skills: adaptability, self-reliance, and strong problem solving (thinking outside of the box, etc)

The most lacking skill I see new students is self-reliance. Learning to do your own research, knowing when to ask for help and when not to, etc.

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/

Woah, you feel like an actual programmer? I thought we were all stuck with imposter syndrome forever!

2 more...

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 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.

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.

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.

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.

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.

Go through the book Automate The Boring Things (Python)

Then AFTER figure out your own projects.

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.

No, as evidenced by basically the entire industry. Don't fret it, all you have to do is be smarter than your boss, and that's fucking easy.

Not much to do with maths unless you go into calculation heavy industry. Coding is just problem solving and reading bad documentation 95% 0f the time.

Yes but it's a low bar and failing math in school doesn't mean much. Just try writing programs, be a little stubborn about it, and see how it goes.

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.

I am not particularly good at math myself, but I like to program stuff... If I am any good at it... decide for yourself: https://github.com/matejc?tab=repositories ... anyway, if you have interest of doing something, stop the doubt, just do it.

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

Most common reason for being bad at programming is finding it boring and thinking the tools are needlessly obtuse.

If anything this is a sign of great intellect.

You can definitely learn to program without being great at math. Obviously, depends on what kind of programming.

If you want a computer science degree though? You’ll need the math.

Because of problems at home I skipped maybe 80% of high school and lucked my way into college. I’m probably as dumb as a programmer can be but still do it professionally.

I hate the “if I can do it anyone can” remarks but in this instance it’s totally true

I failed math 3 years in a row in high school and I made plenty of minecraft clones using nothing but logic and basic algebra. Math isn't as important to programming as people say, I still can't do division or multiplication on paper, but in a program, I can make it do that for me.

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?

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.

Keep in mind that many math teachers are incompetent at their jobs - some of that may have had little to do with you.

Though you are correct that math does involve patience, a willingness to fail often until you eventually get it right, and a logical progression of steps where at each stage you keep track of the results of previous steps.

I'm saying that you can most likely do it! Though it may be frustrating, especially at first, while you sharpen those skills that math should have taught you but bc of cheapening out in education, you may have skipped over. It's all up to you now though... my advice is that even if it takes you 10 to 100 times longer than someone else to do some little thing, so the fuck what, the important thing is that you can do it! (And if you practice, it gets a heck of a lot easier over time) I love this quote (from C.S. Lewis):

Don't judge a man by where he is, because you don't know how far he has come.

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.

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.

I suck at math and I know programming fairly well. It's more about logic and order of operation than anything. Knowing when to add, subtract, multiply or divide. At least when it comes to math knowledge needed. I feel like most people, even the worst at math, know when to use certain operations even if they couldn't solve the equation they wrote.

You doing C++? Avoid.

You doing basically anything else? You'll prob be fine with regards to math.

Primary and secondary school math is mostly arithmetic and memorisation. It's not until late high school and university when you get to do real math, which is a study of logic and proofs. If you were horrible at math in school, you might still have the makings of a great mathematician.

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.

"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.

I'm starting to believe I am. Been at this for a year and I still don't understand how to use methods like .filter() or .map() despite reading and practicing, it's all just smashing the keyboard until it works. I know some other devs will come in and joke they do the same thing but no, I feel truly lost when trying to figure this out.

It took me a long time to really grok iterative methods like this, but once it clicks, you will absolutely know and feel like you have unlocked a new super power.

It starts with completely understanding that you are just passing functions as arguments, and those functions are being invoked, in a loop, for each item in the collection. Once you have that concept internalized, you should then learn the difference between filter, map, reduce, etc. The general difference boils down to: 1. How the iterator function changes the value being iterated over (most don’t) 2. What does the iterator function itself return (i.e. map itself, not the function passed into map. map and filter both return a new list, reduce returns the data structure being reduced into)

I would skip trying to understand reduce at first, though it’s the method you can implement all other such iterative functions with. The derivations like map and filter are just easier to start with.

And again, seriously, it took me like 2 years to completely internalize all of this, even after CS classes.

It will come in time, promise. I had a REALLY hard time understanding recursion until I started using it more

I have over a dozen years of experience as a software engineer and I started learning Scala and monads recently for a new job. I've come to the conclusion that monads are terrible and make things more difficult despite the on-paper description. Don't worry about it, you're much more competent than you think.

I'd like to believe that, I really would but I can't when it takes the better part of 2-3 hours of frustration just trying to figure out how to reverse a string before just doing a for loop and going over each individual character, only to find out all I had to do was something stupid simple like str.split().reverse().join()

But now you know for next time! Everything is a mystery, until you figure it out.

I've mostly reached a point where I'm not always having to go back a look up documentation, but for some reason array methods still get me.

Every. Single. Time.

Find something you want to create in Lisp then do it! You will face problems, but you will always find solutions online and that's how you will learn and good at this. Anyone can learn I think, it's a matter of motivation like everything else, and having a goal helps a lot.

Programming is all about understanding relationships. You make a thing. Great. How do you identify thing? How do you reuse thing? You identify what it is and what it does. Do other things do what your thing does? Great! Make an identifier for that shared ability. Now you can call the shared identifier with other things and so on...

Anyways, I sucked at algebra which seems to be the most commonly identified issue with those of us "bad at math". I have never used more than basic algebra (something + something = something aka x + y = z). Maybe in 50s and 60s when programming was extremely hard you needed to be good at math, but that's absolutely not the case any more.

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.

No unless you're terribly bad with basic algebra and discreet math. When people that interested with programming say they're bad at math, they usually mean they're bad with calculus.

You don’t need to know math or physics to build a house. Sure, it can help if you know those things, but it’s not essential.

Same goes with programming. Math and programming are two separate skill sets, but knowing one can probably help with the other.

Also, a question for you. Why do you want to do Common Lisp? If you’re skeptical about your abilities I recommend to start with a more common programming language (like Python, Java, C#). Easier to find good learning resources.

I've often thought that I am.

I find that I understand most of the things when I sit down and do a lesson or exercise, but the problem I have is that I don't stick with it. The gulf between where I am and what constitutes useful programming feels insurmountable, and it drains the motivation right out of me until I wander off and forget all about it.

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.

No, I don't think so.

It just takes a bit longer for some to grasp certain concepts of a programming language. If I think I need more time I try to solve an issue for my own projects first. When I need a thing for work, it won't be the first time anymore I see a particular problem and deal with it faster.

I consider myself an average programmer, but I am also proud of the programs that do some valuable things for me and I can rely on. You can always go back to your old code and optimize it as soon as you learn new things.

I have respect for those who seem to program only at work and don't show when they are in trouble (stressed because of deadlines), but in the end their code works, too, after it came back from the second review.

I used to hate statistics classes in college since they were very focused on what the formulas were and how to do them manually. It was tedious and boring. However, in my Master in Data Science I ended up loving those classes. It was no longer what the formulas were and how to make them. The computer did all that for us in a single function. It was about how to apply them, what logical conditions are needed and how they can break. When moving away from the numeric side of math into the symbolic and logical side I loved it lots more. That may be the case with you

It’s pure logics and some maths. I suck al logics so I’m not good at programming. But anyway I try to learn to do basic stuff. I won’t use the word “dumb” tho.

The machine does exactly what you tell it to. That's the agony and the ecstasy. All problems in computer science are breaking goals down into things you can do, and then describing them correctly so that they actually happen. The former is what makes programmers feel like geniuses. The latter is what makes programmers feel like complete idiots... over and over and over.

Coordinate systems are my arch-nemesis. I try converting from one to another by reasoning through the steps, and get complete nonsense. Then I see where I had something backwards, and fix it, and get even worse nonsense.

What determines if someone is cut out for programming is whether they can say "fuck it" and try every possible combination of steps until something looks right, and then build up from that until nearly everything looks right. It's like a puzzle game created by your own stupidity. You occasionally have to admit you have no goddamn idea why something works, even though the whole project depends on it, and you're the one that wrote it. You can't worry about it. You'll go crazy. Just solve the problem.

This is a cult that talks to rubber ducks and collects mantras that contradict one another. Because it works. You don't have to feel smart. You just have to make the thing do the thing, and convince yourself that it's not-doing-it because of something you did. If you find yourself staring at six lines of code and repeating "this should work!" until you realize it should be five lines of code - that's not being too dumb to be a programmer. That's what being a programmer is.

Programming is a lot more about logic than math. If you’re good with logic, you’ll be good with programming. All the mathy bits you can do with libraries or ask for help.

Depending what you don’t like about math, it might or might not be an indicator. If you like problem solving and understanding why math works the way it works, but hate the rote repetition a lot of schools use to teach it, then you’ll fit right in. That’s how I was at that age. (Disclaimer: I’m old now. They’ve changed the way they teach math a few times I think. I’m not sure if my experience is directly comparable to kids in school these days)

Similarly, don’t look at schools that teach Computer Science and conflate that with what it’s like to be a developer. Most real dev work is totally different. CS fundamentals help at times, but aren’t as big of a deal as CS programs would have you believe. (Again, I think there’s a wider variety of educational options these days too. In my day you had to get a CS degree just to get a recruiter to talk to you, even though it was mostly inapplicable).

Why are you interested in learning lisp? Some hobby that requires it? A potential career? Tell us more about the career and maybe we can share knowledge about how mathematical it is.

Try start with How to design programs 2nd which has a online version. The authors believe everyone could have fun programming and so am I.

Most of the time, you just don't need that much math to write codes and to be a good application developer.

Unless you want to go into advanced physics or math as a career, programming is not math heavy at all. Graphics programming uses a lot of math but it’s mostly vector math, matrix transformations and trigonometry.

I had bad grades in maths. I do programming myself. Not for a living but out of passion.

They're not necessarily related one to another. Sure, there is maths involved, but it's not integral. What is integral, is digital logic. That is the most fundamental aspect.

I feel you, OP: when I started college I was afraid too that I was too bad at math for programming, but it turns out you just have to be good at logic, understanding how things work, breaking down problems and finding solutions, all of which have nothing to do with math ;)

Depends on what kind of programing your doing and what kind of projects your working on.

As a person who isn't great a programming, has no real use for it in my daily life and forgets everything I've learned, and has pretty much given up on trying to remember what little I ever knew I was able to make a program that used Excel, an Excel compatible version of a grocery store's main supplier's invoices, and USB barcode scanner to greatly speed up checking in the 10+ pallets of stuff that would come in three days a week.

Pretty much the only math I can remember needing to use was "add +1 to value stored in incrementerVariable".

Also, as far as programming goes, you can be bad at math so long as you can remember that there is a formula to do a thing. Nobody is expecting you to remember a pile of equations, only that they exist and how to look them up when you need them.

You might have to learn and work slower, and spend more time learning any underlying math, but no, I would reject the idea that someone doesn't have the mental capacity to code.

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.

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.

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.

To be fair, the ternary operator can get messy.

Have you even heard of systemd? Of course you can't be too dumb for programming. Be lucky enough and you can build the cancer that will slowly grow and eat a hundred distros.

ELI5?

babyrage

systemd is an init system that is super popular because it is so not shit and does what people want, and has adjacent projects that interface with it nicely

some people want more variety but put their effort in an unproductive direction

How does a great popular system has anything to do with "dumb"?

It's that unproductive direction content. It doesn't. Some people just want to hate things.

Yes. Some people are too dumb to eat without someone's help.