Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!wuarchive!uunet!mcsun!ukc!edcastle!hwcs!styri From: styri@cs.hw.ac.uk (Yu No Hoo) Newsgroups: comp.software-eng Subject: Re: Art vs. Engineering Message-ID: <2996@odin.cs.hw.ac.uk> Date: 16 May 91 00:09:27 GMT References: <1991May9.124559.2924@ssd.kodak.com> <4315@meaddata.meaddata.com> <1991May13.181826.18832@hellgate.utah.edu> Sender: news@cs.hw.ac.uk Organization: Computer Science, Heriot-Watt U., Scotland Lines: 40 In article <1991May13.181826.18832@hellgate.utah.edu> b-davis%cai.utah.edu@cs.utah.edu (Brad Davis) writes: >Software creation is a craft, as in the great crafts of the ancient >world. Even the most talented "artist" needs to study, refine, and >hone his/her work and the most talented begining "artist" is still a >poor software writer. On the other side, there are no hard and fast, >tried and true rules that will create great software as there is in >the sciences and engineering to create new entities. I really like Brad's use of the word "craft" in this context. (However, I still think there is software engineering.) But I would like someone to elaborate on these "hard and fast, tried and true rules" which seem to exist in the sciences and engineering. How about comparing the software craftsman to the old stonemason. Take a look at any mediveal cathedral. Sure, some of these buildings stand only by chance and lycky "artistry" - but usually followed strict rules and principles, bulding to specification. That didn't stop them carving beautiful stones and creating wonderful buildings. And, these people are kind of the fathers of all engineers. Being an engineer today does not exclude you from being a skilled craftsman as well, on the contrary - it'll probably make you a very good engineer. An engineer may also be "artistic" and good at finding creative solutions. The software engineer may still "carve" his beautiful code as long as the carving doesn't weaken the design of the system. However, too many "ornaments" in the code will result in expensive maintenance. The customer may require a less original construction. If you only want to carve beautiful code you may starve. (Probably you can then call yourself an artist - starving, but only working for a higher purpose. :-) ) Finally, do not confuse scientists and engineers. The purpose of a scientist is to solve problems in order to advance his science. The purpose of an engineer is of a far more practical nature. ---------------------- Haakon Styri Dept. of Comp. Sci. ARPA: styri@cs.hw.ac.uk Heriot-Watt University X-400: C=gb;PRMD=uk.ac;O=hw;OU=cs;S=styri Edinburgh, Scotland