Astrophysics - Which Programming Language

AI Thread Summary
The discussion revolves around the choice of programming languages for specific applications, particularly in fields like astrophysics and simulations. C++ is highlighted as a strong option, especially for building simulations and is becoming a standard for advanced systems like the Multiphysics Object Oriented Simulation Environment (MOOSE). FORTRAN is noted as a legacy standard for larger computational tasks, while Python is suggested for its versatility. The conversation emphasizes that the best language depends on individual goals and the specific requirements of projects, with considerations for the type of solutions needed (implicit vs. explicit) and the complexities involved in simulations. Ultimately, the choice of programming language should align with the user's objectives and the nature of the problems they aim to solve.
Seb222
Messages
1
Reaction score
0
I've done a very small amount of C++, but I don't want to spend the time I have to prepare on learning a language when it would have been more preferable to learn another (even though it seems you may use several language, and learning one helps to learn another.)

But are there any language you would say I require? Of course, everyone seems to swear by one language, whereas someone else will tell you to avoid it at all costs, so it's all a little confusing. Any input would be really valuable to me, thanks!
 
Technology news on Phys.org
Depends on what you want to do and which style suits you best.
There are a myriad of options.

One would be a high level interpreted language of one of the math software - Matlab, Mathematica, Maple(there's a whole section https://www.physicsforums.com/forumdisplay.php?f=189" covering just those types of packages).
If you are interested in building simulations C++ is a good bet. On the other hand Java works for multiple platforms.
Then there's a whole another area of GPU computing(if you need more computing power), which as I understand it is quite similar to C++ in style(CUDA anyway, don't know about OpenCL).

Besides, a program is just a tool for helping you to some result. And if you are talking astrophysics the choice of language will be the least of your problems I'd wager.
 
Last edited by a moderator:
Seb222 said:
I've done a very small amount of C++, but I don't want to spend the time I have to prepare on learning a language when it would have been more preferable to learn another (even though it seems you may use several language, and learning one helps to learn another.)

But are there any language you would say I require? Of course, everyone seems to swear by one language, whereas someone else will tell you to avoid it at all costs, so it's all a little confusing. Any input would be really valuable to me, thanks!
Either FORTRAN or C++, with some Python perhaps.

C++ seems to be becoming the new standard particularly for Multiphysics Object Oriented Simulation Environment (MOOSE) with parallel and massively parallel systems.
For example, http://www.inl.gov/technicalpublications/Documents/4336141.pdf

FORTRAN is the legacy standard for larger computational/simulation systems.

There is the matter of implicit vs explicit solutions, with the possibility for hybrid techniques. A lot depends on the time scale and non-linearities.
 
Last edited by a moderator:
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...
Back
Top