Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!munnari!comp.vuw.ac.nz!lindsay From: lindsay@comp.vuw.ac.nz (Lindsay Groves) Newsgroups: comp.ai,sci.philosophy.tech,talk.philosophy.misc Subject: Re: Is Computer Science Science? Message-ID: <12999@comp.vuw.ac.nz> Date: Tue, 29-Sep-87 22:08:00 EDT Article-I.D.: comp.12999 Posted: Tue Sep 29 22:08:00 1987 Date-Received: Sat, 3-Oct-87 08:22:07 EDT References: <5113@sunybcs.UUCP> <6195@apple.UUCP> <5068@jade.BERKELEY.EDU> Reply-To: lindsay@vuwcomp.UUCP (Lindsay Groves) Distribution: world Organization: Comp Sci, Victoria Univ, Wellington, New Zealand Lines: 42 Xref: mnetor comp.ai:827 sci.philosophy.tech:496 talk.philosophy.misc:722 In article <5068@jade.BERKELEY.EDU> ed298-ak@violet.berkeley.edu (Edouard Lagache) writes: >>> >.... Does Computer Science have any laws? >>> >>"Anything that can go wrong will go wrong." >> ... > > Hey those aren't laws from Computer Science, they are from the > Science (Religion?) of Murphyology.! > > E.L. The August issue of the Communications of the ACM contains an article by C.A.R.Hoare and eight others, entitled "Laws of Programming". One of their laws (4) is: ABORT U P = ABORT where ABORT (which they denote by an upside down T) is a statement that can do anything ("It places no constraint on the executing machine, which may do anything, or fail to do anything; in particular, it may fail to terminate"), and U is nondeterministic choice. The text explaining this law says: "This law is sometimes known as Murphy's Law, which state, "If it can go wrong it will"; the left-hand side describes a machine that CAN go wrong (or can behave like P), whereas the right-hand side might be taken to describe a machine that WILL go wrong. But the true meaning of the law is actually worse than this: The program ABORT will not always go wrong -- only when it ismost disastrous for it to do so! THe abundance of empirical evidence for law (4) suggests that it should be taken as the first law of computer programming." It seems that being part of "Murphyology" doesn't preclude something from being a law of Computer Science -- this one is given a very precise statement and interpretation as a law of programming, which must also count as a law of Computer Science. Given that Computer Science draws heavily on such fields as mathematics, logic, linguistics (Chomsky's hierarchy has far more relevance to Computer Science than it does to lingusitics!), electrical engineering etc., it is not surprising that laws in Computer Science should bear similarity to laws in other areas. Lindsay Groves Logic programmers' theme song: "The first cut is the deepest"