Modula-2 in the real world (was: See Summary! M-2 discussion...) 
Author Message
 Modula-2 in the real world (was: See Summary! M-2 discussion...)

In a message on <Mar 14 18:15>, John M. Hughes (1:105/42) writes:

 >It is my opinion that Modula-2 has failed to gain a large
 >audience in the US because it does not readily lend itself to
 >"stream-of-consciousness" styles of programming.

I'm fairly sure that this is incorrect.  The primary reason that C is popular
now is because of the popularity of certain Unix tools that were (naturally)
coded in C.  In order to port them, it was either necessary to re-write them in
some other language or to obtain a C compiler and go from there.  Obtaining the
C compiler turned out to be simpler/cheaper so that's what people did.  (Not to
mention the C bigotry of those inexperienced in more than one language, but I
digress.)

Once a number of inexpensive compilers were available, people who had an
interest were able to obtain a compiler to work with.  Large numbers of
publishing houses were induced (with the promise of large profits) to produce
books on the subject.  Others produced libraries that could extend C's utility.
The interest fed on itself until we arrive at today.

I work in C, but I am a tireless crusader for Modula in the workplace.  
Unfortunately, most of what I say falls on deaf ears.  C has a track record.  C
has "momentum."  C has inexpensive compilers for native or cross-compiling for
a wide variety of systems.  C has inexpensive "third-party" libraries that make
many things simpler.  Modula has none of these.

Of course, most of those things are available at a price, and companies are
willing to pay for such things, but what about the individual user?  I keep
trying to justify writing programs for personal use in Modula, but I can't
get the tools.  I paid $100 for my database library for Turbo C, but I can't
afford 500 Pounds Sterling for one for Modula-2, and it seems that that's what
the ONLY one I could find costs.  

While it is true that MS-DOS users can get an inexpensive shareware compiler,
it is also true that there are absolutely NO libraries for it so it winds up an
interesting technological curiousity without much practical application.  Users
of other computers wonder if a Modula-2 compiler is available for their
computer (if they wonder about Modula at all) and, generally, can't find one.
(Oh, they can if they know where to look, but coding it in C or fortran or
whatever usually takes less effort than finding a Modula compiler.)

EVERY skilled programmer can be expected to know C, but how many can be
expected to know Modula?  Damn few.  (Don't tell me about university courses
taught in Modula, I'm talking about actual real-world experience.)  You don't
get that kind of "grass-roots" support for a language without inexpensive
tools and there I see NO motion on the part of Modula supporters to provide
them.

One last thing:  I would really like to see the "C is the bane of a
programmer's existence" style messages stop.  While it may be true, it is also
true that you cannot strengthen the weak by weakening the strong.  'Nuff said,
I hope.

--  
uucp: uunet!m2xenix!puddle!106!2000.25!Jon.Guthrie



Fri, 02 Sep 1994 03:06:12 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)

Quote:
>In a message on <Mar 14 18:15>, John M. Hughes (1:105/42) writes:

> >It is my opinion that Modula-2 has failed to gain a large
> >audience in the US because it does not readily lend itself to
> >"stream-of-consciousness" styles of programming.

>I'm fairly sure that this is incorrect.  The primary reason that C is popular
>now is because of the popularity of certain Unix tools that were (naturally)
>coded in C.  In order to port them, it was either necessary to re-write them in
>some other language or to obtain a C compiler and go from there.  Obtaining the
>C compiler turned out to be simpler/cheaper so that's what people did.  (Not to
>mention the C bigotry of those inexperienced in more than one language, but I
>digress.)

This was not meant as a "put-down" to C, but rather a backwards way of pointing
out that in C it is easier (IMHO) to whip up a chunk of code and compile it
than it is in Modula-2. In other words, C lends itself to more of a "type-and-
compile" approach to programming. This in and of itself is not a bad thing,
provided of course that one has thought out in advance what one plans to do.
Modula-2, on the other hand, tends to discourage a quick-and-dirty approach
by forcing the programmer to know in advance what modules will be needed. It
all seems to boil down to a "6 of one, half a dozen of the other" situation:
C gives it to you with minimum fuss, but with the potential of a lot of
debugging time, M-2 coerces you into thinking it out beforehand, with the
possibility of less time spent in post-compile debug. For neophyte programmers,
the C approach _may_ be offering more instant gratification.

