Secure Coding mailing list archives

RE: Education and security -- another perspective (was "ACM Queue - Content")


From: "Peter Amey" <peter.amey () praxis-cs co uk>
Date: Fri, 09 Jul 2004 10:19:06 +0100



-----Original Message-----
From: Crispin Cowan [mailto:[EMAIL PROTECTED]
Sent: 09 July 2004 04:27
To: Peter Amey
Cc: ljknews; [EMAIL PROTECTED]
Subject: Re: [SC-L] Education and security -- another perspective (was
"ACM Queue - Content")


Peter Amey wrote:

What is wrong with this picture ?

I see both of you willing to mandate the teaching of C and yet not
mandate the teaching of any of Ada, Pascal, PL/I etc.
     

Makes sense to me. what is the point of teaching dead 
languages like 
Ada, Pascal, and PL/I?  Teach C, Assembler, and Java/C# (for the 
mainstream), and some lisp variant (Scheme, ML, Haskell) and Prolog 
variant for variety. But Ada, Pascal, and PL/I are suitable 
only for a "history of programming languages" course :)
   

I do hope that is a sort of smiley at the end of your 
message.  Please.
 

It is a sort-of smiley. On one hand, I find the whole thing 
amusing. On 
the other hand, I find it patently absurd that someone would suggest 
that curriculum in 2004 would comprise Ada, Pascal, and PL/I, all of 
which are (for industrial purposes) dead languages.

On one hand, university should be about learning concepts rather than 
languages, because the concepts endure while the languages go 
in and out 
of fashion. 

[snip]

I would have to (at least partly) diagree on two counts.  

Firstly a tactical one: Ada is by no means a dead language.  There is a great tendency in our industry to regard 
whatever is in first place at any particular point in life's race to be "the winner" and everything else to be "dead".  
In practice very substantial use may continue to be made of things which are not in the ultra-visible first place.  For 
example, OS/2 was killed by Windows yet most ATMs in the USA still run OS/2.  We have't discussed the dead languages 
Cobol and Prolog but both are actually still in widespread use, the latter in the specific niches for which it is 
suitable.  Ada is actually still doing rather well in areas where high reliability is valued more than fashion (the Ada 
side of my business is growing steadily and has been for years).  Since we are concerned on this list with improving 
the security (a form of reliability) of systems, study of a language which has a proven track record in delivering 
relibaility is wholly appropriate.

Secondly, in response to your suggestion that we teach concepts (which I wholly agree with), languages, including dead 
ones, encapsulate and illustrate concepts.  Pascal was designed to teach structured programming.  Occam provides a 
splendid introduction to concurrency.  Modula-2 and Ada are ideal for illustrating the vital concepts of abstraction, 
encapsulation and the separation of specification and implementation.  The languages are worth studying for these 
reasons alone.  Those exposed to them will be better programmers in any language and will find adoption of new ones 
much easier.  

As you say, languages come in and out of fashion; what I find sad is that so many of the new languages have failed to 
learn and build on the lessons of those that have gone before.  I think it highly probable that this is because their 
designers have casually dismissed those that went before as dead and therefore of no interest.  They would have done 
better to emulate Newton and "stood on the shoulders of giants" such as Wirth.

I would never recruit someone just because they knew Ada rather than C; however, I would be highly unlikely to recruit 
someone who had such a closed mind that they thought Ada had nothing to teach them and was only fit for snide mockery.


Peter


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.  The IT Department at Praxis Critical Systems can be contacted at [EMAIL PROTECTED]
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.
www.mimesweeper.com
**********************************************************************


________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________






Current thread: