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

Click For Summary

Discussion Overview

The discussion centers around the necessity of learning a computer programming language, specifically C++, for undergraduate students pursuing a degree in Theoretical Physics. Participants explore the relevance of programming skills in both theoretical and experimental physics, considering the implications for future research and academic work.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant expresses uncertainty about the necessity of learning C++, given that their major does not require it, and considers focusing on foundational physics and mathematics instead.
  • Another participant emphasizes the importance of programming for simulation and modeling work, suggesting that programming skills are likely to be needed in various scientific fields.
  • A participant mentions that many physics researchers use languages like R and MATLAB, indicating that exposure to programming is beneficial, even if not directly related to Theoretical Physics.
  • It is noted that while some theoretical work can be done without programming, eventually, programming skills will be required in many fields, and the choice of language may depend on specific research areas.
  • Several participants advocate for learning programming as a valuable skill, suggesting that it is highly likely to be useful in future academic and research endeavors.
  • One participant shares their experience of wishing they had learned programming earlier, highlighting its importance in computational physics and numerical methods.
  • Another participant suggests that an introductory programming class should not interfere significantly with summer studies, implying that both programming and foundational physics can be pursued simultaneously.
  • A participant encourages independent study in programming and seeks recommendations for textbooks, indicating a proactive approach to learning.
  • One participant reinforces the idea that the focus should be on programming concepts rather than the specific language, supporting the notion that foundational programming skills are transferable.

Areas of Agreement / Disagreement

Participants generally agree on the value of learning programming for a career in physics, although there is some discussion about the timing and prioritization of programming versus foundational physics studies. No consensus is reached on the necessity of C++ specifically, as some participants suggest other languages may also be relevant.

Contextual Notes

Some participants express uncertainty about the specific programming languages most relevant to Theoretical Physics, and there is a lack of consensus on which programming course would be most beneficial. The discussion reflects varying personal experiences and perspectives on the role of programming in physics education.

JJHK
Messages
24
Reaction score
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
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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!
 
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.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 4 ·
Replies
4
Views
1K
Replies
35
Views
6K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K