Es más preciso pensar en la programación como una disciplina de ingeniería, aunque tal vez aún no sea lo suficientemente madura y estable como para estar en igualdad de condiciones con, digamos, la ingeniería civil.
La depuración de un problema de programación complejo se realiza esencialmente a través del método científico. Usted observa una discrepancia entre el comportamiento deseado y el real, formula la hipótesis de una causa, diseña un experimento, por ejemplo, cambiando una línea de código, para probar su hipótesis, realizar la prueba, observar los resultados … e iterar el proceso hasta llegar a una comprensión completa del problema.
Por supuesto, muchos programadores no hacen todo esto, y su proceso se resume en la frase “piratearlo hasta que funcione”. Podría entender completamente sus percepciones de programación, si la mayoría de los programadores que ha observado son así.
- ¿Cómo manejan los ingenieros los grandes datos de, por ejemplo, el monitoreo continuo de la salud?
- ¿Qué clases debería tomar en Columbia si quiero ser un científico de datos?
- ¿Es más fácil trabajar en SVM o LR para una persona con antecedentes menores de estadísticas y minería de datos?
- Hay varios cursos disponibles sobre ciencia de datos y análisis como Udaicity, Upgrad Imarticus, etc. ¿Cuál es el mejor para unirse?
- ¿Qué tan arriesgado es cambiar a la ciencia de datos después de trabajar durante 4 años en TI?
Por cierto, la informática es una bestia diferente, esencialmente una forma de matemáticas donde lo que se estudia es la computación misma. Si llamas a las matemáticas una ciencia, lo haría, porque gran parte de ellas es aplicar el método científico a las abstracciones, entonces CS definitivamente es también una ciencia.