Me cuesta imaginar una subdisciplina de CS que no pueda tratarse matemáticamente. Sin embargo, parece estar confundido porque equipara la programación con CS. La disciplina del desarrollo de software como tal no es CS; Los problemas prácticos que surgen en la programación suelen ser tratados de manera científica por Software Engineering, no CS. Son dos disciplinas académicas: enredadas pero distintas.
Ahora que esto se ha aclarado, también hay dos enfoques básicos para casi el problema de la informática: el enfoque de sistemas y el enfoque teórico. Los investigadores de sistemas publican sus artículos en lugares como NSDI; los teóricos publican los suyos en lugares como STOC y FOCS (y en cientos de otros). Puede buscarlos para tener una idea de cómo es una investigación de este tipo.
A menudo, los teóricos descubren por primera vez una nueva idea importante y luego la filtran en la comunidad en general, ganando aplicaciones y adaptándose a los detalles del dominio. Por ejemplo, el algoritmo de detección comprimida que ahora está ganando popularidad fue desarrollado originalmente por matemáticos. Posteriormente, los investigadores de CS más orientados teóricamente descubrieron cómo aplicar esa idea a diferentes dominios, como el reconocimiento de imágenes o la tomografía en red. Ahora los investigadores de sistemas están construyendo prototipos de sistemas reales que se basan en esta idea subyacente.
- ¿Cuándo espera que se resuelva P vs. NP?
- ¿Cuál es el significado del lema de Schwartz-Zippel?
- ¿Cómo sirven las matemáticas como base para la informática teórica?
- Cómo lidiar con la codificación cuando no me gustan las matemáticas
- ¿Podría la programación de aprendizaje y las matemáticas cambiar mis patrones de pensamiento?
Toda la informática teórica es matemática. Algunos investigadores incluso llegan a considerar la CS teórica como una subdisciplina de las matemáticas, en lugar de una disciplina independiente.