Which Programming Language is necessary?

  • This has become our largest and most active forum because the physics GRE is just one aspect of getting accepted into a graduate physics program.
  • There are applications, personal statements, letters of recommendation, visiting schools, anxiety of waiting for acceptances, deciding between schools, finding out where others are going, etc.

Post Reply
Antimatter
Posts: 2
Joined: Wed Mar 01, 2006 12:23 am

Which Programming Language is necessary?

Post by Antimatter » Mon Jun 19, 2006 10:50 pm

Hello all, for the new gradaute students, is C++ is necesary? Do you have any idea?

tleilax
Posts: 24
Joined: Sat Dec 10, 2005 2:56 pm

Post by tleilax » Mon Jun 19, 2006 11:52 pm

I didn't know anything about C++ until I had to learn it for my senior thesis, and that was after I had already applied to graduate school (it was certainly not mentioned anywhere on the applications). It probably would be good to know but I would not learn it for its own sake.

soluyanov
Posts: 51
Joined: Fri Dec 15, 2006 1:06 pm

Post by soluyanov » Tue Jan 09, 2007 7:08 pm

C++ is useful, though being in physics assumes Fortran.

Richter
Posts: 36
Joined: Tue Dec 19, 2006 3:45 am

Post by Richter » Tue Jan 09, 2007 8:57 pm

I think C++ is important in particle physics, as there are important packages (Geant, ROOT) wriitten in C++.
In the school I went to research last summer, only C++ and java were taught to physics student.

soluyanov
Posts: 51
Joined: Fri Dec 15, 2006 1:06 pm

Post by soluyanov » Tue Jan 09, 2007 9:23 pm

Richter, it's really suprising that they teach java. From my experience it is not computational at all.

Moreover, I guess for pure computations Fortran is prefered, where some visualisation is needed - C++.

Almost all packages I've seen (cond mat ones, quantum chemistry, molecular physics) are written in Fortran, sometimes having a C++ copy.

rjharris
Posts: 101
Joined: Wed May 10, 2006 6:48 pm

Post by rjharris » Tue Jan 09, 2007 10:58 pm

In my experience, Fortran is widely used, and may, in fact, be what is most widely used in (astro)physics.

However, my belief is that it is inertia that is causing this. Fortran has been slowly dying for a while. The only fortran code I've worked with is something originally written in Fortran 77 about 25 years ago (I think) and updated by a guy who re-did it in Fortran 90/95 a few years ago. However, C and C++ is used more and more, particularly (I hear) in particle physics with data analysis and simulations done in root (i think that's the name). In my own work with x-ray timing, I almost exclusively use C, with a smattering of perl and other scripting stuff.

That said, if you can learn both Fortran and C very well, you should be set for a whole hell of a lot of things. You should also know unix well enough to do basic troubleshooting, since that is the environment (imho) most conducive to scientific computing, and I believe this opinion is backed up by the fact that most places who do a lot of it use unix-based systems.

Richter
Posts: 36
Joined: Tue Dec 19, 2006 3:45 am

Post by Richter » Tue Jan 09, 2007 11:59 pm

soluyanov, I heard it from the students there, maybe it is of no use in physics at all~

schmit.paul
Posts: 161
Joined: Sat Nov 04, 2006 7:48 pm

Post by schmit.paul » Wed Jan 10, 2007 12:17 am

A friend of mine who is an undergraduate researcher for one of the particle experimentalists at my institution is developing a Geant framework entirely based in C++ and python, and evidently CERN has expressed a lot of interest in it. The funny thing was that he gave a seminar on object-oriented programming for anyone interested, and the professors who attended were EXTREMELY hesitant to acknowledge the strengths of OOP versus Fortran. Almost every professor I know works almost exclusively with Fortran, though I'm starting up research with a condensed matter theorist that uses a lot of C++ (he got his Ph.D. in the '90's from UIUC, so he's considerably "younger" than most of my other profs). However, I don't know that many undergrads who are familiar with Fortran, and so I imagine in another decade or two the balance will shift even further and OOP languages will saturate the field.



Post Reply