home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / lang / cplus / 18909 < prev    next >
Encoding:
Internet Message Format  |  1993-01-10  |  2.3 KB

  1. Path: sparky!uunet!enterpoop.mit.edu!mintaka.lcs.mit.edu!ai-lab!life.ai.mit.edu!tmb
  2. From: tmb@arolla.idiap.ch (Thomas M. Breuel)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: feedback wanted on appropriate OOPL
  5. Date: 11 Jan 93 01:07:38
  6. Organization: IDIAP (Institut Dalle Molle d'Intelligence Artificielle
  7.     Perceptive)
  8. Lines: 36
  9. Message-ID: <TMB.93Jan11010738@arolla.idiap.ch>
  10. References: <726278910snx@trmphrst.demon.co.uk> <rmartin.726674455@thor>
  11.     <TMB.93Jan10170408@arolla.idiap.ch> <1993Jan10.220917.22879@netcom.com>
  12. Reply-To: tmb@idiap.ch
  13. NNTP-Posting-Host: arolla.idiap.ch
  14. In-reply-to: erc@netcom.com's message of Sun, 10 Jan 1993 22:09:17 GMT
  15.  
  16. In article <1993Jan10.220917.22879@netcom.com> erc@netcom.com (Eric Smith) writes:
  17. >In article <TMB.93Jan10170408@arolla.idiap.ch> tmb@idiap.ch writes:
  18. >>It is only true to say that _at compile time_, C++ will catch more
  19. >>programmer errors than Smalltalk.
  20. >>
  21. >>If you take into account both compile time and runtime, Smalltalk will
  22. >>catch more "programmer errors" than C++: not only will Smalltalk catch
  23. >
  24. >But when is runtime?  When the program starts running, or when it
  25. >encounters unusual data several years after it's put into production?
  26. >
  27. >The advantage of compile time error detection is that all the errors
  28. >that can be caught by the compiler are caught before the program is
  29. >released.
  30.  
  31. Detecting errors at compile time is better than detecting them
  32. at runtime. But detecting errors at runtime is better than not
  33. detecting them at all.
  34.  
  35. Unfortunately, the majority of errors that are detectable at all can
  36. only be detected at runtime. C++ has no support for runtime error
  37. checking, and C++ programmers leave out most of those checks (many
  38. couldn't be coded efficiently in user code anyway). That makes
  39. C++ programs relatively untrustworthy, but gives everybody the
  40. illusion that C++ is a "fast" language.
  41.  
  42. I believe that safety will become of paramount importance in software
  43. over the next decade. C++ will either adapt by mandating more runtime
  44. checks (integer overflow, pointer checks, garbage collection), or
  45. other languages will take over its niche. But even if C++ adapts, it
  46. is still at a disadvantage, since it seems that many runtime safety
  47. features are more expensive to provide in C++ in a way that is
  48. compatible with C++ than in other languages that aren't hampered
  49. by backwards compatibility.
  50.  
  51.                     Thomas.
  52.