Is knowing a computer language vital for someone pursuing Theoretical Physics?

In summary: Even if you never use C++ again, it's a good idea to know it.In summary, it is recommended that you take an intro to C++ class in order to be prepared for future work in physics and engineering.
  • #1
JJHK
24
1
Hello! I am currently a sophomore in undergrad, majoring in Physics. I haven't been exposed to any computer languages, such as C++, and I am wondering if it necessary for me to know it? My major's requirement doesn't require it, but many of my physicist friends seem to recommend me take it. So I'm thinking about taking an intro to C++ class in the summer, but I would much rather use my summer to strengthen my foundations in Physics and Mathematics. So what do you guys think? Do you think that in the long run it will be better for me to be exposed to C++ in the summer or study rigorously to strengthen my foundations? (I was planning on going over Kleppner's Mechanics, Purcell's EM, and Spivak's Calculus over the Summer)
 
Physics news on Phys.org
  • #2
Hey JJHK and welcome to the forums.

If you need to do any kind of simulation or modelling work then no matter what field or specialization is involved, programming will be important.

Given how important simulation and modelling is in both the theoretical and experimental areas of science, engineering, and pretty much anything, I would recommend it for that reason alone.

Because things nowadays involve a lot of data, whether its simulated, collected from somewhere (like an experimental apparatus connected to a computer through say a USB) or wherever, people need to program the computers to analyze and spit out results and since no one situation is the same, you will probably have to do some programming at some point no matter how minor or major that may be.
 
  • #3
I know a lot of physics researchers work with R and MATLAB, but I only know that because a few friends of mine work in Physics and Astronomy labs. I can't speak from personal experience or anything as to Theoretical Physics, but it never hurts to learn a good computer language. I personally work in a mechanical engineering lab and literally EVERYONE uses MATLAB, so I couldn't imagine not having to do any programming or simulations in any sort of physics-based research.
 
  • #4
There is still abstract theoretical work done with paper and pencil, but sooner or later you will need some kind of programming skills, be it Mathematica, Fortran, Matlab, R, C++, python or whatever. The details will depend on the field you work in.

If you take a class seslect one that focusses on programming, not the language. Languages are easy to pick up once you understand the fundamentals.
 
  • #5
You probably won't drop dead, no. But personally, I think it's wise to know some programming no matter which science or engineering major you do - the chances of having to use it are simply quite high.
 
  • #6
Definitely take it. I'm taking a computational physics/numerical methods (scilab) course and I wish I would've had a serious exposure to programming earlier. I can't really imagine any theoretical work today that doesn't require programming in some form or another, not to mention its easily the most transferable skill you pick up in a physics degree.
 
  • #7
To echo what has already been said: yes, learn to program. I would be surprised if you could find a physicist who has never written or modified a program at some point in their career. Many physicists program extensively.

But, I don't think it's as much of a scheduling conflict as you say. If you are a sophomore physics major, an intro programming class should be no problem. I doubt the class will take up your whole summer, so you will have plenty of time to study other things at the same time.
 
  • #8
Thanks guys, everyone seems to agree that I should take it. "M Quack" said I should focus on programming, not the language. The class that I'm thinking about is "Intro to Program Concepts in C++", would that be suitable? I don't see a specific programming course @ my school.

I think in order to prepare myself, I'm going to start with independent studies on programming. This forum's subsection on programming seems to have a lot of helpful material.

Are there any specific textbooks that you guys recommend? Thanks again for the help!
 
  • #9
you need a language to program. The title indicates that programming is the focus and C++ a means to that end, that is good. To quote Kernighan and Ritchie, "the only way to learn a programming language is to write programs in it.", so get yourself a cheap Linux box and some introductory book (there is a current thread with recommendations) and get going.
 

1. Is it necessary to know a computer language to be a successful theoretical physicist?

While a theoretical physicist can certainly benefit from knowing a computer language, it is not a necessity. Theoretical physics involves using mathematical models and theories to understand and explain the natural world. While computers can assist in performing complex calculations and simulations, the fundamental principles of theoretical physics do not require knowledge of a specific computer language.

2. Which computer language is most useful for theoretical physics?

The choice of computer language depends on the specific research or project being undertaken. Some popular languages used in theoretical physics include Python, MATLAB, and C++. However, the most important factor is understanding the principles of programming and being able to adapt to different languages as needed.

3. How can knowing a computer language benefit a theoretical physicist?

Knowing a computer language can enhance a theoretical physicist's ability to analyze and interpret data, perform simulations and calculations, and visualize complex concepts. It can also help in communicating and collaborating with other researchers and presenting findings in a clear and concise manner.

4. Can someone with no prior programming experience still pursue theoretical physics?

Yes, it is possible to pursue theoretical physics without any prior programming experience. Many theoretical physicists learn programming as they progress in their research or through specialized courses. However, having some basic knowledge of computer science and programming principles can be helpful in understanding and applying computational techniques in theoretical physics.

5. How can I learn a computer language for theoretical physics?

There are many resources available for learning computer languages, such as online courses, textbooks, and tutorials. It is also beneficial to practice by implementing computational methods in theoretical physics problems and working on projects with a mentor or experienced programmer. It is important to choose a language that is relevant to your research interests and to continually update and expand your skills as needed.

Similar threads

  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
Replies
7
Views
2K
Replies
35
Views
3K
  • STEM Academic Advising
Replies
6
Views
1K
Replies
37
Views
3K
  • STEM Academic Advising
Replies
4
Views
2K
  • STEM Academic Advising
Replies
1
Views
879
Replies
4
Views
1K
  • STEM Academic Advising
Replies
11
Views
659
Back
Top