Quote:
>Once a number of inexpensive compilers were available, people who had an
>interest were able to obtain a compiler to work with.  Large numbers of
>publishing houses were induced (with the promise of large profits) to produce
>books on the subject.  Others produced libraries that could extend C's utility.
>The interest fed on itself until we arrive at today.
>I work in C, but I am a tireless crusader for Modula in the workplace.  
>Unfortunately, most of what I say falls on deaf ears.  C has a track record.  C
>has "momentum."  C has inexpensive compilers for native or cross-compiling for
>a wide variety of systems.  C has inexpensive "third-party" libraries that make
>many things simpler.  Modula has none of these.

There is now a company selling Modula-2 cross compilers. The exact information
eludes me at the moment, but I believe the ad was in a recent edition of
"Personal Engineering". The prices looked reasonable (eg. $200 - $400).

Quote:
>Of course, most of those things are available at a price, and companies are
>willing to pay for such things, but what about the individual user?  I keep
>trying to justify writing programs for personal use in Modula, but I can't
>get the tools.  I paid $100 for my database library for Turbo C, but I can't
>afford 500 Pounds Sterling for one for Modula-2, and it seems that that's what
>the ONLY one I could find costs.  

At one time there was a company (PMI) which sold inexpensive libraries for M-2.
The products ranged from database/b-tree modules to graphics and math. As far
as I know, they're still at it. PMI, 4536 SE 50th Ave., Portland, OR, 97206;

Quote:
>While it is true that MS-DOS users can get an inexpensive shareware compiler,
>it is also true that there are absolutely NO libraries for it so it winds up an
>interesting technological curiousity without much practical application.  Users
>of other computers wonder if a Modula-2 compiler is available for their
>computer (if they wonder about Modula at all) and, generally, can't find one.
>(Oh, they can if they know where to look, but coding it in C or FORTRAN or
>whatever usually takes less effort than finding a Modula compiler.)

Well, not entirely true (at least for MS-DOS). There was the Fitted Software
Tools M-2 system, which I've used for years. The basic libraries are more
than sufficient for a large number of programming situations. However, the
last time I communicated with the owner of FST, Roger Carvalho, he expressed
his dissapointment in the overwhelming lack of interest in the compiler, and
in Modula-2 in general in this country. It would appear that FST has since
then dropped off the face of the earth. The compiler is still available from
sites like wuarchive.wustl.edu and SIMTEL20 (version 2.0 was the latest that
I've seen running around in the archives).

Quote:
>EVERY skilled programmer can be expected to know C, but how many can be
>expected to know Modula?  Damn few.  (Don't tell me about university courses
>taught in Modula, I'm talking about actual real-world experience.)  You don't
>get that kind of "grass-roots" support for a language without inexpensive
>tools and there I see NO motion on the part of Modula supporters to provide
>them.

I couldn't agree more. I don't think that the "demise" of M-2 in the US can
be attributed to it's lack of ability, or a purposeful effort by those with
interests in other languages. Rather, it does seem to be a case of simple
neglect and apathy. In other words, it just didn't make it (but then, that's
not unique with programming languages).

Quote:
>One last thing:  I would really like to see the "C is the bane of a
>programmer's existence" style messages stop.  While it may be true, it is also
>true that you cannot strengthen the weak by weakening the strong.  'Nuff said,
>I hope.

No, actually the bane of a programmer's existence is FORTRAN 66 :). C is more
like the super-sharp tool that is dangerous to use, difficult to handle, but
a joy to master. Modula-2 isn't quite so sharp, but it's easier to handle
(after reading the instructions), and one doesn't always need a razor.

Quote:
>--  
>uucp: uunet!m2xenix!puddle!106!2000.25!Jon.Guthrie


--
|     John M. Hughes      | "...unfolding in consciousness at the            |
| datalog.com!moondog!jmh | deliberate speed of pondering."  - Daniel Dennet |




Mon, 05 Sep 1994 08:36:46 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)
In a message on <Mar 19 06:22>, John Hughes (1:105/42) writes:

 >This was not meant as a "put-down" to C, but rather a backwards
 >way of pointing out that in C it is easier (IMHO) to whip up a chunk of code
 >and compile it than it is in Modula-2.

Well, I did NOT take the "C is more stream-of-consciousness" statement as a
put-down of C.  I merely do not think that this is THE reason (or even primary
among all of the reasons) that Modula-2 isn't as popular as it might be.

 >For neophyte programmers,the C approach _may_ be offering more instant
 >gratification.

This seems reasonable to me, too.

 >There is now a company selling Modula-2 cross compilers.

I bet they don't do NS32000 from a Unix (or Genix) host.  (Nobody seems to and
I don't think a DOS-based compiler would have the horsepower.  I KNOW the
DOS-based C compiler we tried didn't.)  As a matter of fact, Introl has a
DOS-based Modula-2 compiler to produce those executables.  However, the PTB
decided that Modula-2 was NOT an option that they would consider so the point
is moot.

