home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / lang / modula2 / 1606 < prev    next >
Encoding:
Text File  |  1992-12-22  |  3.4 KB  |  68 lines

  1. Newsgroups: comp.lang.modula2
  2. Path: sparky!uunet!usc!elroy.jpl.nasa.gov!jato!csi!rrunner!eldred
  3. From: eldred@rrunner.jpl.nasa.gov (Dan Eldred)
  4. Subject: MacMETH 3.2 Modula 2 compiler--free
  5. Message-ID: <1992Dec23.024931.28817@csi.jpl.nasa.gov>
  6. Sender: usenet@csi.jpl.nasa.gov (Network Noise Transfer Service)
  7. Nntp-Posting-Host: rrunner
  8. Organization: Jet Propulsion Laboratory
  9. Date: Wed, 23 Dec 1992 02:49:31 GMT
  10. Lines: 56
  11.  
  12. I recently ran across a modula2 compiler called MacMETH 3.2 on
  13. the sumex-aim archive.  It is written by N. Wirth et al for the
  14. Macintosh, and it seems to be a pretty nice self contained package,
  15. once you get used to their abuse of the Macintosh user interface.
  16. I'm surprised to have not seen discussion about it on this newsgroup,
  17. so I'll start it.  Features of MacMETH include:
  18.  
  19.     Built in editor which displays errors generated by compiler
  20.     Option to use editor of your choice
  21.     Smart shell for edit/compile/run cycles
  22.     Compiler with 68000/68020/68040 options
  23.     Linker for generating stand-alone applications
  24.     Symbolic debugger
  25.     Cross reference utility
  26.     Lots of examples
  27.     Extensive libraries (e.g. CursorMouse, Menu, FileSystem, etc.)
  28.     A detailed and useful manual in Microsoft Word (~200 pages).
  29.  
  30. The libraries make it much easier to do Macintosh GUI programming than
  31. by using the toolbox routines directly (which are also accessible); the
  32. ease of programming is comparable to Microsoft Quickbasic.  I've run
  33. both the compiler and programs generated with it on a Mac Plus, an SE/30,
  34. and on a Mac Quadra without problems.
  35.  
  36. The main irritation I have with MacMETH 3.2 is that it doesn't use the
  37. Macintosh interface in the normal way (but you get used to it quickly).
  38. While doing operations such as opening a file, a one-line window opens
  39. up at the bottom of the screen which displays a "best guess" for the
  40. next command.  For example, if you have selected the "Edit" command then
  41. this window displays the name of the file which you have worked on most
  42. recently.  To activate this selection you either have to hit the enter
  43. key or click the mouse on this small window.  To get the standard Macintosh
  44. dialog box for opening a file, you hit the tab key when this small window
  45. opens.  This is really obscure, violates the Macintosh GUI strategy, and
  46. I didn't figure it out until I plowed through the manual.  Error messages
  47. are also displayed in this small window.  Even though the system does
  48. become pretty efficient once you do learn it, it does not come close to
  49. conforming to the Mac interface.
  50.  
  51. The only other problem I have found so far is that pathname variables
  52. are limited to 63 characters.  This means you can't have source files
  53. for MacMETH buried too deep in a directory tree.
  54.  
  55. User interface aside, it is a very high quality product.  In particular,
  56. it has the simplicity and well-thought organization which are trademarks
  57. of N. Wirth.  I had never touched a line of Modula code before MacMETH
  58. (I'm a Unix C programmer with experience in Pascal), yet I was up, running
  59. and writing code in Modula almost immediately.  I'm certain there are other
  60. limitations (segment size, number of globals, size of symbol table, etc.)
  61. which are typical of Mac programs, though the manual claims that some very
  62. large projects were compiled with MacMETH.  Also I don't know how to link a
  63. MacMETH program to, say, a Think C or Think Pascal program (any hints?).
  64. Nevertheless, I strongly recommend MacMETH 3.2.  And you can't beat the
  65. price.
  66.  
  67.     - Dan        eldred@rrunner.jpl.nasa.gov
  68.