PDA

View Full Version : Want to learn Programming language in preparation for Post Grad...




WelshRover
Feb 16, 2009, 06:39 PM
Hello, I finished my undergraduate degree in Physics last year during which I had limited experience with Fortran. It was the first and only programming language I have ever used. We had an introductory course in 2nd year and were required to use it in a couple of research projects afterwards.

As it's been a couple of years since I used it, I'm fairly out of practice. I'm beginning a PhD in the Autumn and although it will be an experimental project, I will need to use a programming language for modelling.

So my question...

For scientific modelling, should I relearn Fortran, or would you recommend I started to learn C++ or another alternative. Can I download a compiler for free?

I'm sure you realise I only need basic understanding of a language. I won't be producing any software or anything, I just want to be confident in the art of computation.



trule
Feb 16, 2009, 07:05 PM
http://www.amazon.com/Computer-Algebra-Recipes-Advanced-Scientific/dp/0387257683

eddietr
Feb 16, 2009, 07:06 PM
Well, I would look at what your department or group is using. Usually you're not writing your own tools from scratch; your department most likely has a toolkit or toolkits that they use as foundations for their work.

That would likely influence your decision on which language to learn.

As for the compiler, yes, if you have a Mac you can download XCode which is Apple's IDE and underlying compiler and other tools. It is available free from http://developer.apple.com/mac

Of if you are Linux, then your particular distribution also has free developer tools packages. Some of them may already be installed on your system.

WelshRover
Feb 16, 2009, 07:36 PM
Thanks for your replies. All my friends who did Maths courses used MatLab. I here this is much more user friendly. Is it also a lot more basic?

lee1210
Feb 16, 2009, 09:34 PM
Hello, I finished my undergraduate degree in Physics last year during which I had limited experience with Fortran. It was the first and only programming language I have ever used. We had an introductory course in 2nd year and were required to use it in a couple of research projects afterwards.
<snip>
For scientific modelling, should I relearn Fortran, or would you recommend I started to learn C++ or another alternative. Can I download a compiler for free?


If you do decide you want/need to pursue fortran on OS X, there is a compiler called G95 available at http://g95.org/. It doesn't fully support all of Fortran 95, but it does a good job with what it does support. This compiler is free.

here's a link to binaries for OS X on x86
http://ftp.g95.org/g95-x86-osx.tgz

here's the link for PPC
http://ftp.g95.org/g95-powerpc-osx.tgz

You really should find out, as eddietr said, what is the lingua franca of your department or group is, though. If it's not fortran, there's not much use in refreshing your knowledge there. Depending on the requirements, they may use a higher level language like Python for fast prototyping, rewriting performance-critical section in C, etc. as needed. Without knowing this you'd just be guessing.

If you do need C++, there is a free compiler, g++, available as part of GCC (GNU Compiler Collection). This is installed with XCode, which eddietr mentioned in his post.

As for Matlab... It's very common in academia, but that's probably because it's very cheap for student and academic use (there's a license for $99 for student use), but once you graduate, a proper license will set you back $1,950. If you don't need it, I wouldn't spend my time there.

-Lee

trule
Feb 17, 2009, 02:53 AM
Thanks for your replies. All my friends who did Maths courses used MatLab. I here this is much more user friendly. Is it also a lot more basic?

Well, if you use simulation software all you have to do is enter the mathematical equations (or other parameters). If you want to use a programming language then you have to IMPLEMENT the logic behind those equations.

Don't waste your time learning to program, Matlab et al are significantly easier and far more capable when it comes to modelling.

Cromulent
Feb 17, 2009, 03:03 AM
I hear Python is becoming more popular in the scientific and mathematics communities. You might want to look into that. Nice easy language too.

lazydog
Feb 17, 2009, 04:22 AM
Have you used Maple?

b e n

hhas
Feb 17, 2009, 06:21 AM
Related: http://macresearch.org/