FORTRAN

From Unofficial BOINC Wiki

Jump to: navigation, search

[edit] General

One of the first of the "high-level" level languages. FORTRAN along with COBOL served, and to date still serve, as the first stepping stone in the process of moving the programming task from the arena of computer system specialists, to the arena of the subject matter experts. Instead of attempting to educate a computer operator in the mathematics or business logic, these tasks could now be handled by persons educated in the requirements of the problem space. In other words, scientists could develop programs without having to know the intricate internal workings of the computer, by writing code that was symbolic of his problem. Likewise, the business person could write programs that were much simpler to understand and expressed in common business logic.

The movement of programming tasks from the more arcane expressions that exist at the lower levels, where one line of code represented exactly one small operation on the target machine, to ever higher representations, has continued to this day. There are many languages where statements in the "high-level" language can represent hundreds of the lower level instructions at the lowest level. In fact, the proliferation of languages was so bad at some points in time that the Department of Defense once surveyed the number of specialized languages that were being used in their systems and found that they had over 5,000 separate and unique languages in use.

A case in point from my past (see Sea Story) was that the computer equipment I worked on that performed automatic tests on aviation electronic equipment used a language called VITAL (used on a system called Versatile Avionic Shop Test; and it surely demonstrated that you should not start vast projects with half-vast ideas) which was derived from a general testing language called ATLAS; not content with that, VITAL was later replaced with a variant called mini-VITAL.

One of the more interesting effects of raising the "level" or "generation" is the languages have become easier to understand by non-programmers, and are able to express problems more simply and with fewer lines of code as the level of expression has been raised in each generation. This noteworthy trend has also had exemplary effects on the ability to build code that is not only better structured, but is easier to understand, has more effective compilers, and is much more fault tolerant than in the past. Thankfully there are only a few isolated exceptions with programmers holding on to out-dated and overly complex languages out of nostalgia (the only one that comes to my mind is C++) but there is hope that these languages will wither away some day real soon now.

Programing Languages Used By BOINC Powered Projects

Project Computer Languages Used
BOINC System C, C++
Climateprediction.net (CPDN) FORTRAN
Einstein@Home C, C++
LHC@Home FORTRAN, C and C++
Predictor@Home FORTRAN
Rosetta@Home C++
SETI@Home C++
Personal tools