Path: utzoo!attcan!uunet!munnari.oz.au!brolga!uqcspe!batserver.cs.uq.oz.au!brendan From: brendan@batserver.cs.uq.oz.au (Brendan Mahony) Newsgroups: comp.specification Subject: Re: Difference between Spec and Code? Who cares? Message-ID: <5444@uqcspe.cs.uq.oz.au> Date: 28 Oct 90 23:59:21 GMT References: <21500@dime.cs.umass.edu> <5321@uqcspe.cs.uq.oz.au> <40496@shemp.CS.UCLA.EDU> <13850@cs.utexas.edu> Sender: news@uqcspe.cs.uq.oz.au Reply-To: brendan@batserver.cs.uq.oz.au Lines: 33 blk@mitre.org (Brian L. Kahn) writes: >For some time, I've puzzled over the difference (if any) between a >specification language and a programming language. The best I can >come up with is that a spec has less information about data structures >and/or algorithms than is usually found in code. Higher order >programming languages and executable specification languages blur this >already shaky description. Anyone feel strongly about this issue? >Scratch that, I've read this newgroup awhile and I know that strong >feelings abound. ( ;-) Anyone have a cleaner definition than this? The class of specification languages properly contains the class of programming languages. My definition: A specification is a formal (i.e. clearly stated) description of the required behaviour of a system (not necessarily a software or purely software system). Specification languages deal with specifications. A program is a specification of a software system which is known to be executable. A common way to build a program is to use atomic components which are known to be executable, and constructors known to preserve executability. Languages containing only such primitives are programming languages. Note they remain specification languages. -- Brendan Mahony | brendan@batserver.cs.uq.oz Department of Computer Science | heretic: someone who disgrees with you University of Queensland | about something neither of you knows Australia | anything about.