FORTRAN: An old but new language in memoriam of Prof. Dr. Olav Verbeke

logo_smallThe first time I met FORTRAN (and programming) was as a part of a numerical analyis course at the University in 1981. We had to “write” the program with punch cards. It was FORTRAN77 and we did not speak about structured programming at that time. During my PhD-time, I worked with FORTRAN 77 with my adviser Olav Verbeke. In that time, there were already rumours that in further versions, we should have to decalere all variables and we should forget the equivalence statement.  Later on, I learned C at one employer and then again I used FORTRAN77, with a lot of GOTO´s at another one. I moved from UNIX to LINUX, introduced there the GNU FORTRAN compiler and  used him to compile succesfully the old HP-FORTRAN77 programs.

fortran_bannerI made some new programs myselves and I found out that structured programming without GOTO, COMMON, … statements is very wel possible with FORTRAN90 for all our typical numerical programs. Structures of different types of variables can be described while subroutines can be collected in modules. C-functions can be merged in a FORTRAN program. Moreover, object oriented programming and parallel programming is also possible in FORTRAN 2003 and 2008, but I do not use that for the moment. Recently, also a GUI is available in order to make the program userfriendly with buttons and graphs. In case only a graph is needed, including GNUplot in the program is a fast and neat way to go.

imagesSome time ago, I was considering Python but the slowness of this interpreter is sometimes a problem. A direct competitor is C++, which is as fast as FORTRAN with splendid GUI possibilities but is complicated to learn. I decided to continue with my “old” FORTRAN and to wrap the subroutines in Python, if a GUI is needed. In fact, a lot of the Python modules in Numpy and Scipy are wrapped FORTRAN routines.

220px-John_Backus_2A lot of free FORTRAN source is available with the Numerical Recipes for FORTRAN 77 and FORTRAN 90, where the routines are well explained. Today, I program with CODE:BLOCKS IDE under Raspbian LINUX . I thank John Backus and his team for this wonderful job. John was the first one, who realized that developing a higher level language above assembler would speed up programming a lot. But he did not only have the idea, he also realized his idea at IBM. The name of his child was FORTRAN.

 

 

Raspberry Pi 4, a very nice “open source” surprise

logo_smallFor a long time, I am in favor of open source programs. My scientific work is done under Linux with GNU FORTRAN and some Python. Reports are written with Latex and spreadsheets are done with Libreoffice. Graphics are made with GNU-plot and my documentation system is Wikipedia. But I have to agree that I needed a lot of times an expensive LINUX consultant to get the thing running. And in some cases, the expert was not able to get it running because the relevant computer component has not a good driver for LINUX.

71RJj8SmQGL._SX355_The Raspberry Pi on the other hand is a cheap computer, developed to run with LINUX, in this case the Debian based Raspbian. Moreover, it is meant as a didactic tool for students. I bought a Raspberry Pi 4 with 4GB RAM, transformator, 32GB SD-card, which serves as hard disk, a small touch screen  and a HDMI cable for 100€ all-in. This is indeed cheap.

My colleague (a Windows expert) assembled the small computer and installed Raspbian on the SD-card in about 30 minutes and  it was already running. He also installed RDP (remote desktop) to have access from another PC or tablet or mobile phone when a second monitor, keyboard and mouse are not available.

I installed  without any knowledge GNU FORTRAN, a Python development environment, a keyboard on the small screen, LATEX with Texmaker, GNU-plot, SAMBA (to allow Windows explorer in the Raspberry Pi), Midnight Commander, Apache web server and WORDPRESS together with the MySQL database with the help of the well documented Raspbian site but without an expensive LINUX consultant. I program my Raspberry with a Windows laptop running MobaXterm.

And indeed, everything is working perfect, it is a nice surprise I never expected for 100€. I advise to install like me the small screen for (25€ ) because it allows to type a new Wifi code without monitor, keyboard and mouse. After making a copy of the SD-card, I can share my work on a new Raspberry Pi 4 without any installation.