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.
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.
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
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.
In most case, you don't need to be good at Math to be good at programming
What about spelling?
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 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.
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.
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 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.
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 ;)
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.
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.
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.
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.
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.
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.
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.
I know I am.
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.
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.
Yes. Some people are too dumb to eat without someone's help.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev