How usefull will basic programming skills be as a physicist?

AI Thread Summary
Programming skills are increasingly essential for those pursuing a career in theoretical physics, as they are necessary for running simulations and testing theories. Basic programming knowledge may not suffice; becoming a competent programmer is crucial since many specific problems in physics require custom software solutions. While some may argue that programming is not strictly necessary for all areas of physics, it is particularly important in fields like computational astrophysics, where the programming itself constitutes a significant part of the research process. For those unable to take formal programming classes, self-study options include online resources, textbooks, and experimenting with physics software. However, a cautionary note is raised about the potential for graduate students to become overly absorbed in programming tasks, which can detract from their research progress and extend the time needed to complete their PhDs. Overall, acquiring programming skills is recommended to enhance employability and ease the challenges faced in physics research.
VoxCaelum
Messages
14
Reaction score
0
Currently I have no programming skills at all. I am considering mastering in Theoretical Physics and was wondering how strongly I would be recommended to learn some basic programming skills. Also if it is inconvenient to follow any programming classes at my university at the moment what would be a good way to get started myself?
Thanks
 
Physics news on Phys.org
Programming skills seem to be pretty important these days. If you search these forums you'll find plenty of people wondering the same thing. Theorists often need to run simulations to test their theories for accuracy and the like so programming skills are necessary. I'm not a professional, but I have been reading these forums for a little while.

If you don't feel like taking courses, you can search for classes that have posted materials online. Books are also a good option, after you are done with them you can keep it for reference.
 
I am currently working on my bachelor's degree in physics/astrophysics and I understand that programming is very important if you want to be a physicist. My school requires C and Fortran after an intro to programming course for physics majors. I recently started a thread when I was trying to choose between C and C++, and some good information was given there. I will provide you with the link :)

https://www.physicsforums.com/showthread.php?t=509538
 
If you really want to go into theory[1], you will need programming. And just basic programming skill will not be even remotely sufficient. You need to become at least a competent programmer (and better an expert programmer), because usually no ready-made programs are available which are targeted at the very specific questions asked in physics. Building those programs to formulate and test theories, or to derive or solve equation systems, is one of the most important parts of most branches of theory.

[1] Why does everyone want theory only? There is soooo cool experimental equipment.
 
You can do theory with zero programming expertise. You can do experiment with zero programming expertise. Certain projects in certain specific subfields of experiment or theory may require programming expertise, and in that case you can pick it up when you need it. Similarly, you might need to run a mill or a lathe in grad school, or to become an expert in some obscure aspect of the properties of the Riemann zeta function.

There is one big negative involved in learning programming skills before you start grad school, and that is that you might be tempted to use them. That is, a lot of grad students get lured into spending a lot of time doing programming rather than research, and it makes them take 8 years to get a PhD instead of 6. Often people's advisors are only too happy to have them sit in front of a computer coding for month after month, because grad students are cheap labor.
 
bcrowell said:
There is one big negative involved in learning programming skills before you start grad school, and that is that you might be tempted to use them. That is, a lot of grad students get lured into spending a lot of time doing programming rather than research

If you do things like computational astrophysics, then the programming is the research. Eighty percent of the time you are spending debugging code, but the cool thing is that you are pushing the hardware to the limit, and reordering a loop may mean the difference between a calculation that takes two weeks to run versus something that won't get run at all.

It makes them take 8 years to get a PhD instead of 6.

It's not as if there is a high paying research professorship ready once you graduate. It is possible to get a job with a Ph.D. and no programming experience, but its one of those "why are you making life needlessly difficult for yourself questions?"

Often people's advisors are only too happy to have them sit in front of a computer coding for month after month, because grad students are cheap labor.

Sure, because programmers with physics Ph.D.'s and lots of experience with scientific computing are frightening expensive if you pay market rates.

Not this is a bad thing.
 
VoxCaelum said:
Also if it is inconvenient to follow any programming classes at my university at the moment what would be a good way to get started myself?

Download some physics software and try to make it work.

http://mesa.sourceforge.net/index.html
 
twofish-quant said:
Download some physics software and try to make it work.

http://mesa.sourceforge.net/index.html
Ahhhh! *faints* Thanks twofish-quant :biggrin: You rock :) I keep hearing your imagined voice in my head saying "Computational astrophysics is very computational." lol---it has become my new mantra :biggrin:

Thanks for starting this thread Vox :)
 

Similar threads

Replies
7
Views
2K
Replies
5
Views
1K
Replies
12
Views
2K
Replies
11
Views
2K
Replies
3
Views
113
Back
Top