Tony Hoare es uno de los pioneros de la Ingeniería de Software (inventor del algoritmo de ordenación Quicksort, la lógica de Hoare, el lenguaje para sistemas concurrentes CSP,…).

Hace unos años, Hoare dió una conferencia donde discutió la relación entre la ciencia de la computación (Computer Science) y la ingeniería del software. Vale la pena rescatarla del olvido.

Concretamente, en la conferencia da su opinión sobre dos preguntas muy recurrentes en este campo: ¿es el estudio de la computación una ciencia? y ¿es el desarrollo de software una ingeniería?. Él contesta qué sí a las dos preguntas basándose en la relación entre los dos conceptos: la computación es una ciencia porque sus resultados se aplican en una ingeniería y el desarrollo de software es una ingeniería porque utiliza los resultados de una ciencia.

La charla concluye (minuto 37) con dos predicciones (o ideales de futuro como él dice) muy optimistas: “the software will be the most reliable component of every product which contains it” y “software engineering will be the most dependable of all engineering professions because it will guarantee levels of serviceability and correctness beyond all other engineers can offer”. Estas afirmaciones, no deberían sorprender mucho viniendo del autor del artículo “The verifying compiler: A grand challenge for computing research” – (Journal of the ACM, 50(1),2003). En todo caso, deja claro que esto será posible gracias a la colaboración entre la ciencia de la programación y la ingeniería del software.

Independientemente de si se está de acuerdo o con las afirmaciones anteriores, vale la pena escuchar la charla ya que la mayor parte de ella se dedica a explicar las diferencias en general entre ciencia y ingeniería. Tres frases de ejemplo: “scientists pursue perfection but for engineers adequacy is the highest goal”, “the engineer cannot afford to be certain about anything”, “engineers want to use something it is known to work”.

Ci

Ciencia vs Ingeniería

Todas las transparencias usadas en la presentación las podéis ver aquí