Back when FORTRAN was developed, there was no such thing as portability of code. It was absolutely routine for the FORTRAN compiler on one machine to accept a slightly different language that the compiler on another machine. The most common variation was name length. The IBM 1130 FORTRAN allowed five characters, the DEC-10 allowed six, the CDC 6600 (my first machine, my first real assembly language) allowed seven. Three-dimensional arrays were required by the language; at least one minicomputer (Varian 76?) FORTRAN allowed seven-dimensional arrays.
Companies routinely extended their FORTRAN languages, to make their machines more appealing to customers, and, while the extensions might provide similar functionality, they were never identical. Lots of compilers provided extensions for doing file I/O and overlay management, and they were never identical. Sometimes they weren't even close.
FORTRAN-to-FORTRAN conversions, porting a program from one machine to another, was a very busy cottage industry, and the guys who could do it could always find work. (I worked two such conversions: I helped port the original Matuszek-Reynolds-McGehearty-Cohen "Star Trek" game from the CDC 6600 to the DEC-10, and I ported an EKG analysis program from Varian 76 to TI 990. No two such projects were identical.)
This kind of thing made it very, very difficult to provide "standard" libraries, although a few people tried. The IMSL library was the biggest, but it was shipped in source code form, and the customer was required to get it working on his system.
Also: FORTRAN programmers were expected to have a reasonable background in numerical methods. Just about every FORTRAN programmer on the planet in those days learned how to do mean and standard deviation for himself, as a homework assignment. Every FORTRAN programmer learned bisection and Newton-Raphson iteration (nowadays called "Newton's Method") in school. Runge-Kutta methods were taught, usually by rote, and, at that time, 6th-order Runge-Kutta integrators were textbook examples. (It was much later that people figured out that 4th order Runge-Kutta was the "sweet spot" on the cost-effectiveness curve.)
And: Programmers RARELY changed computers without also changing jobs. Those programmers who did move around were expected AND REQUIRED to be very good at learning how the new systems worked, and picking up the differences.
In that environment, there's going to be very little call for a "standard" STDDEV code, when it was something that any competent entry-level FORTRAN programmer could write in his sleep.
The android backbone is written on top of linux so not really. It is possible to write an Operating System in C++ and there are many ones out there albeit not popular. C++ gives you the OOP concepts you want while still allowing you to do the low level stuff that you need in order to communicate with hardware. C still is the language that most operating systems are written in (with some assembly backbone required) and this is because C is lightweight and personally I find it better just because it removes a lot of the OOP stuff that I find isn't needed to write an operating system (that's just my opinion though).
Technically it is possible to write an operating system in Java in a sense you would need to hook into C/C++ code (I can't remember how to do it in Java but I believe you can) which would in turn call on the assembly required to talk to some of the hardware. The java code would also have to compile directly to machine language instead of the current bytecode scheme that runs on the Java Virtual Machine.
The high level concept of the OS could be done in java but the problem is that a lot of the functionality would have to exist in another form as doing some of the required things for handling data from devices and such cannot easily be accomplished in Java if at all.
Best Answer
I'd say that Fortran, even of pre-C times, abstracts the programmer from hardware details too much.
COMMON
block, and you don't control its allocation. Pointer arithmetic and structure allocation control are hard to non-existent.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.