- #1
cordyceps
- 50
- 0
I was surfing around the forum, and I noticed that several people recommended learning programming for physicists. What language is most useful for physicist? C? Fortran? Java?
tmc said:C/C++, Fortran and Matlab are the main ones.
Java if you're considering working outside academia.
Labview if you're suicidal and wish to learn the worst piece of software ever created by man.
cordyceps said:Thanks everyone.
I just have another quick question. My school only offers C++ and java as intro computer science classes. In general, do people learn python, fortran, mathematica, etc. on their own, such as by reading books on the subject or by working in a lab?
confinement said:I recommend learning Mathematica, since it combines a general programming language with the most powerful symbolic system for doing algebra, calculus, visualizations, etc. It really saves a lot of time!
whybother said:Mathematica-it's treatment of abstract datatypes is VERY poor (lists are vectors, not lists!)
-the interface looks awful and is not very helpful (lack of use of indentation is horrible)
-no concept of orders of growth and optimzation becomes basically impossible (also speed comes back to the fact that lists are really vectors)
-also, you need a license
Honestly, for brief uses of symbolic logic I like Mathematica fine. But it should never be anyone first "programming lanauge". EVER.
The most commonly used programming languages in physics are Python, C++, and Fortran.
It is recommended to have a strong foundation in at least one programming language, but knowledge of multiple languages can be beneficial as different languages have their own strengths and are used in different areas of physics.
While not necessary, having programming knowledge can greatly enhance a physicist's research and data analysis capabilities. It can also open up opportunities for collaboration with computer scientists and engineers.
Python is a popular choice for data analysis in physics due to its simple syntax, vast libraries for scientific computing, and its ability to handle large amounts of data efficiently.
While having a formal education in programming can be beneficial, it is possible to learn programming on your own through online resources, tutorials, and practice. Many physicists also learn programming through on-the-job training and collaboration with colleagues.