mritunjay
- 18
- 0
For physics purposes, is it necessary to learn fortron or C++ if one knows mathematica well enough?
The discussion revolves around the necessity of learning programming languages such as Fortran or C++ for physics applications, particularly in relation to proficiency in Mathematica. Participants explore the relevance of various programming languages in physics, their applications, and the potential need for additional languages depending on the context of use, such as coursework or research.
Participants express multiple competing views on the necessity and relevance of learning Fortran versus C++, with no consensus reached on which language is more essential for physics applications. The discussion remains unresolved regarding the future of Fortran in the field.
Participants highlight the dependence on specific contexts, such as the branch of physics or the nature of the work (coursework vs. research), which may influence the choice of programming language. There are also references to the limitations of job market searches and the evolving landscape of programming languages in physics.
fleem said:"For physics purposes" I'm not sure you even need anything other than mathematica (matlab, scilab, etc.). But if you are intent on learning another language, make it C/C++, Java, or C# (in that order of recommendation). those are just way better languages and are used much more often than is Fortran, even in science. C# is a good language but I'm mad at Microsoft for repeatedly redefining the wheel for the sole purpose of locking in customers to Microsoft-only systems (although C# and mono (.NET on Linux) sure gave Microsoft the double-whammy).
fleem said:"For physics purposes" I'm not sure you even need anything other than mathematica (matlab, scilab, etc.). But if you are intent on learning another language, make it C/C++, Java, or C# (in that order of recommendation). those are just way better languages and are used much more often than is Fortran, even in science. C# is a good language but I'm mad at Microsoft for repeatedly redefining the wheel for the sole purpose of locking in customers to Microsoft-only systems (although C# and mono (.NET on Linux) sure gave Microsoft the double-whammy).
ice109 said:patently false. almost everything is still in fortran.
don't make that an or and exclusive or. learn fortran, c++, and mathematica
fleem said:A search of a reputable job site (indeed.com) for the terms "C++" and "PhD" return 21 times as many hits as a search for the terms "fortran" and "PhD". Likewise a search for "java" and "PhD" even returns ten times as many. I searched several other sites in the same way, including science-only job sites, and got the same results. If it were only a few times more, one might argue that there was some skewing of the search counts because of how science jobs are typically advertised. But a 21-fold difference makes the statement "almost everything is still in fortran" less feasible.
Why is advice in this forum always backwards. Fortran is still present but is in the process of being phased out at least in particle physics - Geant4 is C++, Pythia is going C++(With the release of PYTHIA 8.100, this new C++ version series takes over from the older Fortran 77-based PYTHIA 6.4). Fortran would have been an excellent idea 10 years ago.ice109 said:patently false. almost everything is still in fortran.
don't make that an or and exclusive or. learn fortran, c++, and mathematica
That's been my impression too, that Fortran is still pretty common due to a lot of stuff having been written in it 10/20/30 years ago, but recently more and more new programs are written in more modern languages like C++. Maybe it depends somewhat on which branch of physics you're working in.j93 said:Why is advice in this forum always backwards. Fortran is still present but is in the process of being phased out at least in particle physics - Geant4 is C++, Pythia is going C++(With the release of PYTHIA 8.100, this new C++ version series takes over from the older Fortran 77-based PYTHIA 6.4). Fortran would have been an excellent idea 10 years ago.
Landau said:At the risk of going off topic, I am a third year student physics and mathematics, and all I ever used is Mathematica. I would like to learn the basics of C++. Could anyone tell me a good book/set of lecture notes/website?
fleem said:As per my prev post i strongly recommend Java over C++. But if C++ it is, then I strongly recommend learning C before C++. There was a C compiler put out decades ago called "Power C" which came with a thick white paperback book. That book still blows away everything else I've read. If you can find one on ebay that would be cool. If not, C is a very simple language and can be learned in a short time with internet tutorials. Then only after you are comfortable with C should you tackle C++.
fleem said:A search of a reputable job site (indeed.com) for the terms "C++" and "PhD" return 21 times as many hits as a search for the terms "fortran" and "PhD". Likewise a search for "java" and "PhD" even returns ten times as many. I searched several other sites in the same way, including science-only job sites, and got the same results. If it were only a few times more, one might argue that there was some skewing of the search counts because of how science jobs are typically advertised. But a 21-fold difference makes the statement "almost everything is still in fortran" less feasible.