(Actually, mentioning the NS32000 isn't fair to Modula.  It's not Dr. Wirth's
fault that the 32000 is a dead dog.  It's a nice processer, though.)  

 >>I paid $100 for my database library for Turbo C, but I can't
 >>afford 500 Pounds Sterling for one for Modula-2, and it seems
 >that that's what the ONLY one I could find costs.  

 >At one time there was a company (PMI) which sold inexpensive
 >libraries for M-2.

I will look into this.

 >>While it is true that MS-DOS users can get an inexpensive
 >>shareware compiler, it is also true that there are absolutely NO libraries
 >>for it so it winds up an interesting technological curiousity without much
 >>practical application.  

 >Well, not entirely true (at least for MS-DOS). There was the Fitted Software
 >Tools M-2 system, which I've used for years.

That is what I meant when I wrote "inexpensive shareware compiler."  I have a
copy of V2.0, but I've never used it for anything.  Since most of what I've
done (at home, at least) of late involves access to either dBase or Paradox
files, I've been doing a lot of stuff in C.  

(I did write a minor support tool for a project at work in Modula.  I used the
built-in serial-port handling capability of StonyBrook's library to do it.  As
a matter of fact, this has become THE standard tool that we use to talk to
8510E-6532 RTU's through the host communcations port.)

I might be interested in acquiring a Modula compiler that runs under a Unix
clone called Linux.  I've got most of a Modula-2 compiler here, maybe I'll
actually finish it this time.

 >No, actually the bane of a programmer's existence is FORTRAN 66 :).

I've never used FORTRAN 66.  (I've used both FORTRAN II and FORTRAN 77, though.
 I seemed to have skipped a couple of generations.)

 >>uucp: uunet!m2xenix!puddle!106!2000.25!Jon.Guthrie

YUCK!

A better Internet address for me is


I hope to have one at work, eventually, as well.

--  
uucp: uunet!m2xenix!puddle!106!2000.25!Jon.Guthrie



Thu, 08 Sep 1994 08:37:48 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)

Quote:

> C has inexpensive "third-party" libraries that make many things simpler.
> Modula has none of these.

But can't you use the C ones? Both the Modula-2 compilers that I have
used at all heavily had the ability to link with external code. All you'd
have to do is create appropriate definition modules to interface to the
libraries. While this isn't exactly trivial, and may involve some assembly-
language "glue" to handle issues with calling conventions (I have done
this sort of thing myself), it would be a *lot* less effort than developing
your own replacements for those libraries.

It's true, if you want to be a Modula-2 programmer these days, you have
to be something of a rugged individualist. Or suffer from sheer cussedness...

Lawrence "Sheer Cussedness--That's Me" D'Oliveiro



Sat, 10 Sep 1994 05:59:57 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)

Quote:
>In a message on <Mar 19 06:22>, John Hughes (1:105/42) writes:

> >This was not meant as a "put-down" to C, but rather a backwards
> >way of pointing out that in C it is easier (IMHO) to whip up a chunk of code
> >and compile it than it is in Modula-2.

>Well, I did NOT take the "C is more stream-of-consciousness" statement as a
>put-down of C.  I merely do not think that this is THE reason (or even primary
>among all of the reasons) that Modula-2 isn't as popular as it might be.

Hmm. Oh well. We disagree.

Quote:
> >For neophyte programmers,the C approach _may_ be offering more instant
> >gratification.

>This seems reasonable to me, too.

Hmm, again. We agree. :-)

Quote:
> >At one time there was a company (PMI) which sold inexpensive
> >libraries for M-2.

>I will look into this.

The address I posted earlier was about a year out of date (as someone else
pointed out).

Quote:
>I might be interested in acquiring a Modula compiler that runs under a Unix
>clone called Linux.  I've got most of a Modula-2 compiler here, maybe I'll
>actually finish it this time.

I would be interested in seeing how many folks would want to do a GNU-type
Modula-2 compiler for Unix platforms. Any takers? I have a couple of old
early Xenix machines (so early that calling it V7 with some BSD'isms is
_real_ close), one of which could be dedicated to such a project and
given its own address and anonymous uucp phone line. After all, if a
compiler will run under V7, it will most likely run under just about
anything Unix-ish (eg. Minix, Xinu, Xenix, et. al.).

--
|     John M. Hughes      | "...unfolding in consciousness at the            |
| datalog.com!moondog!jmh | deliberate speed of pondering."  - Daniel Dennet |




