¿Cuáles son las mayores diferencias entre la programación con fines científicos (por ejemplo, para modelos en física o economía) y la programación para la web?

La programación para la web se trata principalmente de la experiencia del usuario. Si crea un sitio web exitoso, tendrá millones de personas utilizando su servicio. Deberá ser receptivo, escalar bien, fácil de entender y navegar, incluso para un nuevo usuario.

Cuando se programa con fines científicos, la atención se centra en los datos y los resultados de los cálculos. Su salida puede ser texto sin formato a un terminal o datos en una base de datos. Es probable que tenga muy pocos usuarios del sistema, y ​​esos usuarios tendrán mucho conocimiento especializado. Por lo tanto, lo más probable es que se centre en modelar y manipular datos. Probablemente habrá matemáticas más avanzadas involucradas y algoritmos especializados.

Si está haciendo programación científica, es más probable que se encuentre en un entorno académico o de investigación, en lugar de una empresa nueva o centrada en el consumidor. Por lo tanto, el entorno en el que está programando también podría ser diferente.

La programación científica que se cita comúnmente tiene una gran dependencia de las operaciones de punto flotante (orientado a palabras en el sentido arquitectónico), mientras que otros negocios, la web y otros cómputos implican más operaciones orientadas a los caracteres para la comparación, la concatenación de cadenas, etc. tiene lugar un cómputo paralelo distribuido y débilmente acoplado. Se espera que veas más las matemáticas en computación científica. Las matrices son la estructura de datos científicos más común. A veces, otros tipos de estructuras de datos dominan en la informática empresarial y web (listas, árboles, etc.). Claro que ambos podrían tener problemas similares de matriz dispersa. Las dimensiones de matriz altas tardan aún más en computarse (la optimización y el almacenamiento de resultados intermedios de subexpresión comunes ayudan), esto tiende a ignorarse un poco. Los intereses económicos en la ciencia tienden a ser a más largo plazo.

Durante un tiempo fui desarrollador para la web y ahora trabajo para una empresa de minería de datos.
Cuando programa para la web, usted y las personas que lo rodean suelen centrarse en el proceso de desarrollo, la calidad del código, una organización estricta, etc.
Te sientes como parte de un equipo organizado que sabe exactamente cómo, qué y cuándo piensa que debe hacerse y el único problema es el cliente que no sabe lo que quiere.

Cuando eres programador científico, te das cuenta de que la organización del equipo, la calidad del código, la arquitectura estricta del producto o incluso la vista del cliente es casi inútil, porque no sabes de dónde vendrás después de otro modelo, algoritmo o heurística utilizado. Su mente está centrada en los datos y en cómo podrían organizarse en lugar de cómo debería organizarse su código.