[comp.lang.modula2] The JPI Modula-2 compiler

SINBV@NOBERGEN.BITNET ("Bjoern Asle VALDE 5 21 26 98", +47) (03/22/88)

In a recent posting Barry Cornelius writes:

>Does anyone have any experience with the JPI Modula-2 system
>available from Jensens and Partners International (JPI) Ltd.,
>63 Clerkenwell Road, London EC1M 5NP.   Phone +44 1 253 4333.
>It "runs on all IBM PCs and compatibles, including the Amstrad 1512
>and 1640.   Requires 512KB RAM".   I believe it retails in the UK
>for 80 UK pounds.
>==
>Barry Cornelius
>==


I've used JPI for some time, and I like it a lot. It has a friendly
working environment with integrated editor (4 windows can be open at
the time), a fast compiler, integrated "make" facility and a high
speed "smart" linker. On a 8Mhz AT it compiles something like 3-5000
lines/minute. The user can control the memory model (segmentation),
long/short pointers etc. The compiler produces standard Intel OBJs,
though I have not managed to use any debugger (read: Codeview) other
than at the assembly level. JPI are supposedly working on an debugger.
The compiler generates standard MAP files that can be an aid to the
debugging process, but naturally I've rather use a  source level
debugger ala the one from Logitech or Microsoft.

JPI deliver (in the package) a nifty assembler that are
well suited to produce those few but vital assembly routines that
sometimes are required. This assembler has worked for my use, but it
looks like a hack, the documentation is a few pages long "readme"
file! :-) The compiler has all data types mentioned in PIM 3ed, and more.

"User Friendly" environments can be a bore, but I've found the JPI
environment to be fast, reliable and nice to work with. Perhaps the
main reason why I like this environment is that you can customize it
to ones personal taste... For working with short modules is it in my
opinion ok, but for more heavy editing I wouldn't want to be without
my trusted Brief editor, therefore I find it a plus that both the
compiler and linker can be used from the prompt.

JPI delivers the source to all the library modules in the price.
The screen io is coupled to a fast and quite powerful windowing system.
There's also a time-sliced process manager. As for the library modules,
has Jensen & co chosen not to care a bit about any existing "standards",
not PIM, not any of the suggestions from Barry (read: BSI working group),
nor anyone else.... Although I'm not dogmatic about this it do seem to
be a little drastic. Mind you: all the power is there, so it's easy to
build a "shell" around the library routines so you could stick to the
more established calling names for portability reasons. Which brings up
another point: there's extensions in the JPI package (compared to PIM and
other M2 implementations) - oh boy are there extensions - there's even
the infinitely-abusable goto statement (!) Personally I'm not dogmatic
about this either. If you prefer to stick to the standards then that's
perfectly possible, but the extensions means that with this package you
could squize every bit out of a Intel machine. I'm sure many will have
much valid & reasonable to say about this, as for me I don't have time
to wait for standards, I would rather have a working tool I like to get
the algorithms up and working. Besides that, one of the nice things with
standards is that there are so many to chose from :-)


As for the history of the product I enclose the following information
I picked up at byte's BIX a time ago (I hope the people at
bix won't mind...) :

>==========================
>modula/general #1937, from njensen, 504 chars, Fri Jan 22 19:17:31 1988
>This is a comment to message 1933.
>There is/are comment(s) on this message.
>--------------------------
>Well, what can I say Frode? It's a long story and rather boring
>at that. Here is the short version: JPI Modula-2 and a super C
>compiler was being developed by Borland making use of the code
>generation technology you see in JPI Modula-2. Borland then
>decided not to make use of this technology, which made me and
>the people who developed the technology leave Borland. We
>subsequently bought the technology from Borland for 1.7 million
>Dollars and set up Jensen & Partners who is now selling JPI
>Modula-2.

Now would you believe it, JPI M2 turns out to be the long-awaited
Borland Modula-2....! (Actually I do believe it, for reasons I won't
go further into). The code generation is awesome, truly amazing :-)
JPI easily outperforms any of the M2 compilers I have seen (NB I've
not used the Stony Brook compiler) both in code size *and* speed.
It's as magic as the Masthaven for the Motorola chips... What's more:
for the time beeing I work with C (Ms C5.0 and Borland TurboC 1.5),
and to my *big* surprise I find the same to be true with the respect
to those to compilers - smaller code size and greater speed. Naturally
I should back up this with test results, but that's something I
leave to others who have time for it, so please take what I've said
over as a personal opinion and correct me if I'm wrong. I've based
my opinions on working with programs from "hello world" to a small
editor.


I have not spotted any ugly bugs in the product, but as this
is release 1.x I'm sure there are something waiting to bite you :-(
The license statement makes sense, technical support is reported to
be good (at least I've enjoyed speaking to Nils ...). UK users can
dial a BBS system ("TechLine" - software to do so are provided) for
feedback and hints. As I live in Norway (no, that's not pronounced
Nowhere !) I can't tell anything about it, but it can't do anything
but good to have the possibility I guess.

If this product had a Microsoft compatible price I would now start
to discuss it's weak sides. To a price most hobbyists, students
and professionals would approve of I won't. I think you should try
it out, I don't see how you could loose.

Reading over what I've written I feel I should apologize for the
length... Please note that I have nothing to do with JPI, I
just happen to believe that this is an excellent product. I wouldn't
dream of becoming so impressed if it was "just another fast C
compiler", this a M2 implementation that swings like Grieg music :-)

Happy dreams !  _Bjoern_


Department of Information Science, University of Bergen.

<sinbv@nobergen>
<sinbv%nobergen.bitnet@uk.ac.rl.earn>
x400: sinbv@rose.uib.uninett

FROM Standards IMPORT Disclaimer;