Category: Programming

Latest Library Updates

I just released some updates to my two most popular Fortran libraries on GitHub: JSON-Fortran and bspline-fortran. Coincidently, both are now at v5.2.0. Details of the updates are: JSON-Fortran There are several new features in this release. The biggest update

Posted in Programming Tagged with: , , , ,

Fortran CSV Module

The lowly CSV (comma-separated values) file never gets any respect. Sure, it isn’t really standardized, but it is a very useful text file format for columns of data, and is frequently encountered in science/engineering fields. Of course, there is no good

Posted in Programming Tagged with: , ,

GOTO Still Considered Harmful

For a number of years I have been familiar with the observation that the quality of programmers is a decreasing function of the density of go to statements in the programs they produce. — Edsger W. Dijkstra One of the classics

Posted in Programming Tagged with: ,

Fortran at 60

Today marks the 60th anniversary of the release of the original Fortran Programmer’s Reference Manual. Fortran was the world’s first high-level computer programming language, was developed beginning in 1953 at IBM by a team lead by John Backus. The first compiler was

Posted in Programming Tagged with:

Backward Compatibility

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” — Antoine de Saint-Exupéry The Fortran standards committee generally refuses to break backward compatibility when Fortran is updated. This is a good

Posted in Programming Tagged with:

Syntax Highlighting

Decently syntax highlighted Fortran code on the internet is hard to come by. None of the major sites where people are likely to visit to learn about Fortran have it: The Google Groups hosting of comp.lang.fortran (I don’t really expect much from

Posted in Programming Tagged with:

Intel Fortran Compiler 17.0

Intel has announced the availability of version 17.0 of the Intel Fortran Compiler (part of Intel Parallel Studio XE 2017).  Slowly but surely, the compiler is approaching full support for the current Fortran 2008 standard. New Fortran 2008 features added in this release are: TYPE(intrinsic-type) Pointer initialization

Posted in Programming Tagged with: ,

JSON-Fortran 5.1

JSON-Fortran 5.1 is out. There are several new features in this release. I added a get_path() routine that can be used to return the path of a variable in a JSON structure. This can be used along with the traverse() routine

Posted in Programming Tagged with: , ,

Dynamically Sizing Arrays

Often the need arises to add (or subtract) elements from an array on the fly. Fortran 2008 allows for this to be easily done using standard allocatable arrays. An example for integer arrays is shown here: Note that, if using

Posted in Programming Tagged with:

Natural Sorting

Sorting is one of the fundamental problems in computer science, so of course Fortran does not include any intrinsic sorting routine (we’ve got Bessel functions, though!) String sorting is a special case of this problem which includes various choices to consider, for example: Natural

Posted in Programming Tagged with: , ,