Friday, May 21, 2010

What's the best programming language to learn for physics research?

I'm graduating with a BS in physics next year, and I want to be marketable. I don't have any programming experience.

What's the best programming language to learn for physics research?
Since you're not actually looking to be a programmer, Perl might be a good language. Writing to and reading files is easy, getting user input and printing to the screen is easy. A lot of the stuff that is more tedious in other languages is simple in Perl, this will allow you to focus on programming fundamentals. Also, Perl has the PDL "language" (actually a module or plug-in, but it has it's own syntax) for number crunching, it's C on the inside, so it's very fast. There are people in the sciences that use Perl, I know that it has been used by geneticists and astronomers for example.
Reply:I am a PhD student in physics. I would say the answer to this question really depends on what kind of physics you want to do. If you are just looking to learn a basic computer language I would start with either C or java. These will teach you how to solve basic computer programming problems, and learn good basics.





I work in optics, but I think my experience is similar to many experimentalists. Many people use National Instrument's Labview for data collection. I find Labview is useful for getting something done quickly and easily. It is a visual based programming language, and has very good support for a lot of scientific hardware. However, I find it to be a bit clumsy, impossible to maintain, and difficult to debug.





My day to day programming is done in Matlab. Matlab has excellent help, many great functions for plotting, data analysis, curve fitting, etc. Matlab is also quite easy to learn. You can write functions, or just evaluate commands at the prompt.





I have my preferences, but every subfield has it's own favorite program or language. I will turn on my email contact info in my profile. If you would like, feel free to get in touch and I can give you more information based on what you really want to do.
Reply:If i were you i would start with an easy language like Visual Basic and then work up to C++ and then Javascript


No comments:

Post a Comment