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

  • Context: Programs 
  • Thread starter Thread starter x12179x
  • Start date Start date
  • Tags Tags
    Language Major
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
7 replies · 6K views
x12179x
Messages
25
Reaction score
0
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
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).
 
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.
 
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.
 
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?
 
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.
 
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.
 
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.