comp.lang.ada
 help / color / mirror / Atom feed
From: machaffi@fred.cs.washington.edu (Scott MacHaffie)
Subject: Re: problems/risks due to programming language
Date: 23 Feb 90 06:46:25 GMT	[thread overview]
Message-ID: <10838@june.cs.washington.edu> (raw)

In article <8126@hubcap.clemson.edu% billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
%From machaffi@fred.cs.washington.edu (Scott MacHaffie):
%% No, it is necessary to use a statement to indicate that the current case
%% statement is finished...like an "end case" or the next "when =% " in ADA.
%
%   Such a statement already exists: either the next "case Value:", or 
%   the } which ends the switch.  Why is it necessary to use a "break"?

example:
	switch (x) { /* x is a character, for example */
		case '0': case '1': ... case '9':
			print_digit(x);
			break;
		case 'a': ... case 'z':
			print_lowercase(x);
			break;
	}
The semantics of a C switch/case statement are different than the semantics
of an ada case/when.

%   The problem cannot simply be defined out of existence by saying,
%   in essence, that good programmers don't make mistakes.  All human
%   programmers make mistakes, and a well-designed language will help
%   to minimize this particular tendency.  In this case, C does not. 

Good programmers understand the language they are using -- good programmers
are literate. No language can eliminate errors. Good software engineering
practices should be used to (try to) catch language-specific errors.

%%%   This is certainly true; Brooks and others have noted that the good
%%%   software engineering practices which are routinely introduced in
%%%   conjunction with the Ada language are responsible for more of the 
%%%   resulting improvements than the fact that the Ada language was
%% 
%% Well, these practices are certainly NOT being introduced in the 
%% universities (at least not here).
%
%   In that case, I strongly suggest that you immediately bring 
%   this fact to the attention of the software engineering faculty 
%   at washington.edu.  At other universities (e.g., Clemson), Ada
%   *is* introduced in conjunction with software engineering.

Software engineering faculty?  I wish. None of the undergraduate classes
here touch software engineering, and I think at most one of the graduate
classes does. Anyone who wants to be a software engineer here has to
pick it up from other sources.

			Scott MacHaffie

             reply	other threads:[~1990-02-23  6:46 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1990-02-23  6:46 Scott MacHaffie [this message]
  -- strict thread matches above, loose matches on Subject: below --
1990-02-28 18:57 problems/risks due to programming language, stories requested Paul Snively
1990-03-02 19:19 ` David F. Carlson
1990-03-03  2:10   ` problems/risks due to programming language Karl Heuer
     [not found] <5432@crdgw1.crd.ge.com) <8103@hubcap.clemson.edu) <10811@june.cs.washington.edu) <806@enea.se>
1990-02-26 18:48 ` What`s in a name?
1990-02-26 22:02   ` Karl Heuer
1990-03-02 10:57   ` Erland Sommarskog
1990-02-24 19:39 Erland Sommarskog
     [not found] <10811@june.cs.washington.edu% <8126@hubcap.clemson.edu% <10838@june.cs.washington.edu>
1990-02-23 18:55 ` B. S. Oplinger
1990-02-21 16:49 problems/risks due to programming language, stories requested Richard A Hammond
1990-02-21 20:15 ` problems/risks due to programming language William Thomas Wolfe, 2847 
1990-02-21 22:49   ` Richard A Hammond
1990-02-21 23:14   ` John F Nixon
1990-02-22  5:39   ` Scott MacHaffie
1990-02-22 20:13     ` William Thomas Wolfe, 2847 
1990-02-23 17:32       ` Richard A Hammond
1990-02-25 20:23         ` David Kassover
1990-02-22 20:48     ` Jeff Lawhorn
1990-02-23  2:00     ` Douglas Miller
1990-02-22 16:05       ` Dan L. Pierson
1990-02-22 20:28         ` David Kassover
1990-02-24 19:52         ` Erland Sommarskog
1990-02-23 17:45       ` Mike Harrison
1990-02-27  2:02         ` Douglas Miller
1990-02-22 18:28   ` Mike Percy
1990-02-23  2:09   ` Douglas Miller
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox