home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / edu / 1617 < prev    next >
Encoding:
Internet Message Format  |  1992-09-10  |  2.1 KB

  1. Xref: sparky comp.edu:1617 comp.lang.misc:3010
  2. Newsgroups: comp.edu,comp.lang.misc
  3. Path: sparky!uunet!spool.mu.edu!sdd.hp.com!news.cs.indiana.edu!lynx!nmsu.edu!dante!dclason
  4. From: dclason@dante.nmsu.edu (Dennis Clason)
  5. Subject: Re: Programmers
  6. Message-ID: <1992Sep10.210803.5131@nmsu.edu>
  7. Summary: Syntactic correctness isn't necessarily idiomatic correctness.
  8. Sender: usenet@nmsu.edu
  9. Organization: New Mexico State University, Las Cruces, NM
  10. References: <BuBBoJ.un@rice.edu> <1992Sep10.043815.4175@linus.mitre.org>
  11. Date: Thu, 10 Sep 1992 21:08:03 GMT
  12. Lines: 31
  13.  
  14. In article <BuBBoJ.un@rice.edu> sabry@rice.edu (Amr Sabry) writes:
  15. >Based on courses here at Rice University, here is a minimum list of
  16. >*concepts* that a real programmer should know:
  17. >
  18. >A person that understands the above concepts can design or implement
  19. >any programming language. Furthermore, they can code an algorithm in
  20. >any existing programming language efficiently. Finally, learning any
  21. >new language amounts essentially to learning a new syntax.
  22. >
  23. In the narrow sense of syntactic correctness, I'll agree with
  24. your last assertion.  I take issue with the claim immediately
  25. preceding it.  Users who don't understand the primitives in a
  26. language are liable to overuse (and even invent) inefficient constructs.
  27. I've seen this happen many times when programmers whose exposure has
  28. been limited to procedural languages (e.g. PL/I) are exposed to a
  29. nonprocedural language with similar syntax (i.e., SAS).  These
  30. programmers then proceed to reinvent the wheel.  I saw one case where
  31. the programmer went through several tortuous steps to do a simple
  32. linear regression.  All beautiful PL/I code, but horribly inefficient.
  33. She said "Oh, I can't be bothered to learn about the procedure
  34. library."
  35.  
  36. I've also seen this happen with scalar language programmers who
  37. start to pick up a vector language, e.g., Gauss, IDL.  You look
  38. at the code, and they loop through vectors right and left,
  39. ignoring operators and functions.  The stuff is syntactically
  40. correct, but idiomatically WRONG!  APL tends not to suffer from
  41. this problem as much -- I think that's because APL syntax is so
  42. foreign it forces your thoughts into new constructs.
  43.  
  44.  
  45.