home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / edu / 1378 < prev    next >
Encoding:
Text File  |  1992-08-27  |  5.0 KB  |  101 lines

  1. Newsgroups: comp.edu
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!linus!linus.mitre.org!crawford
  3. From: crawford@church.mitre.org (Randy Crawford)
  4. Subject: Re: programming languages, education, unanswered questions, loose threads
  5. Message-ID: <1992Aug27.164424.249@linus.mitre.org>
  6. Sender: crawford@church (Randy Crawford)
  7. Nntp-Posting-Host: church.mitre.org
  8. Organization: The MITRE Corporation, McLean, VA
  9. References:  <1992Aug26.170100.6270@iscsvax.uni.edu>
  10. Date: Thu, 27 Aug 1992 16:44:24 GMT
  11. Lines: 88
  12.  
  13. In article <1992Aug26.170100.6270@iscsvax.uni.edu>, bohy6489@iscsvax.uni.edu writes:
  14. > I had a programming languages course with Bruce MacLennan while at the
  15. > University of Tennessee.  He made three statements which (I think) contribute
  16. > very nicely to this thread during the course of that semester:
  17. >         1) "Every language since FORTRAN, with the possible exception of
  18. >             functional programming languages, is just warmed-over FORTRAN."
  19.  
  20. True also for APL and forth?
  21.  
  22. >         2) "A programming language is defined as a language in which you can
  23. >             write *any* program."
  24.  
  25. No doubt that would include Lotus 123 macros and C shell scripts.  I don't 
  26. think that's a particularly useful statement except to an academic who doesn't 
  27. have to program in this "language".  It smacks of a preoccupation with theory
  28. and turing machine equivalency.
  29.  
  30. > I *still* maintain (as someone else has pointed out) that it is *not* the
  31. > language which encourages bad programming style.  
  32.  
  33. Whoa.  Languages differ greatly in what they _allow_ the programmer to write.
  34. And because bad code is often a matter of poor programming style, bad C or bad
  35. FORTRAN is much more common than bad Pascal or bad Modula where poor style is
  36. more difficult.  I would agree with you, however, if you changed the word 
  37. "encourages" to "guarantees".
  38.  
  39. > With the possible exception
  40. > of LISP (which IMHO is unreadable), anyone can write a readable program in any
  41. > language.  
  42.  
  43. I think you are objecting to more than just parentheses when you deride Lisp. 
  44. Functional programming languages are an acquired taste.
  45.  
  46. > So the argument of what language should we use to teach CS is, in some sense,
  47. > rather pointless.  We all have our preferences.  I too think that C lets you do
  48. > some *very* ugly things.  I like Pascal and FORTRAN.  Not because they are what
  49. > I learned (I learned BASIC first), nor even because they are what I used most
  50. > (though they are).  It is almost an asthetic thing for me.
  51.  
  52. Teaching programming is more than teaching style.  If the programming language
  53. cannot support structured types, then you cannot use it to teach structured 
  54. types (or it becomes unnecessarily difficult)..  The same holds for data 
  55. abstraction, abstract data types, advanced data constructs (linked lists, trees, 
  56. heaps, stacks, etc), recursion, functional programming, etc.  In my opinion, 
  57. FORTRAN, and BASIC are poor choices for such instruction, and C suffers for the 
  58. poor machine abstraction it affords.  Ada is too complex and few compilers are
  59. available/affordable on personal computers.  The same is true for Common Lisp. 
  60. Pascal is not ideal in that few professionals  use it (like Algol or PL/1 or 
  61. scheme or ML).  The same holds for Modula 2. 
  62.  
  63. I think the conclusion among most academics who care is: teach programming in a
  64. language which teaches good stylistic form and supports the constructs needed 
  65. to learn more about computer science.  No language can be all things, but some 
  66. are simply inappropriate to certain tasks.
  67.  
  68. (...well reasoned comments deleted...)
  69.  
  70. > What sickens me most is that individuals with the knowledge and capability to
  71. > teach are being pushed out of schools in favor of those with a knack for
  72. > publishing (but could not teach their way out of a paper bag).  *THIS* is the
  73. > educational crisis in America, at least in post-secondary schools...
  74. ... 
  75. > ps - some other statements from Programming languages with MacLennan:
  76. >         "PL/I is the swiss-army-knife approach to programming language design."
  77. >         "After publishing the second edition of my book, I quit doing research
  78. >          in programming language design.  There's nothing new."
  79. >         (you could tell by the way he taught the course that he had lost much
  80. >          interest in the subject, I'll tell you that)
  81.  
  82. Sounds like it. 
  83.  
  84. Maybe we should divide universities the way some have suggested we divide
  85. college sports: college athletics could become professional and non-academic,
  86. and college research could follow its own non-academic track as well.  Let the
  87. graduate programs become separate entities from undergrad, with different profs
  88. and a different agenda (more applied).  Measure the undergrad profs as teachers
  89. and contributors to the applied sciences.  Leave the theorists to write theory
  90. and to produce other theorists.
  91. -- 
  92.  
  93. | Randy Crawford        crawford@mitre.org        The MITRE Corporation
  94. |                                                 7525 Colshire Dr., MS Z421
  95. | N=1 -> P=NP           703 883-7940              McLean, VA  22102
  96.