home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / edu / 1634 < prev    next >
Encoding:
Text File  |  1992-09-11  |  4.4 KB  |  90 lines

  1. Newsgroups: comp.edu
  2. Path: sparky!uunet!usc!sdd.hp.com!spool.mu.edu!agate!linus!linus.mitre.org!church.mitre.org!crawford
  3. From: crawford@church.mitre.org (Randy Crawford)
  4. Subject: Re: Programmers
  5. Message-ID: <1992Sep12.043133.6177@linus.mitre.org>
  6. Sender: news@linus.mitre.org (News Service)
  7. Nntp-Posting-Host: church.mitre.org
  8. Organization: The MITRE Corporation, McLean, VA
  9. References: <1992Sep10.142205.16217@merlin.dev.cdx.mot.com> <BuDHvA.226@mentor.cc.purdue.edu> <PSU.92Sep11102557@ptero.cs.duke.edu>
  10. Date: Sat, 12 Sep 1992 04:31:33 GMT
  11. Lines: 77
  12.  
  13. (Maybe rrn will manage to post less than 4 copies of _this_ article. :-{ )
  14.  
  15. In article <PSU.92Sep11102557@ptero.cs.duke.edu> psu@cs.duke.edu (Peter Su) writes:
  16. >
  17. >>  Indeed!  I have found that the biggest problem, here at college, is
  18. >>  that Computer Programmer is NOT a major.  It's not even a minor!
  19. >>  Instead, I get to be a Computer Scientist!  I don't want to be a
  20. >>  Scientist!  I want to be a Computer Programmer, [...]
  21. >
  22. >As a budding academic (heh heh) I, of course, must come to the defense
  23. >of those people who work in 'math theory bullshit.'
  24. >
  25. >This alleged 'bullshit' forms the basis for much of what is available
  26. >on a modern computer system.  Let's look at UNIX:
  27. >
  28. >- The libraries have a routine called qsort, [...]
  29.  
  30. This is an algorithm, not math theory.  To see the difference, pick up and 
  31. compare any algorithm book with Knuth et al's Concrete Math or a text on 
  32. computability.  I agree with the earlier poster, just about no one (even in 
  33. academia) will have use for such an extensive treatment of numerical theory 
  34. -- as opposed to a solid understanding of algorithms and computational costs, 
  35. which everyone should have.
  36.  
  37. >- There is a program called Lex that parses regular expressions, which
  38. >were made up by a math theory bullshit guy named Kleene.  [...]
  39.  
  40. Another specific algorithm.  I suspect your appreciation for lex is as a
  41. useful program which illustrates some algorithm, not as a wonderful example 
  42. of abstract algebra.  And BTW, lex doesn't do much with regular expressions.
  43. It's sole responsibility is identification of lexical tokens.  Look to YACC 
  44. for regexps and more.
  45.  
  46. [mixture of references to algorithms and OS/PL theory deleted]
  47.  
  48. >What's my point?  My point is this: Any programmer worth his salt must
  49. >have at least some idea why quicksort is good, how lex works and how
  50. >yacc works in order to make himself or herself better at what he/she
  51. >does. It is inexcusable to say 'I want to be a good programmer' and
  52. >NOT pay attention to the more important parts of the large body of
  53. >'math theory bullshit.'
  54.  
  55. I think you and we differ on what is math theory. I agree with you that there 
  56. is a real need for a working programmer to appreciate the big O complexity of 
  57. algorithms, and maybe even whether a certain task is computable.  But I sus-
  58. pect we differ when it comes to expecting most CS grads to be able to analyze 
  59. algorithms and derive their complexity, or decide whether a task in NP or 
  60. *P-complete, or compare partial or mu-recursive functions.
  61.  
  62. >If, after taking algorithms classes, OS classes, programming
  63. >lanaguages, compilers, etc, you *can't* figure out how a UNIX server
  64. >works on your own, or at least in Perl, then either YOU are clueless,
  65. >or those who taught you are clueless.  This doesn't mean that the
  66. >material is irrelevant to what you are interested in.
  67.  
  68. Learning a lot in your theory courses which is applicable to sockets and
  69. TCP/IP, are you?
  70.  
  71. >Go back and read Programming Pearls and More Programming
  72. >Pearls...twice.
  73.  
  74. Nothing there about Unix internals -- and you won't find your employer-to-be
  75. asking you as a BS or MS to do much algorithmic analysis (much less appli-
  76. cation of number theory).  However, you likely will be expected to get your 
  77. head around interprocess communication mechanisms, costs and tradeoffs, as 
  78. well as a host of other OS and programming language and software engineering
  79. issues which are skipped in the undergrad CS curriculum pretty much entirely.
  80.  
  81. The original assertion still stands -- number theory and computability has
  82. little business being part of an undergrad CS curriculum, unless the bulk
  83. of the undergrads can be expected to go on for CS PhDs, where they may find
  84. use for such things.
  85. -- 
  86.  
  87. | Randy Crawford        crawford@mitre.org        The MITRE Corporation
  88. |                                                 7525 Colshire Dr., MS Z421
  89. | N=1 -> P=NP           703 883-7940              McLean, VA  22102
  90.