home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / lang / modula2 / 1427 < prev    next >
Encoding:
Internet Message Format  |  1992-11-21  |  1.7 KB

  1. Path: sparky!uunet!think.com!spool.mu.edu!tulane!uflorida!buoy.cis.ufl.edu!bmr
  2. From: bmr@buoy.cis.ufl.edu (Benedict Rafanello)
  3. Newsgroups: comp.lang.modula2
  4. Subject: Re: Oberon-2 discussion continues
  5. Message-ID: <37695@uflorida.cis.ufl.edu>
  6. Date: 21 Nov 92 23:39:59 GMT
  7. References: <9211130912.A01822@MAIL.CASI.NASA.GOV>
  8. Sender: news@uflorida.cis.ufl.edu
  9. Organization: Univ. of Florida CIS Dept.
  10. Lines: 24
  11. Nntp-Posting-Host: buoy.cis.ufl.edu
  12.  
  13. |> >>>  e) DEFINITION & IMPLEMENTATION merged.
  14.  
  15. |>  >>This was a really bad move.  Now you can't define the interface separately
  16. |>  >>and enforce it, and the "*" and "-" stuff is really kludgy, very atypical
  17. |>  >>of Wirth's work.  Even if you accept that merging the def and imp is good,
  18. |>  >>interface details like READONLY really deserve their own keywords.
  19.  
  20. |>  No, this is a good move.  The maintenance of only 1 file is a big
  21. |>  win.  If you are concerned about the definition being published with
  22. |>  the source, don't worry.  There is a `Browser' module which will
  23. |>  output a definition for a compiled module.  You can then ship the
  24. |>  defintion (sans comments, unless you provide them) with your object
  25. |>  modules.
  26.  
  27. If both the interface and the implementation are in one file, how do you
  28. tell when only the implementation was changed?  This is very important for
  29. large projects.  Some of the projects that I have been involved with contain
  30. more than a million lines of code.  These projects (done in Ada) would take
  31. several DAYS just to compile.  If the interface to a package was changed,
  32. we would have to go through that horrendous compile cycle whereas if just
  33. the implementation was changed, we only needed to relink.  How does Oberon
  34. handle this?
  35.  
  36. Ben
  37.