Path: utzoo!mnetor!uunet!husc6!mailrus!ames!pasteur!sting.Berkeley.EDU!sarge From: sarge@sting.Berkeley.EDU (Steven Sargent) Newsgroups: comp.lang.modula2 Subject: Re: Anyone seen a good Amiga Pascal lately ? Why not Modula-2? Message-ID: <2054@pasteur.Berkeley.Edu> Date: 4 Apr 88 06:49:22 GMT References: <764@ndsuvax.UUCP> Sender: news@pasteur.Berkeley.Edu Reply-To: sarge@scam.berkeley.edu Followup-To: comp.lang.pascal,comp.lang.modula2 Organization: Experimental Computing Facility, UC Berkeley Lines: 36 Keywords: why not, indeed? > There are two major beefs I have with modula-2. > 1. Modula does not allow a variable number of parameters in function calls. > 2. Bitwise operators are not available (at least not standard.) > Begin end's required even when only one statment used. > Here is an example of why these things bother me. > If (x = True) Then > WriteLn('Error #',e,' in line #',l,' detected.'); [M2 example elided] > M2 is too verbose. Be careful here: writeln is NOT an example of a variadic procedure -- it's actually a funny macro, provided by the Pascal compiler. If you don't believe me, try to define a variadic procedure in Pascal. Can't do it. For further evidence, consider the syntax write('Error #', e:1); Try putting the ':' into one of your own procedure calls. Can't do it. [specifications of BAND, BSHL, &c. bitwise operators elided] 'Twould be nice. You can do some of these things with logical-ops on BITSETs, but BSH[LR] would be tough. Write 'em in assembly language, I guess, or C; I don't like the subroutine overhead but it usually wins over trying to do it in "pure" Pascal/M2. > Borland could fix modula-2 like they fixed pascal. Are you the same guy who was concerned about bitwise operators not being standard? > Modula-2 should never be forced upon students, it's inhumane. If you're going to teach a language with unsafe semantics and klutzy syntax, why not just go with C? Or even Pascal, since M2 is not clearly better than Pascal for rank beginners. > -- > /* Walter Reed UUCP : uunet!ndsuvax!ncreed > Internet : ncreed%NDSUVAX.BITNET@CUNYVM.CUNY.EDU > Ph 701-235-0774 Bitnet : ncreed@ndsuvax OR NU105451@NDSUVM1 > ------------------- */ Steven Sargent ARPA Internet: sarge@scam.berkeley.edu MILnet: sarge%scam.berkeley.edu@ucbvax.berkeley.edu TPCnet: {anywhere at all, really}!ucbvax!scam!sarge