La programación comparte filosofías de la ciencia, la ingeniería y el arte. Además, hay programadores que aplican estas tres filosofías:
- A los programadores de tipo científico les gusta escribir y diseñar algoritmos. Pueden tener una sólida base matemática y una amplia comprensión de las metodologías científicas.
- Los programadores de ingenieros son muy estrictos con la especificación y la corrección de la implementación. Son buenos desarrolladores de software.
- Los programadores artísticos son bastante diferentes y, en mi experiencia, raros. Valoran la belleza del código fuente, tienen fuertes sentimientos o intuición de cómo deberían funcionar las cosas y no les importa si el código realmente resuelve el problema o no, si es elegante y hermoso, eso es suficiente.
Siempre he argumentado que la programación real es arte: tomas una idea, la manipulas y le das un poco de magia. A veces su creación funciona tal como la soñó, pero a veces no. Cuando no funciona, borras todo e intentas algo diferente. En realidad estás jugando con ideas y técnicas, tratando de resolver un problema que tenías en mente, o terminas haciendo algo completamente diferente. La programación es arte cuando no tienes ni idea de qué hacer: usas tu imaginación para proponer algo. Cuando tiene un concepto funcional (implementado como un programa), puede extenderlo (mediante ingeniería) y demostrar que funciona (con la ciencia) pero que ya no es arte, es trabajo.
- ¿Su posición en el tiempo se considera parte de su estado físico?
- ¿Qué es la tierra y las ciencias de la vida?
- ¿Cómo sabemos que cada copo de nieve es único?
- ¿Qué es la comunicación científica? ¿Alguien puede dar ejemplos de ello?
- Si tienes la habilidad mágica omnipotente de crear cualquier cantidad de hierro y aceite que desees. ¿qué harías?