Path: utzoo!attcan!uunet!mcsun!ukc!axion!puppis!pyoung From: pyoung@axion.bt.co.uk (Pete Young) Newsgroups: comp.software-eng Subject: Re: CASE - The Emperor has no clothes on! Message-ID: <1990Jun13.101122.15604@axion.bt.co.uk> Date: 13 Jun 90 10:11:22 GMT References: <7486@fy.sei.cmu.edu> Sender: news@axion.bt.co.uk Reply-To: pyoung@zaphod.axion.bt.co.uk Organization: British Telecom Research Labs Lines: 55 From article <7486@fy.sei.cmu.edu>, by bwb@sei.cmu.edu (Bruce Benson): > In article <5190@stpstn.UUCP> you write: > How much has bridge building changed since the first bridge was built? Sure > the techniques and materials have changed dramatically, but a bridge of > today would still be recognized by a builder of centuries past. The same > for buildings. This argument also applies to software at the ultimate (machine) level. Programmers of early machines would probably recognise the output from a modern compiler as a program, although they wouldn't be able to say too much about how it was designed. This is not intended as a personal assault on Bruce Benson, but I can't help wondering if building bridges is an appropriate analogy for what we are doing. > In software we seem to always push the limit, it gets larger and more > complex - always at the limit of what we can do. Doesn't a 4GL that > generates database update and report applications represent the bridge > construct? The better we understand (and do not vary) the application > the better we get at generating it. This is quite true, but modern bridge designers are also working at the limits of what they can do. Cost is also a factor - modern engineering is about building the cheapest bridge (say) that *just* doesn't fall down. Occasionally they get it wrong even after all these years. > Isn't what we are trying to achieve with Software Engineering simply a > restricted subset of the GPS (General Problem Solving) Algorithms of the > past decades? Are we not trying to create a general problem solving (and > construction) algorithm by trying to find an effective software engineering > method that works for everything? Yes, I think this is true. I also wonder if it is always sensible. The required properties of a database are as well known as the properties for a bridge. The bridge designer is able to follow a set of rules to prove that his design satisfies the required properties. This is the point where traditional engineering and software engineering diverges. Until we have developed methods of calculating programs from specifications (and this day is not as remote as you might think!) we are not an engineering discipline in the traditional sense. What I am trying to say is that where the problem is well-defined, we should be in a position to derive a set of rules specific to the problem. That way engineering principles could be introduced in certain cases without having to wait for general purpose solutions to be developed. Pete ____________________________________________________________________ Pete Young pyoung@axion.bt.co.uk Phone +44 473 645054 British Telecom Research Labs,SSTF, Martlesham Heath IPSWICH IP5 7RE