From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_40,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,1042f393323e22da X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,1042f393323e22da X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,1042f393323e22da X-Google-Attributes: gid1014db,public From: "Nick Roberts" Subject: Re: Software Engineering and Dreamers Date: 1997/05/31 Message-ID: <01bc6d40$96100ca0$LocalHost@xhv46.dial.pipex.com>#1/1 X-Deja-AN: 245096907 References: <5md1fl$9f4@bcrkh13.bnr.ca> <338A2D0D.5B14@ix.netcom.com> <5meuvm$hpf@bcrkh13.bnr.ca> Organization: UUNet UK server (post doesn't reflect views of UUNet UK) Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.ada Date: 1997-05-31T00:00:00+00:00 List-Id: Kaz Kylheku wrote in article <5meuvm$hpf@bcrkh13.bnr.ca>... [...] > Engineering is the application of *physics* (and derivative hard sciences close > to physics) to create technology. This is seems to be perfectly clear to > everyone except a minority of computer weenies who suffer from engineer envy. I > know real engineers who _laugh_ at the term software engineering. > > This definition steps on some people's toes, because they can no longer fancy > themselves to be engineers. The problem is with their complex, not with my > lexicon. > > Perhaps their father wanted them to become an engineer and they have > disappointed him by becoming ``mere'' computer programmers. I have known such > cases. With respect, Kaz, you couldn't be more wrong if you were to say the moon were made of cheese. Would you say that a modern motor car represented a feat of engineering? I think most people would. There are a great many problems of physics and chemistry to overcome, as well as problems of human physiology, human psychology, and all manner of 'hard' sciences. And yet, a typical piece of software has _thousands of times_ as many working parts as any car (since every single instruction in a piece of software is a working part (yes it really is)). In fact, cars nowadays have a considerable amount of software in them, to run the engines, the air conditioning, the ABS braking (as well as the navigation system, the telephone, the radio/CD player, etc, etc, etc). Does a computer inside a car engine not count as engineering? What do you think the engine's design engineers (that is their official job title) would say? The design and construction of software is as much an engineering task as building a bridge, or an office block, or a motor car. It involves the understanding and negotiation of the laws of nature (in the form of logic and mathematics) as much as building physical things requires similar skills with regard to the physical laws of nature. It involves exactly the same processes of specification, design, refinement, and testing. It usually involves much of the same knowledge of human characteristics (mostly psychological) as most physical engineering does. In short, the skills of software engineering are remarkably similar to those of other branches of engineering. These professions have come from differing traditions (some much older than others), but thoughtful people are realising these days that building software is really almost the same business as building anything else. The only difference is that the software inhabits a non-physical nether-world, and tends to be vastly more complex; there are precious few other real differences. Nick.