[Beowulf] A start in Parallel Programming?

Nathan Moore ntmoore at gmail.com
Tue Mar 13 14:33:25 PDT 2007

I have a few data points to add to the discussion:

(1) FORTRAN is easy to learn.  I think most of the college kids I  
work with could pick up 75% of the F77 language variant in an  
afternoon's reading (a good reference for learning the important  
parts of FORTRAN is "Classical Fortran" by Kupferschmid (http:// 
0824708024).  Amazon has half of the first chapter available for free  
if you want a taste of the book.)

(2) Unfortunately, excellent fortran compilers cost money (there are  
exceptions - g95 is pretty good, and intel's ifort is free for  
academic use.)

(3) You'll need a numerical library if you want to do scientific  
work.  You can certainly write a 6th order Runge-Kutta routine from  
scratch, but this takes a lot of time, and gets in the way of the  
real research/work you should be getting accomplished.  Along the  
lines of RGB's sockets analogy, you could fabricate microprocessors  
from silicon in your basement, but at some point you're making the  
decision that building on other people's work is an ok use of your  
time.  Numerical libraries are similar.  In my mind, one of the main  
disadvantages of Fortran is that the Gnu Scientific Library is  
written with a C interface.  This is a fantastic library which  
supersedes Numerical Recipes in almost every regard. (http:// 

(4) FORTRAN will likely not get you a programming job.  Most every ad  
I saw when looking mentioned Java, C#, or C++.  Understanding how an  
object-oriented language differs from a procedural language is  
important - especially in an interview (or when trying to get past  
resume screeners)!

(5) Finally, a personal anecdote:  In my graduate research, my  
production code was written in C++.  C++ was used because I was  
building off of another fellow's research and he wrote a huge class  
that I used.  The extensions I wrote were mainly procedural, so my C+ 
+ looked more like c-tran than something object oriented.  With  
regard to the C++'s STL, profiling revealed that the code spent most  
of its time on memory allocation.

Nathan Moore

- - - - - - - - - - - - - - - - - - - - - - -
Nathan Moore
Physics, Pasteur 152
Winona State University
nmoore at winona.edu
- - - - - - - - - - - - - - - - - - - - - - -

More information about the Beowulf mailing list