Creo que la mayoría de los programadores aprecian el trabajo que entra en la teoría de CS, pero en caso de que no lo hagan, puede señalar algunos de los conceptos que se han hecho a los lenguajes principales como ejemplo:
– programación funcional: herramientas como jQuery y C # LINQ han sido extremadamente exitosas para hacer que el código sea más expresivo y más fácil de razonar (por ejemplo, menos ruido variable temporal)
– mónadas: a pesar del soporte primitivo en la mayoría de los idiomas, los patrones monádicos son fundamentales en los sistemas altamente modulares. Si bien el concepto en sí no necesariamente se acredita todo el tiempo, es una formalización de una forma abstracta de pensar que dio lugar a una gran cantidad de patrones que ahora se consideran buenas prácticas de ingeniería de software: por ejemplo, anotaciones que desacoplan la funcionalidad del sistema de la unidad -testabilidad de clases, diseño de API que permite que las operaciones asincrónicas sean componibles mediante programación (es decir, Promesas), etc. Oh, ¿mencioné los tipos anulables? Hacer que el compilador del desarrollador detecte posibles excepciones de referencias nulas en lugar de que el código explote en la cara del cliente es un gran problema deal
- ¿Qué es mejor, una licenciatura con honores conjuntos en matemáticas / CS o matemáticas / física?
- Dada la potencia computacional suficiente, ¿serían los objetivos de la mecánica del continuo tan complicados de lograr? Es decir, ¿sería matemáticamente más sencillo modelar sistemas de forma discreta que continua?
- ¿Cómo escribirías un programa que pueda calcular los dígitos de phi (proporción áurea)?
- ¿Hay evidencia que respalde que P = NP?
- ¿Por qué algunas funciones hash usan un número primo como base? ¿Cuál es el significado de usar un número primo? ¿Es para asignar unicidad y minimizar la colisión de valores hash?
También puede mencionar las numerosas aplicaciones comerciales que han surgido de lo que históricamente ha sido la investigación académica: la calidad de la herramienta de traducción en Chrome, los mejores cálculos de ruta en los mapas de Google, los filtros de Photoshop son ejemplos de sistemas de producción que se han beneficiado de la investigación teórica CS.