Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site bnl.UUCP Path: utzoo!linus!philabs!sbcs!bnl44!bnl!drs From: drs@bnl.UUCP (David R. Stampf) Newsgroups: net.micro.pc Subject: Modula-2 Compiler for the PC (Review) Message-ID: <138@bnl.UUCP> Date: Fri, 19-Jul-85 09:23:53 EDT Article-I.D.: bnl.138 Posted: Fri Jul 19 09:23:53 1985 Date-Received: Sun, 21-Jul-85 22:37:27 EDT Distribution: net Organization: Brookhaven National Lab. Upton, N.Y. Lines: 49 Recent ads in PC-TECH, Byte and other magazines for a Modula-2 compiler for the PC for only $80.88 (with a discount if you sent in your Turbo Pascal Disk) caused me to give Modula-2 one more try. The following paragraphs describe it and indicate why I think you should make sure your Turbo disk is in a safe place. I have very mixed feelings about the compiler so not everything I say will be negative - maybe one should wait for version 2. The documentation that comes with the compiler is very slick and nicely done. Unfortunately, it does not always (ever?) match the software. In particular there is a fairly extensive tutorial that simply does not work! You would think that they could have hired a few undergraduates for a day and watch them try to follow the directions - but they obviously didn't. Once you complete your random walk across the keyboard and figure out what they really meant, you are faced with their editor which "knows" about Modula-2. Actually it doesn't. For each line that you enter into the source module, you have to precede it by a code (e.g. ALT-a for an assignment statement) at which point a kind of EBNF form of the statement appears and you fill in the blanks. Its cute, but the novelty soon wears thin as you try to write some real code. For instance, to enter the statement WriteInt(i,j); the following keystrokes are necessary: p WriteInt i j The tabs are necessary! If they are not present, the code looks perfectly ok, but it will not compile! The editor is in fact token-izing the code as you go and it need the tabs. *sigh* All of this just to make sure that I didn't forget a semi-colon. The next problem is that not all of the library modules agree fully with N.W.'s book. That will make it pretty difficult to port code. The programs that I typed all worked, but they were simple and did not really test the compiler. A problem may exist with portions of the run time system because when I tried to run the compiler on a PC-Jr, it failed if a "mode bw80" command had been issued before running the compiler, but not if a "mode co80" had been. There are lots of little traps like that I would bet. Finally, the ads don't mention that the machine you run on must have at least 320K of memory and a hard disk or 2 physical floppy drives. You cannot exist with one drive because switching floppies will kill you AND most importantly the software developement system uses the entire screen, so when DOS comes up with its "Please insert disk..." message, it scrolls your development system into the next universe. -- No simple way to redraw the screen. All in all, this will probably wind up on my shelf and I'll wait for a Borland entry (even here I have my doubts). I just hope that we don't have to wait 5 years to get a good implementation of this language.