Hell everyone. This year is my last year in school. Next year I’m going to university to study IT. What I wanted to ask people who work in this field. Do you need physics and do you think a programmer needs physics as a school subject. A lot of people who are not in IT field says that I need physics, but others say that I don’t… I need to make sure that I really don’t need that much physics as everyone is saying…
It depends on what you’re programming.
But generally, no, you don’t need physics; you don’t really need math either, aside from basic arithmetic and logic. (not saying math is irrelevant, or anything).
Far more important is analytical thinking skills(math and physics definitely help with this).
Of course, you could never go wrong with learning physics.
At the moment I have physics subject in school on A level, but I won’t take physics exam. I don’t really enjoy it. Math is way better than physics for me.
If you’re creating a game engine or doing game development, probably.
If you’re working at SpaceX or NASA, maybe.
If you’re doing web development, most likely no.
Okay, chances are you won’t need Physics for whatever branch of IT you decide to study. However, if you can get an A Level in Physics, then do it. Why limit yourself? Once you hit Uni, you’ll discover a million things to study you hadn’t known existed. And having that extra A Level might make all the difference.
The only way I could see physics being significant is if you got into the equipment side of things, but that really gets more into engineering. If you’re dealing with software, then there isn’t much need. The only other way (as pointed out) is if you were programming something specifically about physics, in the same way that writing software for a biotech company, it would help to at least know a little about biology and biotech.
But as pointed out, physics (and science and math in general) might help how you think. Physics is a lot about observing the world around us and trying to reduce it to a mathematical formula - something that comes up in trying to build algorithms. But you don’t need to deep dive into it. But I’m a big fan of people having a well rounded mind and most of the great thinkers I’ve known have had an insatiable curiosity about the world around them and love learning about new subjects. So, if you have the chance, why not?
I remember I had a class on Philosophy of Education. A perennial question is: Does a future plumber need to learn Shakespeare? To be a better human being? Definitely. To be a better plumber? I still think a little - a more well rounded person will understand the world around him better. I think that is a good thing.
Existentially yes. But I don’t think that’s what you’re asking.
I have a master’s degree in physics but haven’t had occasion to use any specific knowledge while programming. The analytical thinking skills and math I learned are very useful, however.
The answer depends on the domain you intend to program for. In general physics, in particular, or math not required. You might get some value in taking those courses to sharpen your logic and algorithmic thinking abilities but only you can calculate the cost vs benefit of taking those courses. I know many enterprise programmers who took history, geography and english majors or didn’t have anything past secondary school. Really the only skills or characteristics you need are Passion, Desire to Learn, Patience, Perserverance and some general intelligence doesn’t hurt either
I (for one) think first year Physics is crucial for anyone that wants to call them educated in the sciences. First semester is motion, etc. while 2nd semester is ELECTRICITY. That is crucial if you ask me. ;))
Are you sure they didn’t mean calculus? You do have to take calculus, but not physics.
Physics is important if you are going to program advanced games, even flappy bird has a gravity constant. Any type of simulator (driving, flight, spacecraft) would benefit from at least a cursory background in introductory physics.
Web game dev with p5.JS (based on processing.JS) or phaser.js is an application for integrating even the most basic physics (angle of incidence combined with paddle speed and direction to obtain angle of reflection for the square ball in “pong”, for example)
I don’t think it’s mandatory, but it couldn’t hurt.
I’m actually looking for a good book on game physics.
Disagreeing! Especially maths is really important for e.g. scheduling problems where you’ve got to apply discret optimization.
I didn’t say math isn’t important. I study math for fun, and I definitely recommend anyone else to do the same.
Also, CS !== programming.
BSc Maths, physics & CS here.
I disagree with people saying that programmers need physics, or maths for that matter, for programming. You’ll not need any physics or maths to build, say, a full-stack web application, etc. You’ll definitely need maths for algorithms and data structures course, for theoretical CS, or for any advanced CS course, but not for programming.
And for those saying that physics/maths give you analytical thinking, this claim is very debatable. It seems to me that it’s just a cliché that people keep repeating. Analytical thinking maybe a prerequisite for mathematical proofs, but it’s hardly transposable to programming. And in any case, philosophy is truly a powerful tool to acquire analytical or critical thinking - but how many people are saying that programmers should read Plato or Wittgenstein?
tl;dr: you’ll need as much physics for programming as for cooking.
I don’t know. For me at least, physics and math changed the way I think in palpable ways. I can’t imagine looking at the world the same way without it. Calculus alone had a profound effect on how I think. And the techniques I learned help me immeasurably with how I understand, dissect, and solve problems.
Those fields taught me how to think in a structured and logical way, a way that is fundamental to how I code. Studying how the field of physics reduced the inscrutable world to discrete principles and formulas, reducing chaos to mechanistic and predictable formulas. The rigors of mathematical proofs, from geometry to calculus - those taught me to break problems into small steps and that if each step was correct, the answer would be correct. Other math taught me to think abstractly, to represent the physical world as a virtual representation in my mind. I was a coder before I studied engineering and a coder after. I am a very different (and much better) coder now. I don’t think I could code the way I do now without that knowledge.
I can’t speak for you, but I can speak for me.
I also think it’s a bit odd to say that you need math for algorithms and data structures “but not for programming”. ?!? What is programming then? To me that sounds like “You do need to know X for properly using a drumstick, but not for playing the drums.” Algorithms and data structures are such an integral part of any non-trivial app as to be virtually inseparable from programming it.
“Game programmers make use of virtually all branches of mathematics, from trigonometry to algebra to statistics to calculus. However, by far the most prevalent kind of mathematics you’ll be doing as a game programmer is 3D vector and matrix math (i.e., 3D linear algebra).” – Game Engine Architecture, Second Edition, p165