[comp.lang.modula2] Time to choose folks

ROSS@UCF1VM.BITNET (Bri) (06/13/90)

OK, I need to make a decision as whether to stick with Logitech
Modula-2 v 3.4 or switch to TOPSPEED Modula-2 v 2.0.
What I would like to know is ALL complaints, suggestions for
improvements, and bugs found in TS v 2.0 . I'd also like to hear
the same ideas about Logitech. I have been an extensive user of
Logitech and have taken it completely apart. I have just received
an evaluation copy of the extended JPI and am currently playing with it.
The main goal is to decide which is better for EDUCATIONAL reasons
and not programming reasons (teaching concepts of programming and proper
style) but i am interested in personal reason for true systems programming
and other major projects.

Now, of the bat I know everyone complains that Logitech is slow compared
to TS and code is smaller and faster. To this I say: of course it is. A 1
pass compiler will usually be faster then a 2 pass one. And TS also turned
all compiler error checks off during those speed tests where as the other
compilers had theirs on. naturally doing extensive checking at compilation
time will slow down a compiler. As for run-time size and speed. Same thing
applies. Turning off run-time error checking and constraints will naturally
speed up the program and make it size smaller. So to such claims I say
BS until it can be clearly proven to me otherwise.

Other complaints I have about JPI is they are the BORLAND of Pascal.
JPI is so far from any international standard that they will have to release
an entirely new version when the standard is publisized, and if they don't
they risk loosing business to people who insist on portability (a main idea
in Modula-2 and modern languages)

Another thing I noticed is their documentation sucks (putting it nicely).
It is very anemic and leaves a lot to be desired, especially in the
library listing section. Logitech's setup is much nicer when compared to
this.


you can send flames, comments, suggestions or what not to either
the this listserve or my account. I will read both.
If requested, I can post/mail a summary.

Thanks,


Bri

ROSS@UCF1VM.BITNET
ROSS@UCF1VM.CC.UCF.EDU
ROSS@UCFLAN.CC.UCF.E

GRANGERG@VTVM1.BITNET (Greg Granger) (06/13/90)

On Tue, 12 Jun 90 21:54:56 EDT Bri said:
>OK, I need to make a decision as whether to stick with Logitech
>Modula-2 v 3.4 or switch to TOPSPEED Modula-2 v 2.0.
>What I would like to know is ALL complaints, suggestions for
>...
>The main goal is to decide which is better for EDUCATIONAL reasons
>...
>Thanks,
>
>Bri
>...

Well it sound to me that you already have made up you mind, but...
If you are interested in educational uses I would suggest the
TopSpeed Modula-2 version 1.17 with the TechKit this is available
from JPI for $95.95<US> (50.00 for compiler/VID, 35.95 for techkit
and 10.00 s&h).  The version 1.17 compiler is plenty good enough,
reasonably bug, free, small, friendly (in that you get most of the
lib source), and cheap (a big consideration for students).  I will
not argue standards as I am not 'up' on current International
Standards.

Greg

Peter.M..Perchansky@f101.n273.z1.fidonet.org (Peter M. Perchansky) (06/15/90)

Hello:

    TopSpeed Modula-2 does follow PIM3, but adds several nice extensions to the language.  Neil Jensen of JPI stated that when the draft becomes a standard, TopSpeed Modula-2 will conform to that standard.

    My main gripe about TopSpeed Modula-2 2.00 is the documentation is very poor, and has a lot of mistakes (ie. telling you must call a given procedure with a parameter of type CARDINAL, when the procedure really takes a parameter of type SHORTCARD).

    Neils Jensen stated that JPI is having the documentation rewritten by professional technical writers (instead of doing it inhouse as before).

    I used Logitech M2 at college, and JPI TopSpeed Modula-2 (1.17 & 2.00) at work and home.  TopSpeed wins hands down.



--  
uucp: uunet!m2xenix!puddle!273!101!Peter.M..Perchansky
Internet: Peter.M..Perchansky@f101.n273.z1.fidonet.org

chris@sarah.lerc.nasa.gov (Chris Johnston) (06/16/90)

We have been using Logitech's compiler for a few years now. I looked at
the JPI compiler and was quite impressed with it, at first. The things 
that made us stay with Logitech:
	Logitech used library modules that were quite similar to the ones
in Wirth's book. The JPI compiler "improved" the modules, using different
names for modules and procedures in modules. Some of the otherwise
identical procedures had the order of the arguements changed. JPI supplied
their CORE library, which defined modules with the same names (and with the
same procedures) as Logitech's. They didn't include FileSystem.

	Converting our Logitech code would have been a major pain.

	I wrote some assembly modules. These would have had to be changed
to match up with the segment and module names used by Logitech. There isn't
anything wrong with the way that JPI did these things, it just wasn't
worthwhile redoing the existing code to fit the new system.

	We found an odd implementation error in JPI's VAL statement. VAL
should always give you either a good conversion or a runtime error. JPI's
would happily convert a negative integer into a large cardinal without
warning. It also seemed to give you some 16 bit chunk out of a real when
you did a VAL from real to cardinal.

	They may have fixed all of these things by now. Unfortunately,
we have written even more Logitech code, making the conversion even harder...

	We don't mind the speed of the Logitech compiler system. The compiled
