
         PC CLUB
TOPIC:   PROGRAMMING
TO:      <xxxxx>   (xxxxxxx)
FROM:    BILL HOGAN   (TWDX23A)
SUBJECT: COLL/H.S. PROGRAMMING
DATE:    04/24/93 [edited 08sep00]

   I don't know what you heard, but what I said to <xxx> was this:

  "I would be remiss in my duties as a citizen if I did not at least
urge you to consider for a moment the possibility that 'programming'
in the sense of concocting recipes that presumably have a certain
presumably known effect upon a given stepwise-imperative (von Neumann)
machine is not the best way to begin preparing the current generation
of high school students for the jobs they will be expected to be able
to do ten or fifteen years hence because, if it is not the best way,
then we are misleading those students, to say the very least."

  To clarify the difference between what you propose and what I
propose, I have taken the trouble to put the two propositions right
next to each other, as follows:

-----------------------------|----------------------------
      *You advocate*         |      *I advocate*            
-----------------------------|----------------------------  
 informal language that      |  formal language that        
 presumably describes        |  demonstrably specifies      
 what computer program       |  what computer program       
 is supposed to do           |  is supposed to do           
-----------------------------|----------------------------  
        *plus*               |        *plus*                
-----------------------------|----------------------------  
 informal transformation of  |  formal transformation of    
 informal language that      |  formal language that        
 presumably describes        |  demonstrably specifies      
 what computer program       |  what computer program       
 is supposed to do           |  is supposed to do           
-----------------------------|----------------------------  
       *equals*              |       *equals*               
-----------------------------|----------------------------  
 computer program that       |  computer program that       
 presumably does what        |  in fact does what           
 informal language that      |  formal language that        
 presumably describes        |  demonstrably specifies      
 what computer program       |  what computer program       
 is supposed to do           |  is supposed to do           
 presumably says             |  demonstrably says           
-----------------------------|----------------------------  

  I quite agree with you that employing formalisms like Pascal to
manipulate computers focuses attention on the "How?" part of the
process of solving a problem, but the "How?" part comes AFTER the
"What?" part, not before!

  The reactions I am getting fit into a familiar pattern: Nothing
new. It won't work. It won't work as well as what we're already
doing. It won't work any better than what we're already doing. It's
obnoxious! It's proponents are obnoxious!

  These ploys didn't stop progress in the 1950's, when the
predecessors of today's programming languages were being introduced,
and they won't stop progress in the 1990's, as the successors to
today's programming languages are introduced.

  Ten or fifteen years from now, the market for hand-made computer
programs is going to be about as large as the market for hand-made TV
sets today -- whether you or I like it or not -- and, in my opinion,
for anyone to lead the current generation of high school students to
expect otherwise would be utterly irresponsible.

                                              (bill-CA)     
