Path: utzoo!utgpu!jarvis.csri.toronto.edu!qucis!dalamb From: dalamb@qucis.queensu.CA (David Lamb) Newsgroups: comp.software-eng Subject: Re: problems/risks due to programming language, stories requested Summary: Characteristic errors of languages are "human engineering" flaws. Message-ID: <588@qusunitg.queensu.CA> Date: 1 Mar 90 19:40:53 GMT References: <9790@medusa.cs.purdue.edu> Reply-To: dalamb@qucis.queensu.CA (David Lamb) Organization: Queen's University, Kingston Ontario Lines: 76 In article bill@ssd.harris.com (Bill Leonard) writes: >In article <9790@medusa.cs.purdue.edu> gb@cs.purdue.EDU (Gerald Baumgartner) writes: > Again it looks like this bug wouldn't have occurred in another > programming language. > >I can't resist saying that this last statement seems to me to be utter >nonsense. What programming language (read, compiler) can read the >programmer's mind and tell what he meant? The use of the "break" statement >was a logic error ... I can't imagine a >programming language that could discern this type of error. [If I use >WHILE instead of IF, for instance, I can expect some things to work and >some not. Yet I seriously doubt any compiler could possibly detect this >error.] I think Baumgartner's point was that languages have "characteristic errors" that seem to be properties of the language rather than the programmer. For example, in C people use = instead of ==; in Pascal the corresponding error is caught by the compiler. In many languages, beginners get confused by where to put semicolons; in Turing that doesn't happen. In Bliss there were no types, and variable names and assigment didn't mean what you thought they meant; instead of the required x := .x+1, people left out the dot; the erroneous result means "store the address of the word after variable x into x". Characteristic errors of this sort can legitemately be considered "human engineering" flaws in the language, albeit sometimes minor ones. David Alex Lamb ARPA Internet: David.Lamb@cs.cmu.edu Department of Computing dalamb@qucis.queensu.ca and Information Science uucp: ...!utzoo!utcsri!qucis!dalamb Queen's University phone: (613) 545-6067 Kingston, Ontario, Canada K7L 3N6 Newsgroups: poster Subject: Re: problems/risks due to programming language, stories requested Summary: Expires: References: <9790@medusa.cs.purdue.edu> Sender: Reply-To: dalamb@qucis.queensu.CA (David Lamb) Followup-To: Distribution: Organization: Queen's University, Kingston Ontario Keywords: In article bill@ssd.harris.com (Bill Leonard) writes: >In article <9790@medusa.cs.purdue.edu> gb@cs.purdue.EDU (Gerald Baumgartner) writes: > Again it looks like this bug wouldn't have occurred in another > programming language. > >I can't resist saying that this last statement seems to me to be utter >nonsense. What programming language (read, compiler) can read the >programmer's mind and tell what he meant? The use of the "break" statement >was a logic error ... I can't imagine a >programming language that could discern this type of error. [If I use >WHILE instead of IF, for instance, I can expect some things to work and >some not. Yet I seriously doubt any compiler could possibly detect this >error.] I think Baumgartner's point was that languages have "characteristic errors" that seem to be properties of the language rather than the programmer. For example, in C people use = instead of ==; in Pascal the corresponding error is caught by the compiler. In many languages, beginners get confused by where to put semicolons; in Turing that doesn't happen. In Bliss there were no types, and variable names and assigment didn't mean what you thought they meant; instead of the required x := .x+1, people left out the dot; the erroneous result means "store the address of the word after variable x into x". Characteristic errors of this sort can legitemately be considered "human engineering" flaws in the language, albeit sometimes minor ones. David Alex Lamb ARPA Internet: David.Lamb@cs.cmu.edu Department of Computing dalamb@qucis.queensu.ca and Information Science uucp: ...!utzoo!utcsri!qucis!dalamb Queen's University phone: (613) 545-6067 Kingston, Ontario, Canada K7L 3N6