Fortran and Operating Systems – Why Fortran Was Never Used to Develop an OS

fortranhistoryoperating systems

I'm not a Fortran developer myself, but I'm about to use it a little and found myself wondering why, if it is much older than C but equally as performant as C, was it never used to develop any operating system before C and UNIX came along?

A substitute answer, if the above is invalid, might be which operating systems were developed in Fortran. But still, it didn't seem to catch on at all.

Best Answer

I'd say that Fortran, even of pre-C times, abstracts the programmer from hardware details too much.

  • No pointer support. If you want to pass large amounts of data between subroutines, you use a COMMON block, and you don't control its allocation. Pointer arithmetic and structure allocation control are hard to non-existent.
  • Data types are numeric-oriented. Referring to a particular byte is a bit hard, let alone bits.
  • I/O is provided by language statements, not by subroutines. You depend on the compiler's runtime for it, and cannot roll your own.

This is off the top of my head; last time I wrote Fortran-IV code was ~25 years ago.

Possibly you could alter a Fortran compiler to introduce the missing capabilities. But building a special-purpose 'portable assembly' language like C proved to be easier and more effective.

Related Topic