Ai tempi dello sviluppo di FORTRAN, non esisteva la portabilità del codice. Era assolutamente normale che il compilatore FORTRAN su una macchina accettasse un linguaggio leggermente diverso rispetto al compilatore su un'altra macchina. La variante più comune era la lunghezza del nome. L'IBM 1130 FORTRAN consentiva cinque caratteri, il DEC-10 ne consentiva sei, il CDC 6600 (la mia prima macchina, il mio primo linguaggio di assemblaggio reale) ne consentiva sette. Le matrici tridimensionali erano richieste dalla lingua; almeno un minicomputer (Varian 76?) FORTRAN ha consentito array a sette dimensioni.
Le aziende estendevano abitualmente le loro lingue FORTRAN, per rendere le loro macchine più interessanti per i clienti e, sebbene le estensioni potessero fornire funzionalità simili, non erano mai identiche. Molti compilatori hanno fornito estensioni per eseguire l'I / O dei file e la gestione degli 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, era un'industria di cottage molto impegnata, e i ragazzi che potevano farlo potevano sempre trovare lavoro. (Ho lavorato due di queste conversioni: ho aiutato il porting del gioco originale "Star Trek" 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 two tali progetti erano identici).
Questo genere di cose ha reso molto, molto difficile fornire librerie "standard", anche se alcune persone ci hanno provato. La libreria IMSL era la più grande, ma era spedita in forma di codice sorgente e al cliente era richiesto di farlo funzionare sul suo sistema.
Inoltre: ci si aspettava che i programmatori FORTRAN avessero un background ragionevole in metodi numerici. Quasi tutti i programmatori FORTRAN sul pianeta in quei giorni hanno imparato a fare la deviazione media e standard per se stesso, come compito a casa. Ogni programmatore FORTRAN ha imparato la bisection 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 6 ° ordine erano esempi di libri di testo. (È stato molto più tardi che la gente ha capito che Runge-Kutta del 4 ° ordine era il "punto debole" sulla curva del rapporto costo-efficacia.)
E: I programmatori hanno raramente cambiato computer senza cambiare lavoro. Quei programmatori che si sono mossi si aspettavano E RICHIESTAvano di essere molto bravi nell'apprendere come funzionavano i nuovi sistemi e nel raccogliere le differenze.
In quell'ambiente, ci sarà pochissima chiamata per un codice "standard" STDDEV, quando si tratta di qualcosa che qualsiasi programmatore FORTRAN di livello base competente potrebbe scrivere nel sonno.