NowsTheTime said:
Which skill is more important for Physics in the modern era?
From what I know, Newton (along with some other fellows) developed Calculus in order to solve problems in Physics. Because of this, it's safe to say that Calculus is an essential branch of mathematics to understand when it comes to studying Physics.
At the same time, today's computers can perform calculations in seconds/ minutes that would have taken days/weeks in the past. Does this mean that programming knowledge is more useful than mathematical knowledge when it comes to Physics?
I'm going to dissent here a bit with others, you don't actually need to master either. If we're thinking along the same lines as to what "master" actually means.
Do you need to know mathematics - of course. It's the way physicist concatenate information and model physical phenomena. Do you need to know how to prove the majority of mathematical theorems you might use, say in calculus as your example? Not for the majority of physicists, I would argue. So you aren't really mastering the field - that's what mathematicians are for - you're applying their work the same way engineers would apply physics. What you do need to know is how to use the tool given to us by mathematicians skillfully and correctly; as such, you need to be fluent in mathematics. I.e. how to derive, follow logic, appropriately "read" equations to garner the full information it tells you, etc. Obviously there some counter examples in physics where you do need complete mastery in some subject of mathematics, specifically in research areas that often collaborate heavily with mathematicians to develop new physics and mathematics, but for the majority I would assume, fluency is all that's required.
Do you need to know programming? The answer is also yes. There is no avoiding it, you will eventually need to write code. Do you need to write flawless code, the quickest code possible, design your own compiler, or understand how exactly the machine is processing your complied code? Probably not. Again you need fluency here.
So to answer your question OP, you need both skills. Which is more useful? Well obviously without fluency in mathematics at the level of current study, you won't go anywhere in the sciences - you shouldn't be able to complete a basic mechanics course without some fluency in basic calculus. You can skate by without knowing how to program basic code for a bit longer, possibly even to graduate school if it's not required of you during your undergraduate research (which it probably will be.) Eventually though your lack of programming skills will become a drag on your research teammates, and physics students are a resentful sort of bunch to those who don't pull their fair share of work for the group.
Study both, take one or two courses in a programming language of your choice. Once you get the feel of how to program code learning a new language is a far simpler task. You can learn more advanced topics as you need them. I personally use a bit Matlab, some Labview (which is pretty rare in the physics world I guess, I find it fun), some C and C++, depending on what the task at hand requires. You need to also know write latex documents, this you should learn as soon as possible. If some of your undergraduate research experiences were like mine, you'll have the honor of typesetting any papers for the group. Mathematica, sage, python, java, etc are also used. Some old timers love fortran still - lot of old code out there in it - and occasionally you'll run into the dinosaur that still programs stuff or does their data analysis in excel. Some applications/compilers/libraries/whathaveyou are free, while others require licenses. What your group has licenses for will determine some of the coding preferences. The point is though, once you get familiar with language through a course or self study, transitioning to the majority of these other languages is quite easy.
You probably won't have much leeway (read choice) in what you study for mathematics, you'll be required at a minimum to take the intro calculus series, linear algebra, and either PDE's or ODE's at any school worth going to. You'll probably also have a few mathematics electives. If a course called "mathematical methods in the physical sciences" or " Math methods in physics" is offered as an undergraduate course you should take it. Other good choices along with that course are complex analysis, probability, numerical methods, etc. You'll probably develop an idea of what extra mathematics you need to study when you develop a clearer idea of what subset of physics you want to study in graduate school. These courses are important, both for GPA for graduate school applications (if you blow off math because you believe programming is superior, you'll get low marks in these class inevitably), and for understanding the language of physics.
I've neither mastered calculus nor programming, but I can use math as a tool and cowboy code to accomplish tasks in my own studies in graduate school.
Not sure if this helps, but it's my own subjective experience. Mileage will vary.