Want to become Theoretical Physicist but don't know Coding

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
7 replies · 3K views
Quantum_Arcanium
Messages
2
Reaction score
1
Hi, I am an aspiring Theoretical Physicist. I've heard that you need to know many programming languages to become a Physicist, but I have never learned a single programming language in my life and I am 16-17 years old now. Is there any chance of me still becoming one? Is there anything I can do? Will taking Computer Science courses in College be a good choice? Thanks for your help.

Quantum_Arcanium
 
on Phys.org
A lot of the work most physicists do is related to programming in order to perform simulations of systems that cannot be solved analytically. However, I do not think you need to know programming before starting university (I didn't). Of course, already knowing it gives you an edge, just as you might have other edges if you have pre-studied university level mathematics, etc.
 
  • Like
Likes   Reactions: DeBangis21 and ZeGato
Orodruin said:
A lot of the work most physicists do is related to programming in order to perform simulations of systems that cannot be solved analytically. However, I do not think you need to know programming before starting university (I didn't). Of course, already knowing it gives you an edge, just as you might have other edges if you have pre-studied university level mathematics, etc.

I am strong in Mathematics but just don't have any programming experience at all. Thanks for your advice too.
 
Im no physicist but I am in an introductory programming class now. I started out having zero knowledge of the matter (didnt even know what compressing a file meant, etc). Its a really fun class but out of all my classes (Calc I, Chem I, generals), its my hardest one.
For some programs, you know what it needs to do but its hard to put that on a screen in such a way that nothing is assumed and is basically boiled down to the most basic level. For example, writing code for a simple rock paper scissors game is actually quite difficult. Coding requires a certain type of thinking different from anything I've experienced but with practice it starts to become more natural. At my university, a significant amount of students change majors to CS after taking their first CS class because its a fun thing to do. I definitely won't do that but know many that have. So I think you should definitely take it as its fun and a valuable skill professionally and intellectually. My school doesn't require it for the physics major so I am just taking it as an extra class and will probably take another over the summer to get a broader understanding of it.
Food for thought.
 
Quantum_Arcanium said:
I've heard that you need to know many programming languages to become a Physicist
If you know one programming language reasonably well, that's better than having only a minimal understanding of several languages.

Orodruin said:
A lot of the work most physicists do is related to programming in order to perform simulations of systems that cannot be solved analytically.
And a lot of that work, at least what I've seen here at this site, is in Fortran, and very poorly written at that. Having one or two computer science classes under your belt would make it more likely that the code you write would be easier for someone else to read, more portable to different operating systems, and more reusable.

I assume that you (the OP) are still in high school. If they offer programming classes there, consider taking one. Another option is to take a class at a local community college if there is one near by. It's good that you are strong in mathematics, but being able to write good programs also requires strong logical and organizational skills.
 
Mark44 said:
And a lot of that work, at least what I've seen here at this site, is in Fortran, and very poorly written at that.
I can only speak for the HEP community, but Fortran used to be very popular. It has fallen somewhat out of fashion to give way to C/C++. There is a cutoff somewhere between the ages 40 and 45. Older people use Fortran, younger C or C++. Even younger may try to avoid compiled languages altogether in favour of Matlab and Mathematica.
 
Orodruin said:
Even younger may try to avoid compiled languages altogether in favour of Matlab and Mathematica.
Or Python, using its numpy and scipy libraries.
 
These days, one can work in a web browser...
which is great since there's nothing to install or configure.

Later when you need maximum performance,
you can choose your language and platform
and appropriate installation files.

But for now... you can try these out, for example...
... and you don't need to wait to take a course to try things out.

Check out Glowscript (which is a variant of VPython, a physics-inspired library for Python)
http://www.glowscript.org/
http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/
http://www.glowscript.org/#/user/matterandinteractions/folder/matterandinteractions/ [look at these examples]

Some of the visualizations are in 3-D... right-mouse-drag to rotate.

Code can be viewed and you can copy them and make modifications.

I prefer to work on
https://trinket.io/ (which supports Glowscript, Python 2, and HTML5 on a free account)

See this blog entry by Rhett Allain to get started...
https://www.wired.com/2015/04/dare-change-numerical-calculation/
[the error in the code example presented there can be corrected by editing line 11 and replacing "true" by "True"]