Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Do You Need To Know A Lot Of Math To Be A Good Programmer?

Discussion in 'Scripting' started by computertech, Jul 8, 2015.

  1. computertech

    computertech

    Joined:
    Feb 17, 2015
    Posts:
    208
    Do you need to know a lot of math to be a good programmer? I mean a lot of math and physic level that is at least grade 12 high school university or over. I have not tried game programming yet because I am still in high school. I am wondering should I take grade 12 high school university math and physic level because it might be too hard for me. My strength is being game artist but I am willing to learn computer science stuff for game programming too.
     
  2. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Do as much math as you can handle. You might not use it all, but a solid foundation in mathematics and the associated logic will be a huge boost for programming.
     
  3. lordofduct

    lordofduct

    Joined:
    Oct 3, 2011
    Posts:
    8,514
    I know many programmers who are horrible at math. And they definitely do just fine.

    But math definitely doesn't hurt, and can do a lot of good.

    Computers are built on the very logic of mathematics, and being able to understand it can help you in understanding whats going on underneath. Primarily with discrete mathematics.

    And if you want to get into games programming, math can also be very helpful. There is quite a bit of geometry and trigonometry in my day to day life of writing code. As well as a good understanding of linear algebra as well.

    But at the end of the day, you could learn the specific parts of these maths that you'll need when you get to them. So I can't say it's required. Just that IMO it's heavily suggested.
     
    supunaa and Kiwasi like this.
  4. hpjohn

    hpjohn

    Joined:
    Aug 14, 2012
    Posts:
    2,190
    I wish I did more math/applied myself more at what i did
     
  5. hammy2747

    hammy2747

    Joined:
    Apr 19, 2014
    Posts:
    19
    I am in high school and so far i have had no problems with programming / designing my games
     
    Lahzar and Kiwasi like this.
  6. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    It's not actually that hard. There are 12 year old devs on the forums.
     
  7. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    I agree with everyone who's said strong high-level math skills are good to have but not mandatory. But to be a good programmer you have to always be willing to learn more math. You never know when you'll need more physics for a space sim, or more statistics or linear algebra for an AI system. So that means nothing's holding you back from making games right now, as long as you're willing to keep learning whatever you need to get the job done.

    Knowing how to write is just as important as knowing math. Half of programming is communicating with other people -- or even communicating with yourself months after you've written the original code.
     
    landon912, Lahzar, Kiwasi and 2 others like this.
  8. Boz0r

    Boz0r

    Joined:
    Feb 27, 2014
    Posts:
    419
    Advanced math is more if you want to do computer science stuff, like making fancy algorithms and stuff like that. A good understanding of geometry is very valuable, though.
     
    landon912 likes this.
  9. opatoes

    opatoes

    Joined:
    May 15, 2014
    Posts:
    2
    Some math is helpful, but I am a programming major and don't use much math beyond pre-calculus level things.

    Geometry is very useful in Unity; you don't need to know all the formulas they teach you since you can look it up, but an understanding of geometry can make many problems not happen early on.

    Understanding matrices is a must when it comes to arrays and such, and understanding the logic makes things easier, but you will probably never do any matrix math that you might learn in pre-calc.

    Basically, understanding the concepts makes things easier, but actually being good with numbers isn't important.

    You have all the skills you need to start right now, and I definitely recommend trying out some of Unity's tutorials and expanding on them. (The Unity Ball tutorial is particularly good because it's really easy to expand on, but teaches you some of the basics!)
     
  10. SkillBased

    SkillBased

    Joined:
    Aug 11, 2014
    Posts:
    141
    When I was in University I wasn't studying Computer Science but hung around a few Comp Sci people and noticed that they weren't really much into math classes as an auxilliary to their main study (which was a surprise to me). I took a few formal logic classes back then and, looking back, it seems a lot more analogous to the thought process I employ today when programming than any math class I ever took. All of those Comp Sci people took atleast one formal logic course if I recall correctly, but its not necessary at all to understand programming.

    With that said, all programming involves some basic math. So if you have a grade 10 math level I would say that is more than suitable for most tasks. If you are doing something directly related to applied mathematics (statistics, systems, theoretical sciences) then yeah you probably should have a stronger grasp on the underlying math.

    As far as Unity is concerned, most of the tricky math is already bound up in the physics engine so, lucky for you, you mostly just need to know how to tap into it rather than model physical behaviour from scratch.
     
  11. eisenpony

    eisenpony

    Joined:
    May 8, 2015
    Posts:
    974
  12. sluice

    sluice

    Joined:
    Jan 31, 2014
    Posts:
    416
    @eisenpony, I was about to link to that thread, you beat me to it!

    Short answer: No
    Long answer: it's complicated and already gave my opinion on the linked thread...



    Joke aside, you need a minimum of mathematics skills and knowledge to succeed as a programmer.
    (which most people have)
     
  13. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,462
    You'll be fine understanding add, subtract, multiply, divide.

    You'll be better understanding algebra, arithmetic and geometry.
     
  14. LeftyRighty

    LeftyRighty

    Joined:
    Nov 2, 2012
    Posts:
    5,148
    imo

    understanding logic trumps understanding math
    google fills in gaps with math
    failing that, forums really help with math
     
    Lahzar likes this.
  15. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    As I said in that other thread, I was led to believe that computer programmers need to know calculus so I took it. Now 15 years into my career and I've never used anything past basic pre-algebra for programming. And I've long since forgotten the other 4 years of math. Waste of time really. I could have been studying a foreign language or something useful.
     
  16. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,294
    This depends on what you're going to do. My general advice about maths is that no matter if you're going to "use" it or not, you're going to get smarter by studying it. Like, general smarter, not just maths smarter. You're spending all of your time learning about logic and solving hard problems. That's brain excercise right there.

    Don't study maths because you will "need it" for something. Study maths because it makes you a smarter person.

    Also, thinking about algebra is pretty much exactly the same as thinking about programming. Linear algebra is helps you with using vectors. Calculus teaches you about how mathematical functions work, which is nice to know if you need them. Statistics helps you not make giant blunders when you look at user data. And so on.
     
    landon912 likes this.
  17. computertech

    computertech

    Joined:
    Feb 17, 2015
    Posts:
    208
    So, you only need extreme math, calculus and vectors and physic, when you are only making some kind of extreme science like electrical and computer engineering. Like making robots and electronic items.

    But I do not really need those yet, because making games can be much more simpler.
     
    Last edited: Jul 11, 2015
  18. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    It's not so much about learning math, it's about learning logic and how to think. Math teaches logic and problem solving skills.

    On the same note, I use skills from Calculus and Differential Equations daily, to do things the right way. (I usually work on tools for fellow developers, but if someone isn't doing this for you, you will have to do it. So it's still relevant.) Math is extremely valuable, but the ability to to think logically, which is taught using math, is so much more important.

    But don't think that you can't do things because you haven't taken these maths, you can learn the math while programming, on an on-need basis. Programming will actually help you in math classes.
     
  19. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,294
    Oh man, I really want to do extreme maths now.
     
  20. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Another way of looking at it is in terms if the tasks you need to accomplish.
    • Do you know what a Vector is?
    • Can you figure out the distance between a character and an enemy?
    • Can you figure out if an enemy is facing the player?
    • Can you figure out a route between the player and the enemy?
    • Can you figure out the force to add to a projectile to take a desired trajectory?
    When you can do all of the common tasks you'll find in game development you probably have sufficient math.
     
    landon912 likes this.
  21. BenZed

    BenZed

    Joined:
    May 29, 2014
    Posts:
    524
    Google knows all the math for you.
     
    Kiwasi likes this.
  22. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Not just math either. Google does a lot of coding for me.
     
    sluice likes this.