code is acceptably quick for our applications. I like the point editor a
*** LOT *** better than the wordstar clone in JPI.

	The people at JPI are very nice and the compiler isn't bad, but we'll
be sticking to Logitech until something comes along that is so much better
that it is worthwhile changing. Stony Brook looks good so far and our programs
seem to port easier. We're still looking.

		Chris

Cameron.Barnard@f715.n153.z1.fidonet.org (Cameron Barnard) (06/16/90)

Well I guess you have a point... BUT did you know that Logitech has a special 
deal for Students?!

I got my Modula-2  Student Pack 3.03 with the toolkit and the Pascal-Modula 
Translator for the low low price of $51.50 American including postage.

This is not some scaled down student version it is the real thing including 
all four manuals and all the disks.  The only thing you don't get is the 
cardboard box (Who Cares!) is is shrinkwraped instead.

For more information write to:

LOGITECH, INC.
Coupon Redemption
6505 Kaiser Drive
Fremont, CA 94555

And ask about their student pack 3.03!

Cam.


--  
uucp: uunet!m2xenix!puddle!153!715!Cameron.Barnard
Internet: Cameron.Barnard@f715.n153.z1.fidonet.org

TRL3@psuvm.psu.edu (Tim Larson) (06/17/90)

In article <INFO-M2%90061222191839@UCF1VM.BITNET>, ROSS@UCF1VM.BITNET (Bri)
says:
[ asking about JPI vs. Logitech ]
>The main goal is to decide which is better for EDUCATIONAL reasons
>and not programming reasons (teaching concepts of programming and proper
>style) but i am interested in personal reason for true systems programming
>and other major projects.
>
>Now, off the bat I know everyone complains that Logitech is slow compared
>to TS and code is smaller and faster. To this I say: of course it is.
[ explanation of typical press hype ]

Although I must admit that I haven't worked with Logitech for over 2 years,
the speed issue stands under any conditions I used when I switched to JPI.
What was lost?  JPI requires FORWARD declarations, which I have never had to
use yet.  I will admit, though, that speed is not necessarily going to be
an issue in an educational environment.  (Although I can still remember
taking a dinner break when compiling 40-line Ada programs on IBM mainframes
when I was in school--ouch!)

>Other complaints I have about JPI is they are the BORLAND of Pascal.
[ expansion on this idea ]

This is true enough as it stands, but is this an educational issue?  I assume
that JPI is involved in the standardization (I know, never assume, but it
makes sense given their involvement in Modula-2).  It may be that they have
provided enough of a de-facto base to allow them strong input into the process.
I haven't followed the draft standard; how far does JPI actually deviate from
their efforts?  Considering how few M2 implementations there are out there,
portability is a problem under nearly any environment.

>Another thing I noticed is their documentation sucks (putting it nicely).
>It is very anemic and leaves a lot to be desired, especially in the
>library listing section. Logitech's setup is much nicer when compared to
>this.

Could this simply be an example of the baby-duck syndrome?  It's always
difficult to overcome the inertia of working with a system that you have
come to understand deeply.  I prefer to think of JPI's docs as "lean."
I always felt like I was wading through a lot of prose to find the info I
needed from Logitech; whereas I can usually quickly find answers in the JPI
docs.  Are they perfect?  Flatly, no.  But they provided enough info for me
to get up and writing code in hours.  (I will admit that I already knew
Modula-2, so I may be biased toward the more fluent.)

I can think of one strong argument in favor of JPI--their libraries.  After
working with Logitech, and dealing with a couple meg of libraries, I nearly
felt like I had been ripped off by JPI when I first got it.  I soon began to
realize however, that JPI practised what Modula-2 preached: code reusability.
Their libraries are lean because they used the power of Modula-2 to reuse
redundant code, and allow simple extensions without rewriting whole modules.
As a simple example, consider their IO module.  Write your own string
output PROCEDURE, assign it to WrStrRedirect, and the whole library (including
all the WrInt, WrCard, etc.) are yours without any redundancy.  In fact,
you can have several kinds of I/O processing in the same program all using IO
while using only one IO module (simply keep reassigning WrStrRedirect).  Their
Window module takes full advantage of this fact.  Similar PROCs and modules
bear similar names, use common types and don't overlap.  This is something
that Logitech did not take advantage of (at least up to 3.0) and their
libraries showed it.  What does this have to do with education?  Simply this,
when you are teaching about information hiding, code reuse, modularity, and
so on, you have something concrete to show your students.  Have them write an
IO library in graphics modes.  All they have to solve is how to get a CHAR
up on the screen, the rest of the library is there for them to test it.  Let
them write a self-logging IO module.  Can this all be done in Logitech?  Of
course it can--but JPI already did it for you.

I'm not going to convince those who have made up their minds, but for me,
JPI opened up Modula-2 as something grander than a "fixed-up" Pascal.  I
learned more from studying their libraries than I learned from the half-dozen
reference books I keep around.

BTW: the book by K.N. King that JPI provides is a gem, too.  Worth a look
even if you use Logitech.

Posted apologetically by
-Tim Larson
trl3@psuvm.bitnet
(Sorry, that is, about the length.  %) )