Which Programming Language is necessary?
-
- Posts: 2
- Joined: Wed Mar 01, 2006 12:23 am
Which Programming Language is necessary?
Hello all, for the new gradaute students, is C++ is necesary? Do you have any idea?
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.
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.
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.
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.
-
- Posts: 161
- Joined: Sat Nov 04, 2006 7:48 pm
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.