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
Click For Summary

Discussion Overview

The discussion revolves around the programming languages that would be most beneficial for a student majoring in Chemical-Physics, particularly in relation to future careers in Chemistry, Physics, and Medical Physics. Participants explore the relevance of various programming languages in scientific computing and data visualization.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant mentions their background in Java and seeks advice on the most in-demand programming languages for Physics jobs, noting that C++, Fortran, and Java are commonly required.
  • Another participant suggests that Matlab is widely used for numerical methods and visualization, while C and Fortran are preferred by many physicists for computational tasks.
  • A different participant emphasizes the importance of taking a "Data Structures" class, considering it fundamental for a computing career.
  • Concerns are raised about whether the "Data Structures" class involves programming, with some participants sharing experiences of similar courses lacking practical programming components.
  • One participant argues that C and Fortran are essential, highlighting Fortran's speed for mathematical tasks compared to C, while also critiquing C++ for its overhead in certain computations.
  • Another participant counters that C isn't always faster than C++, suggesting that proficiency in C++ allows for easier adaptation to C.
  • There is a suggestion that Object-Oriented programming may not be particularly useful in Physics or Chemistry, but learning C++ is recommended for those already familiar with Java.
  • Perl is mentioned as a potential language to consider, as it is used in some computational physics courses at one participant's school.
  • Concerns are expressed that Fortran may be losing relevance in some academic settings.

Areas of Agreement / Disagreement

Participants express a range of opinions on the importance and utility of different programming languages, with no clear consensus on which language is definitively the best choice for the discussed fields. Some advocate for C and Fortran, while others emphasize the value of Matlab and C++. Disagreements also arise regarding the performance of C versus C++.

Contextual Notes

Participants note varying experiences with programming courses, particularly regarding the content of "Data Structures" classes, which may not always include practical programming exercises. There is also mention of the evolving relevance of Fortran in academic settings.

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.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
Replies
12
Views
4K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
86
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 40 ·
2
Replies
40
Views
7K