Tony Hoare recently gave a conference at QCon where he discussed the relationship between the science of computing and the engineering of software.

In particular, he gives his opinion on two recurrent questions: Is the study of computing a Science? Is the development of software an engineering?. He answers yes to both questions based on the relationship between both concepts (in short, software development is an engineering because reuses the results of a science and the study of computing is science because its results are applied by an engineering).

The talk concludes (minute 37) with a couple of very optimistic predictions (or, better said, scientific ideals, as he says): “the software will be the most reliable component of every product which contains it” and “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”. This is not that surprising, coming from the author of the paper “The verifying compiler: A grand challenge for computing research”
(Journal of the ACM, 50(1),2003).

Regardless you agree or not with the previous statements, the talk is worth listening since most of the talk is devoted to explaining the difference between science and engineering (in general). A couple of example sentences from the talk: “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”.


Interested in modeling?

Interested in modeling?

Follow the latest news on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This