Indietro quando FORTRAN è stato sviluppato, non esisteva la portabilità del codice. Era assolutamente normale che il compilatore FORTRAN su una macchina accettasse un linguaggio leggermente diverso da quello del compilatore su un'altra macchina. La variante più comune era la lunghezza del nome. IBM 1130 FORTRAN consentiva cinque caratteri, il DEC-10 ne consentiva sei, il CDC 6600 (la mia prima macchina, il mio primo vero linguaggio assembly) ne consentiva sette. Gli array tridimensionali erano richiesti dal linguaggio; almeno un minicomputer (Varian 76?) FORTRAN consentiva matrici a sette dimensioni.
Le aziende estendevano regolarmente le loro lingue FORTRAN, per rendere le loro macchine più attraenti per i clienti e, mentre le estensioni potevano offrire funzionalità simili, non erano mai identiche. Molti compilatori hanno fornito estensioni per eseguire I / O su file e gestione overlay e non sono mai stati identici. A volte non erano nemmeno vicini.
Le conversioni da FORTRAN a FORTRAN, il porting di un programma da una macchina all'altra, erano un'industria molto caotica, ei ragazzi che potevano farlo potevano sempre trovare lavoro. (Ho lavorato a due di queste conversioni: ho aiutato a portare il gioco originale "Star Trek" di Matuszek-Reynolds-McGehearty-Cohen dal CDC 6600 al DEC-10, e ho portato un programma di analisi ECG da Varian 76 a TI 990. No due tali progetti erano identici.)
Questo genere di cose ha reso molto, molto difficile fornire librerie "standard", sebbene alcune persone ci abbiano provato. La libreria IMSL era la più grande, ma è stata spedita in forma di codice sorgente e al cliente è stato richiesto di farlo funzionare sul suo sistema.
Inoltre: i programmatori FORTRAN dovevano avere un ragionevole background in metodi numerici. Quasi tutti i programmatori FORTRAN sul pianeta in quei giorni hanno imparato come fare la deviazione media e standard per se stesso, come compito a casa. Ogni programmatore FORTRAN ha imparato la bisezione e l'iterazione di Newton-Raphson (oggi chiamata "Metodo di Newton") a scuola. I metodi di Runge-Kutta venivano insegnati, di solito a memoria, e, a quel tempo, gli integratori di Runge-Kutta del sesto ordine erano esempi da manuale. (Fu molto più tardi che la gente capì che il 4 ° ordine di Runge-Kutta era il "punto debole" sulla curva del rapporto costo-efficacia).
E: I programmatori hanno RAPIDAMENTE cambiato i computer senza cambiare lavoro. I programmatori che si muovevano in giro erano attesi E NECESSARI essere molto bravi a imparare come funzionavano i nuovi sistemi e a raccogliere le differenze.
In quell'ambiente, ci sarà ben poca richiesta di un codice STDDEV "standard", quando era qualcosa che qualsiasi programmatore FORTRAN competente entry-level poteva scrivere nel sonno.