Quando o FORTRAN foi desenvolvido, não havia portabilidade de código. Era absolutamente rotina para o compilador FORTRAN em uma máquina aceitar um idioma um pouco diferente do compilador em outra máquina. A variação mais comum foi o comprimento do nome. O IBM 1130 FORTRAN permitia cinco caracteres, o DEC-10 permitia seis, o CDC 6600 (minha primeira máquina, minha primeira linguagem assembly real) permitia sete. Matrizes tridimensionais foram exigidas pelo idioma; pelo menos um minicomputador (Varian 76?) FORTRAN permitia matrizes tridimensionais.
As empresas estendiam rotineiramente seus idiomas FORTRAN, para tornar suas máquinas mais atraentes para os clientes e, embora as extensões pudessem fornecer funcionalidade semelhante, elas nunca eram idênticas. Muitos compiladores forneceram extensões para gerenciamento de E / S de arquivos e sobreposições e nunca foram idênticos. Às vezes eles não estavam nem perto.
As conversões de FORTRAN para FORTRAN, portando um programa de uma máquina para outra, eram uma indústria caseira muito movimentada, e as pessoas que podiam fazer isso sempre encontravam trabalho. (Eu trabalhei em duas dessas conversões: ajudei a portar o jogo "Star Trek" original de Matuszek-Reynolds-McGehearty-Cohen do CDC 6600 para o DEC-10 e portou um programa de análise de eletrocardiograma da Varian 76 para a TI 990. tais projetos eram idênticos.)
Esse tipo de coisa tornou muito, muito difícil fornecer bibliotecas "padrão", embora algumas pessoas tenham tentado. A biblioteca IMSL era a maior, mas era enviada no formato de código-fonte e o cliente era obrigado a fazê-lo funcionar em seu sistema.
Além disso: Esperava-se que os programadores do FORTRAN tivessem uma experiência razoável em métodos numéricos. Quase todos os programadores da FORTRAN do planeta naqueles dias aprenderam como fazer o desvio médio e padrão para si mesmo, como tarefa de casa. Todo programador do FORTRAN aprendia a bissecção e a iteração de Newton-Raphson (atualmente chamada de "Método de Newton") na escola. Os métodos Runge-Kutta eram ensinados, geralmente de maneira mecânica, e, na época, os integradores de Runge-Kutta de 6ª ordem eram exemplos de livros didáticos. (Foi muito mais tarde que as pessoas descobriram que Runge-Kutta de 4ª ordem era o "ponto ideal" na curva de custo-efetividade.)
E: Programadores RARAMENTE mudavam de computador sem também mudar de emprego. Aqueles programadores que se movimentavam eram esperados e necessários para serem muito bons em aprender como os novos sistemas funcionavam e captar as diferenças.
Nesse ambiente, haverá muito pouco pedido de um código STDDEV "padrão", quando algo que qualquer programador FORTRAN competente de nível básico possa escrever enquanto dorme.