A Chemical-Physics major - what prog. language should I know?

In summary, if you want to be a proficient programmer in either C++ or Matlab, it is a good idea to take both "Data Structures" and "Programming Languages (learning C/C++, Java/LISP)", as these will help you in any field you wish to pursue. Additionally, if you want to be a medical physicist, you will need to know both Matlab and C++.
  • #1
I'm an undergraduate student studying Chemical-Physics. It's somewhat like half-and-half of both majors. My goal is to do something in the field of Chemistry or Physics - perhaps starting out as entry-level Chemist or Physics doing menial lab work. My ultimate goal, however, is to do Medical Physics along the line of QA for medical devices. Additionally, after completing my degree, I plan to go for Nursing for job security.

In regards to the programming language, I have took intro programming class (Java). Now, I've search for Physics jobs and seen some of them requiring knowledge of programming like in C++, Fortran, Java, and so on. I was wondering which is the most in demand if I were to perform computing tasks in Physics.

I've looked at my school catalog and there are options to take "Data Structures", "Programming Languages (learning C/C++, Java/LISP)", and "Scientific Visualization (Matlab)"

Any advice?
Physics news on Phys.org
  • #2
Matlab is used a lot for numerical methods with visualization since that is all build right in. C/Fortran are what most physicists use if they don't use Matlab. I don't know if I would worry about "Data structures" since I don't really know what the class description is. I would suggest taking both of the other classes as being a proficient programmer is important to any scientist (in my eyes).
  • #3
data structures is a pretty fundamental class in computer science. I would imagine that if you're planning on a career of some kind in computing you would want to know that stuff.
  • #4
I agree with jbusc, but that data structrues class might not invovle any programming. I know the data structure and algor class at my university doesn't invovle any programming which sucks but that's how some are i guess.

If you want to jump into programming take another java or c++ class, if you know java u can easily learn C++ and vice versa.
  • #5
I concur -- learn a regular "programming language" if you haven't already done so (independently or through a class). It's a pretty important skill. Matlab is cool -- but parts of it can require program writing skills, and you can usually access a manual (either coming with the program or being assessable from online)... And "data structures" yeah -- what is THAT?
  • #6
C and Fortran are a must. For most mathematical tasks, fortran comes out being faster - but C is a more broad purpose language; know them both

C++ is, in my opinion, overhyped as its object oriented nature tends to lend some unnecessary overhead to certain computations (in particular, random number generation using a mersenne twister in c++ is over an order of magnitude slower than a simple C code bit shifting miller-parks algorithm).

Matlab is good for plotting data... but that's about it. If you want speed, you'd have to look elsewhere.
  • #7
C isn't always faster than C++, just in some cases, that can occur in any language.

If you know C++ you can always code in C if you want, but its not the same if you know C you don't know C++.

So if you want to kill 2 languages with 1 stone, learn C++ and you can easily adapt to the small changes in C.
  • #8
Object-Oriented programing languages are a great tool for general programming; however, I am unsure as to if they will be of much use in physics/chemistry.

But if you know Java, I would just go ahead and learn C++, as the leap isn't that huge. After that go ahead and learn C.

Perl may also be a language to look into, its what my school uses for part of their computational physics course (according to the people who took it last year).

Fortan, from what I have gathered from math majors and other physics majors, is begining, at least in my school, to get the boot.

Hope that helps.

1. What is a Chemical-Physics major?

A Chemical-Physics major is an interdisciplinary field that combines the principles and techniques of both chemistry and physics. It involves studying the fundamental aspects of matter and how it behaves, as well as the interactions between molecules and particles.

2. What programming language should I know as a Chemical-Physics major?

As a Chemical-Physics major, it is helpful to have a strong foundation in programming languages such as Python, MATLAB, and C++. These languages are commonly used in scientific research and can help with data analysis, simulations, and modeling.

3. Why is it important for Chemical-Physics majors to learn programming?

Programming is becoming increasingly important in the field of Chemical-Physics. It allows for the automation of experiments, data analysis, and simulation of complex systems. It also helps in visualizing and understanding complex mathematical equations and theories.

4. Can I learn programming if I have no prior experience?

Absolutely! Many Chemical-Physics majors have little to no prior programming experience. However, with dedication and practice, anyone can learn to code. There are also many online resources and tutorials available to help beginners get started.

5. How can programming benefit a Chemical-Physics major in their career?

Having programming skills can open up a variety of career opportunities for Chemical-Physics majors. It can lead to jobs in research, data analysis, software development, and more. In addition, many graduate programs in Chemical-Physics require knowledge of programming, so it can also help with further education.

Suggested for: A Chemical-Physics major - what prog. language should I know?