Sun, 11 Sep 1994 20:25:53 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)
In a message on <Mar 23 22:13>, Lawrence D'Oliveiro, Waikato Univer (1:105/42) writes:

 >> C has inexpensive "third-party" libraries that make many things
 >> simpler.  Modula has none of these.

 >But can't you use the C ones? Both the Modula-2 compilers that I
 >have used at all heavily had the ability to link with external code.
 >All you'd have to do is create appropriate definition modules to interface
 >to the libraries.

I don't think you've ever done this or you'd know that it isn't this simple.  
The compiler that I have (Stony Brook V2.1x, or some such) is able to
talk to routines written in C.  However, simply being able to call the
routines is NOT the same as being able to use them.  

You see, all of the libraries that I know of refer to function calls in the
standard library of the compiler that you use.  That's why these libraries come
in a different flavor for each compiler that can use them.  Those routines, in
turn, often refer to things in the startup code.  It's a LOT simpler to write
Modula-2 routines to run under C programs than it is the other way around.  
The upshot of all this is that while it CAN be done, it's not worth the effort.

--  
uucp: uunet!m2xenix!puddle!106!2000.25!Jon.Guthrie



Mon, 12 Sep 1994 14:32:00 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)

"This is cross-posted to Comp.os.minix.  Followups are re-directed to
comp.lang.modula2."  But you read the header and know that already.


|>>I might be interested in acquiring a Modula compiler that runs under a Unix
|>>clone called Linux.  I've got most of a Modula-2 compiler here, maybe I'll
|>>actually finish it this time.

Andy Tannenbaum published a Pascal compiler in about 1980.  He has gone on
to develop Minix, and the Amsterdam Portable Compiler.  Pascal and Modula-2
front ends exist.  And Minix is neat enough, especially the concept of having
source (and disks) to the operating system that I considered learning C.
The source to the APC was available when I last checked, but the quote was
(hopefully) a site license quote and I did not follow up.  There is consistent
low level interest in increasing the visibility of these languages in the
Minix community.

N. Wirth et al have submitted the sources for the Oberon system to the
printer recently.  Perhaps it would be interesting for Andy to share with the
Oberon folks at ETH about his Prentice-Hall disk publishing experience.

I stopped reading the Minix group a couple of years ago when it got *big*
but there is probably current discussion about this topic.  Perhaps I will
be brought up to date. :-)

Aubrey McIntosh  /  Chemistry  /  University of Texas  /  Austin, TX 78712
...another Gaelic learner...



Wed, 14 Sep 1994 03:10:45 GMT  
 Modula-2 in the real world (was: See Summary! M-2 discussion...)

Quote:

>In a message on <Mar 23 22:13>, Lawrence D'Oliveiro, Waikato Univer (1:105/42)
writes:

> >> C has inexpensive "third-party" libraries that make many things
> >> simpler.  Modula has none of these.

> >But can't you use the C ones? Both the Modula-2 compilers that I
> >have used at all heavily had the ability to link with external code.
> >All you'd have to do is create appropriate definition modules to interface
> >to the libraries.

>I don't think you've ever done this or you'd know that it isn't this simple.  
...
>  It's a LOT simpler to write
>Modula-2 routines to run under C programs than it is the other way around.  
>The upshot of all this is that while it CAN be done, it's not worth the

effort.

I'd just like to say that I've been using CCALL (to C library routines) within
the Sun Modula environment and it works quite well and is very practical,
provided you make sure to pass the correct types to C. It requires a good
understanding of both languages (i.e. C has no VAR parameters explicitly so you
have to be careful).

Another nice thing with the Modula for the Sun is that you can define Modula
interfaces to other languages (C included) so that you can do type checking of
the parameters of a call, and you have code that looks like Modula, not like
code full of ugly CCALLs (which look like CCALL('printf','the value of x =
%i',x); ).

-Cris Fuhrman

Laboratoire Informatique Technique
Ecole polytechnique federale de Lausanne
Lausanne Switzerland



Fri, 16 Sep 1994 16:56:22 GMT  
 
 [ 13 post ] 

 Relevant Pages 

1. OOP in the "real world" (SUMMARY)

2. Modula-2 in the real world

3. Modula-2 in the real world

4. Modula-2 in the real world

5. Modula-2 in the real world (was: See Summary! M-2 discus

6. Modula-2 in the real world (was: See Summary!

7. Modula-2 in the real world (was: See Summary! M-2 discus

8. Modula-2 in the real world (was: See Summary! M-2 discus

9. Am I seeing things?...

10. Test: Seeing if Google is updating USENET posts in real-time

11. Smalltalk vs. World discussions

12. PEP 308: Discussion Summary

 

 
Powered by phpBB® Forum Software