¿La programación es una ciencia? Si es así, ¿por qué nadie usa el núcleo de la ciencia, el método científico, para ello?

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í.

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.

A2A

No lo llamaría una ciencia.
Un buen programador piensa fuera de la caja mientras permanece dentro de la caja.

Es más como el ajedrez de alguna manera.
Una combinación de reglas estrictas e irrompibles, intuición, experiencia, arte,
y perseverancia.

La mayoría del código es una iteración de lo que se ha ido antes y la originalidad es poco útil la mayor parte del tiempo.

La programación se parece más a la ingeniería que a la ciencia.
La informática, por otro lado, es una ciencia, y se utiliza el método científico. Es la ciencia de la computación y la información.
La programación es el puente entre la teoría y hacer algo que realmente funcione. A menudo está fuertemente informado por él, al igual que la ciencia informa a la ingeniería, pero es una preocupación más práctica, a menudo realizada sin fuertes lazos con la teoría.

¿Es medible y repetible? Sí. Algunos lo hacen, ver el trabajo de Charles More.
Charles H. Moore también llamaría a su obra una obra maestra de arte.

More Interesting

¿Cuáles son los casos de uso típicos para diferentes algoritmos de aprendizaje automático? Por ejemplo, ¿en qué condiciones típicas uno preferiría usar uno sobre el otro sin haber probado la precisión del aprendizaje?

¿Qué credencial de ciencia de datos es más valiosa, un certificado en línea de la escuela de extensión de Harvard o un MSC en línea del Data Science Tech Institute (París)?

¿Cuál es la diferencia entre un almacén de datos y una plataforma de gestión de datos?

¿Sería mejor tomar un curso de análisis de datos? ¿Hay mejores oportunidades para un nuevo análisis en India como analista de datos?

¿Cómo es un día típico para un científico de datos en LinkedIn?

¿Se puede utilizar el aprendizaje automático para explicar las tendencias de datos históricos?

¿Cuál es la explicación intuitiva de la curva ROC en estadística?

Qué tan bien se traduce la economía de pregrado (y algunas estadísticas) a trabajar en ciencia de datos. ¿Qué posición (es) debo considerar?

¿Quién ofrece servicios de limpieza o depuración de datos en EE. UU.?

Estoy planeando obtener la admisión para MS Data Science. ¿Alguien puede sugerirme las mejores universidades en las que pueda ingresar y tener buenos aspectos futuros?

¿Prefieres usar Mesos o Kubernetes para la arquitectura de big data? ¿Por qué?

¿Cuál es la mejor manera de entender los términos "precisión" y "recordar"?

Tengo 28 años y he estado trabajando como auditor financiero durante los últimos 5 años. Quiero saltar al área de ciencia de datos y blockchain y seguir mi carrera en estos campos. ¿Cómo puedo hacer eso?

¿Cómo se pueden utilizar los grandes datos para mejorar la eficiencia de las operaciones de vuelo?

¿Debo seguir escribiendo aplicaciones móviles o ciencia de datos?