[comp.unix.questions] modula2 and dbx

rh@cs.paisley.ac.uk (Robert Hamilton) (05/11/87)

HAving just installed BSD 4.3 I was delighted to see that dbx now has
support for the DEC Western  REsearch Laboratory modula-2 (mod)

Question is where do I get mod? does it cost? 
We've been using the Cambridge m2 compiler since 4.1 .
Anybody had experience of both? how does mod compare?
-- 
JANET:  rh@uk.ac.paisley.cs
EMAIL:	rh@cs.paisley.ac.uk		| Post: Systems manager.
UUCP:	...!seismo!mcvax!ukc!paisley!rh	|	Department of Computing,
Phone:	+44 41 887 1241 Ext. 219	|	Paisley College
					|	High St. Paisley.
					|	Scotland.
					|	PA1 2BE

heiser@ethz.UUCP (05/14/87)

In article <312@paisley.ac.uk> rh@cs.paisley.ac.uk (Robert Hamilton) writes:
>HAving just installed BSD 4.3 I was delighted to see that dbx now has
>support for the DEC Western  REsearch Laboratory modula-2 (mod)
>
>Question is where do I get mod? does it cost? 
>We've been using the Cambridge m2 compiler since 4.1 .
>Anybody had experience of both? how does mod compare?

I had a look at the DEC compiler when we got it and was disgusted. They
shouldn't be allowed to call that Modula-2, it looks more like a dialect of
C. Probably the people who wrote it never programmed any Modula-2.
Examples: by default, the compiler is NOT case-sensitive, "thus, case
variations of reserved words may not be used for identifiers". (This nonsense
can be disabled by a compiler option.)

Much worse: definition modules are not compiled (and there is no compiler
option to fix that). Hence:
   - no timestamping, no consistency checks when modifying definition modules.
     Any real Modula-2 programmer estimates that as one of the most powerful
     language features when developing large systems.
   - identifiers imported in the definition module are not known in the
     implementation module, they must be imported again. This will generate a
     compile-time error in most other Modula-2 systems

It took me very little time to decide that the Cambridge system is excellent
(especially stuff like m2make etc). It took me much less time to decide to
keep off the DEC compiler.

Cheers

page@ulowell.UUCP (05/16/87)

rh@cs.paisley.ac.uk (Robert Hamilton) wrote:
>We've been using the Cambridge m2 compiler since 4.1 .
>Anybody had experience of both? how does mod compare?

heiser@ethz.UUCP (Gernot Heiser) wrote:
>I had a look at the DEC compiler when we got it and was disgusted. They
>shouldn't be allowed to call that Modula-2, it looks more like a dialect of
>C. Probably the people who wrote it never programmed any Modula-2.

[heat on high]

Gimme a break, Gernot.  We use both here - Powell's compiler (the DECWRL one)
on a VAX (ultrix and 4.3bsd) and the Cambridge compiler on a Sequent (32032).

Both have LOUSY error messages.  Powell's compiler has a couple of small
bugs that you can work around, but it produces very good code, is fast,
is quite clean internally, and is well integrated with UNIX.  True, the
I/O library just calls the C library, but most people around here consider
that a FEATURE, based on the brain-damaged I/O that Wirth specifies.  We
have written a mostly Wirth-compatible Modula library for those people
who want to stick to the original text.  It was not hard to do.

The Cambridge compiler is a joke.  The compiler chokes and core dumps on
silly little things, it produces HORRIBLE code (and is wrong a lot of
times, even on the most fundamental constructs), is NOT nicely written
(read: easy to fix) and uses hidden subdirectories (.sym, .lnk, etc)
to even work.  It also uses non-standard (not Powell, C or Wirth) I/O.
It doesn't even support "set of char"!!!  The debugger doesn't work at all.
The linker goes into infinite loops at times.

Maybe the VAX version of the Cambridge compiler is OK, but the NS32032
version sucks rocks.  I'd like to have somebody port the Powell compiler
to the Sequent rather than deal with the Cambridge compiler.

Disclaimer:  I do not know mod2 at all, and do not use the compilers,
but have to listen to my users constantly bitching about how stupid
the packages are.

Gernot again:
>It took me very little time to decide that the Cambridge system is excellent
>(especially stuff like m2make etc). It took me much less time to decide to
>keep off the DEC compiler.

Neither compiler is acceptable for real work, but I'd rather have
a compiler that generates good CORRECT code than one that makes you
scratch your head for two days until you realize the compiler reuses
a register when it's not supposed to be.

[heat on low]

Bug reports available upon request.

..Bob
-- 
Bob Page, U of Lowell CS Dept.   page@ulowell.{uucp,edu,csnet}