El libro 'Cultures of Programming', del investigador Tomáš Petříček, propone analizar la historia de la programación a través de cinco culturas entrelazadas: matemática, hacker, ingenieril, de gestión y humanista. Cada una define una mirada distinta sobre el software: como objeto matemático demostrable, como diálogo con la máquina, como artefacto técnico sujeto a restricciones, como producto industrial organizado o como extensión del pensamiento humano. Los profesionales suelen adoptar una cultura principal y recurrir a las demás según el contexto.
Estas cinco culturas se agrupan en dos grandes categorías. Las culturas hacker, ingenieril y de gestión se centran en fabricar software, mientras que las culturas matemática y humanista se ocupan de relacionarse con él. Las tensiones entre ambas dimensiones, formalización frente a relevancia contextual, aparecen también en otras disciplinas, como la investigación científica, donde conviven enfoques cualitativos y cuantitativos.
El texto aplica este marco al software científico. En las décadas de 1950 a 1970, la ciencia seguía siendo ante todo un oficio y los investigadores adoptaban la cultura hacker, escribiendo programas Fortran pequeños. Con el aumento del tamaño y la complejidad surgieron bibliotecas reutilizables como LINPACK, y el desarrollo de software se separó de la investigación bajo el impulso de la cultura ingenieril, dando lugar a la profesión de ingeniero de software científico. No obstante, la cultura hacker persiste en cuadernos computacionales y flujos de trabajo. La cultura matemática, en cambio, tiene un papel menor, limitado en la práctica a la verificación estática de tipos, lo que ilustra la fricción actual entre ingeniería y hacker.
