Discussion:
Why Modula-2?
(too old to reply)
strictly noreply
2009-06-23 10:48:07 UTC
Permalink
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
Chris Burrows
2009-06-23 12:42:08 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web?
My interest is mainly historical / nostalgic - Oberon and Component Pascal
have taken the place of Modula-2 in my development activities.

However, I still occasionally reuse Modula-2 code - it takes very little
effort to convert it over. Just this week I've been porting some graphics
processing code that I originally wrote in Modula-2 about 20 years ago to
Oberon-07 running on an ARM processor. Current 32-bit microcontroller-based
embedded systems have limited capabilities and resources similar to those of
the Modula-2 platforms of the 1980's.
Post by strictly noreply
Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
If only it had been taught when I was at university ...

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2
Marco van de Voort
2009-06-23 12:44:53 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
I've used (Topspeed) Modula2 in the past, and work nowadays with Delphi and
Free Pascal. I still monitor the group because it is Pascal's closest
cousin.
Gaius Mulley
2009-06-23 14:54:22 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
Hi,

yes: to new development in M2 (gm2/gdb), maintaining legacy code
and new development in other projects. Embedded gm2 with (avr).
Hope to explore X11/OpenGL with gm2/python in the future.

regards,
Gaius
Georg Lokowandt
2009-06-23 17:07:24 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
At some point in time I was tired of porting my pet project (compiler area)
from one language version to the next, so I stay with iso-m2 for the next
years. Legacy and new development.

Regards, Georg
Rob Solomon
2009-06-26 23:25:40 UTC
Permalink
I do not make my living programming, so I am free to code in whatever
language I like. I still do new projects for myself in Stony Brook
Modula-2. It works, produces fast small .exe files, and the debugger
works well (in its own virtual machine).

However, I have become interested in Ada and have started to play with
it. After all, a language required by our DoD will not go away any
time soon. It is a very active newsgroup, even 20+ years after its
initial release.

I would take the numbers reported by Google Groups w/ a GRAIN of sand.
I do not access this group thru google, and I suspect others do not
either.

--rob


On Tue, 23 Jun 2009 03:48:07 -0700 (PDT), strictly noreply
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
Chris Burrows
2009-06-27 01:17:39 UTC
Permalink
Post by Rob Solomon
I would take the numbers reported by Google Groups w/ a GRAIN of sand.
I do not access this group thru google, and I suspect others do not
either.
AFAIK it doesn't matter whether you access the group via Google as to
whether you get counted or not. Google is just extracting the information by
analysing the messages. e.g. the number of *recent* authors is given as 31.
Unlike the Usenet feeds which typically only keep recent messages, it has
all of the messages posted to this group since November 1986. The busiest
month was October 1995. For a month by month count see:

http://groups.google.com/group/comp.lang.modula2/about

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2
Christoph Schlegel
2009-06-27 12:41:33 UTC
Permalink
Post by Chris Burrows
Post by Rob Solomon
I would take the numbers reported by Google Groups w/ a GRAIN of sand.
I do not access this group thru google, and I suspect others do not
either.
AFAIK it doesn't matter whether you access the group via Google as to
whether you get counted or not. Google is just extracting the information by
analysing the messages. e.g. the number of *recent* authors is given as 31.
Unlike the Usenet feeds which typically only keep recent messages, it has
all of the messages posted to this group since November 1986. The busiest
The posts from net.lang.mod2 are also still available (1983.1986).

http://groups.google.com/group/net.lang.mod2/topics

net.lang.mod2 was renamed to comp.lang.modula2 in 1986.

First archived post from 1983:

http://groups.google.com/group/net.lang.mod2/browse_thread/thread/9f317651b100cf8b
Chris Burrows
2009-06-27 13:22:04 UTC
Permalink
Post by Christoph Schlegel
The posts from net.lang.mod2 are also still available (1983.1986).
http://groups.google.com/group/net.lang.mod2/topics
Interesting - thanks for the link.

In those days most of the Modula-2 related correspondence I read was via
snail-mail in the "MODUS Quarterly", the newsletter for the Modula-2 User
Society and the "Journal of Pascal, Ada and Modula-2".

I still have my copies of JPAM and a couple of hundred pages or so that I
kept from various issues of the MODUS Quarterly in my office. One day I
might get around to scanning some of the more interesting articles /
letters.

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2
Christoph Schlegel
2009-07-03 16:29:32 UTC
Permalink
Post by Chris Burrows
Post by Christoph Schlegel
The posts from net.lang.mod2 are also still available (1983.1986).
http://groups.google.com/group/net.lang.mod2/topics
Interesting - thanks for the link.
In those days most of the Modula-2 related correspondence I read was via
snail-mail in the "MODUS Quarterly", the newsletter for the Modula-2 User
Society and the "Journal of Pascal, Ada and Modula-2".
I still have my copies of JPAM and a couple of hundred pages or so that I
kept from various issues of the MODUS Quarterly in my office. One day I
might get around to scanning some of the more interesting articles /
letters.
Also interesting. I'd be glad to help you in making this available but I
think I am located on the opposite side of this planet...
Terry Ross
2009-07-05 08:06:56 UTC
Permalink
Post by Chris Burrows
Post by Christoph Schlegel
The posts from net.lang.mod2 are also still available (1983.1986).
http://groups.google.com/group/net.lang.mod2/topics
Interesting - thanks for the link.
In those days most of the Modula-2 related correspondence I read was via
snail-mail in the "MODUS Quarterly", the newsletter for the Modula-2
User Society and the "Journal of Pascal, Ada and Modula-2".
I still have my copies of JPAM and a couple of hundred pages or so that
I kept from various issues of the MODUS Quarterly in my office. One day
I might get around to scanning some of the more interesting articles /
letters.
Interesting. I don't know if it's possible, due to copyright
restrictions, but it would certainly be wonderful to have everything
scanned, like at http://www.atarimagazines.com/ and http://
www.cyberroach.com/analog/default.htm
--
Terry "qnr" Ross | http://www.aliboom.com
1024D/E5796C4D | Key BE84 EC1D FC94 D97B 9063 AD15 0F38 193A E579 6C4D
Source Mage GNU/Linux http://www.sourcemage.org
Martin Brown
2009-07-05 09:09:06 UTC
Permalink
Post by Terry Ross
Post by Chris Burrows
Post by Christoph Schlegel
The posts from net.lang.mod2 are also still available (1983.1986).
http://groups.google.com/group/net.lang.mod2/topics
Interesting - thanks for the link.
In those days most of the Modula-2 related correspondence I read was via
snail-mail in the "MODUS Quarterly", the newsletter for the Modula-2
User Society and the "Journal of Pascal, Ada and Modula-2".
I still have my copies of JPAM and a couple of hundred pages or so that
I kept from various issues of the MODUS Quarterly in my office. One day
I might get around to scanning some of the more interesting articles /
letters.
Interesting. I don't know if it's possible, due to copyright
restrictions, but it would certainly be wonderful to have everything
scanned, like at http://www.atarimagazines.com/ and http://
www.cyberroach.com/analog/default.htm
Is there anyone left from the original Modus group to give a copyright
waiver and allow the articles that survive to be made freely available?
There were some gems but my copies stayed with the company I worked for
at the time (and will be long gone by now).

Might be worth crossposting a request to the other related groups. There
might be someone who knows someone still out there.

Regards,
Martin Brown
strictly noreply
2009-07-05 10:36:10 UTC
Permalink
The reason I started this thread was to get an idea whether the
interest in Modula-2 is mostly nostalgia or whether there is a large
enough here-and-now upon which any future would ultimately be
dependent.

I understand the interest in old magazines and don't mean to suggest
they aren't worth being made available online in some form or shape,
but I am somewhat concerned about what seems to be a past-leaning
spirit in what is left of the Modula-2 community.

A large number of Modula-2 websites have more broken links than
working ones and more likely or not, even the working ones point to
outdated information. Even those sites which are being maintained have
a significantly large amount of information that I would classify as
"nostalgia" or "historic".

I think this is counterproductive to finding new friends in this time.
There is a whole new generation of programmers who were born after any
of the PIM editions were released. If they look at the body of
Modula-2 resources on the web and get the impression they stumbled
into a virtual programming languages museum, they are very unlikely to
give the language a trial.

GNU Modula-2 is now approaching towards a 1.0 release, thus becoming
part of the GCC distribution in the process and thereby making
Modula-2 available to a very large audience. This is a very positive
development but I am not sure if this alone will get rid of the dead-
language stigma.

I believe we need to create *new* content and get it out there for a
*new* audience. What if Modula-2 had no past? What if there were no
articles from the 1980s and 1990s? What if Modula-2 had just hit the
road? We'd have to write new material and grow a community in the here-
and-now. I think that is the kind of approach required to build a
future for the language.

There are plenty of articles on today's programming problems and how
to solve them in Java, C#, C++, Python, Ruby et al. Let's do the same
for Modula-2. If we don't pull in that direction, I fear that the
language might not have a future.
Christoph Schlegel
2009-07-05 11:09:21 UTC
Permalink
Post by strictly noreply
The reason I started this thread was to get an idea whether the
interest in Modula-2 is mostly nostalgia or whether there is a large
enough here-and-now upon which any future would ultimately be
dependent.
Of course you are right - we should have started a new topic at some point.
Post by strictly noreply
I understand the interest in old magazines and don't mean to suggest
they aren't worth being made available online in some form or shape,
but I am somewhat concerned about what seems to be a past-leaning
spirit in what is left of the Modula-2 community.
A large number of Modula-2 websites have more broken links than
working ones and more likely or not, even the working ones point to
outdated information. Even those sites which are being maintained have
a significantly large amount of information that I would classify as
"nostalgia" or "historic".
Yes. In my case the information is there by purpose.
Post by strictly noreply
I think this is counterproductive to finding new friends in this time.
There is a whole new generation of programmers who were born after any
of the PIM editions were released. If they look at the body of
Modula-2 resources on the web and get the impression they stumbled
into a virtual programming languages museum, they are very unlikely to
give the language a trial.
The history of a language in magazines and websites contains solutions
to problems, sourcecode, ideas. I don't think pointing to these
ressources means harming the Modula-2 community. Modula-2 is not a new
language.
Post by strictly noreply
GNU Modula-2 is now approaching towards a 1.0 release, thus becoming
part of the GCC distribution in the process and thereby making
Modula-2 available to a very large audience. This is a very positive
development but I am not sure if this alone will get rid of the dead-
language stigma.
I'm also unsure but excited and hopeful.
Post by strictly noreply
I believe we need to create *new* content and get it out there for a
*new* audience. What if Modula-2 had no past? What if there were no
articles from the 1980s and 1990s? What if Modula-2 had just hit the
road? We'd have to write new material and grow a community in the here-
and-now. I think that is the kind of approach required to build a
future for the language.
There are plenty of articles on today's programming problems and how
to solve them in Java, C#, C++, Python, Ruby et al. Let's do the same
for Modula-2. If we don't pull in that direction, I fear that the
language might not have a future.
Regards

Christoph
strictly noreply
2009-07-05 11:56:13 UTC
Permalink
Post by Christoph Schlegel
Of course you are right - we should have started a new topic at some point.
No problem with that. The first paragraph was meant to be introductory
only.
Post by Christoph Schlegel
In my case the information is there by purpose.
Fair enough. I didn't mean to criticise. I meant to express concern
about the lack of new material (in general) and how I think it relates
to the future of Modula-2.
Post by Christoph Schlegel
The history of a language in magazines and websites contains solutions
to problems, sourcecode, ideas. I don't think pointing to these
ressources means harming the Modula-2 community.
The presence of old material itself does not, but in combination with
absence of new material, it amplifies the wide spread perception that
Modula-2 is dead.

For the avoidance of doubt, I didn't mean to suggest those articles
shouldn't be made available, but I did mean to suggest that there is a
need for new material, and quite *possibly* that need might be more
urgent.
Chris Burrows
2009-07-05 12:28:40 UTC
Permalink
Post by strictly noreply
The presence of old material itself does not, but in combination with
absence of new material, it amplifies the wide spread perception that
Modula-2 is dead.
A problem I see is that much of the old material has been lost. This leads
to newcomers spending much time reinventing the wheel and trying to re-solve
problems that were done and dusted many years ago. Their time would be much
better spent building on what has been done before.

I suspect that your request for feedback on 'class-is-a-record' vs.
'class-is-a-module' in your recent post might well fall into that category.
I shall be going through some of the 1990's stuff tomorrow for some pointers
for you as I vaguely remember it was well covered there.

In many different fields many so-called 'new' inventions are old ideas that
either were not in the right place at the right time or were way ahead of
their time.

Generally if I'm a newcomer to a subject then I don't really care what the
date is on the information as it is all new to me. What is most important is
how accurate, relevant and meaningful the information is.
Post by strictly noreply
For the avoidance of doubt, I didn't mean to suggest those articles
shouldn't be made available, but I did mean to suggest that there is a
need for new material, and quite *possibly* that need might be more
urgent.
New people are in the best position to develop new material. What particular
areas can you think of that need to be covered that are likely never to have
been considered? Alternatively, what old ideas may have been rejected
because of the limitations of the time that may well be feasible now?

--
Chris Burrows
CFB Software
Armaide v2.0: ARM Oberon-07 Development System
http://www.cfbsoftware.com/armaide
strictly noreply
2009-07-05 13:34:41 UTC
Permalink
Post by Chris Burrows
Generally if I'm a newcomer to a subject then I don't really care what the
date is on the information as it is all new to me. What is most important is
how accurate, relevant and meaningful the information is.
Over the last 7 or 8 years I have been involved in a number of open
soure projects, all of which happen to have been C based and a
significant number of participants have been folk a generation younger
than I am. From this I have gained some glimpse into the way these
youngsters tend to think.

I have also noticed a change in the way those folks think about C. Ten
years ago, if you met a C developer, they were absolutely convinced
that C is the holy grail, they'd get offended by the mere hint that
you might not think of C that way. In recent years this seems to have
changed.

Only 5 years ago, when I spoke out on some gripes I had with C and
mentioned how such and such would be far better solvable in Pascal or
Modula-2, it would start a flame war. Today, when I am doing so, most
C developers agree about that which I criticise and some of them would
go "Modula-2? you can do that in Modula-2?". Quite often they'd get
interested but more often than not they get frustrated with all the
dead links and loads of "nostalgia" in the absence of the kind of new
material they are used to with other languages.

So, as I see it, there is an opportunity to place Modula-2 as an
alternative to C for the growing number of C developers who aren't all
that satisfied with C but don't want to switch to C++ either. However,
from my experience, the lack of new material (or perhaps it's the
unfavourable ratio of new-to-old) makes this a hard sale.

Also, a lot of what I would call "nostalgia" material is articles
about some now defunct compiler about some now defunct platform, say a
rerelease of a Modula-2 compiler for the Commodore 64 or something
along those lines. Like I said, this alone wouldn't be a problem, but
in the absence of relevant material new folk are looking for, it
creates an overall impression of "dead language". But yet again, I am
not advocating *against* anything, I am advocating *in favour* of
something: more new material.
Post by Chris Burrows
New people are in the best position to develop new material. What particular
areas can you think of that need to be covered that are likely never to have
been considered?
The area I am working on would be an example. Papers on and
implementations of OO for Modula-2 may be a dime a dozen, but there
isn't a single one which could integrate with Cocoa and/or GNUstep
without the use of a bridge, which is suboptimal and not much liked by
the crowd that develops for these APIs. I tend to think if you can
find one such area, there ought to be others.
Post by Chris Burrows
Alternatively, what old ideas may have been rejected
because of the limitations of the time that may well be feasible now?
Fair enough, but in this case, mere reproduction of an article may not
be sufficient, you probably have to edit or comment it and show how it
applies to a common problem today and why the earlier solution is both
feasible and desirable now. But that would in my view count as new
material, once it's been reprocessed, that is.
Ken Shaw
2009-07-06 05:05:23 UTC
Permalink
Post by strictly noreply
Only 5 years ago, when I spoke out on some gripes I had with C and
mentioned how such and such would be far better solvable in Pascal or
Modula-2, it would start a flame war. Today, when I am doing so, most
C developers agree about that which I criticise and some of them would
go "Modula-2? you can do that in Modula-2?". Quite often they'd get
interested but more often than not they get frustrated with all the
dead links and loads of "nostalgia" in the absence of the kind of new
material they are used to with other languages.
So, as I see it, there is an opportunity to place Modula-2 as an
alternative to C for the growing number of C developers who aren't all
that satisfied with C but don't want to switch to C++ either. However,
from my experience, the lack of new material (or perhaps it's the
unfavourable ratio of new-to-old) makes this a hard sale.
Also, a lot of what I would call "nostalgia" material is articles
about some now defunct compiler about some now defunct platform, say a
rerelease of a Modula-2 compiler for the Commodore 64 or something
along those lines. Like I said, this alone wouldn't be a problem, but
in the absence of relevant material new folk are looking for, it
creates an overall impression of "dead language". But yet again, I am
not advocating *against* anything, I am advocating *in favour* of
something: more new material.
I second all of that.

I am a C/C++ programmer who was taught Pascal at university and my
first job back in the 80's involved converting some code from Pascal
to Modula-2. Since then it's all been C and C++. Over the years I have
become a little frustrated with C/C++ so I was looking for greener
pastures. GNU Modula-2 got me interested but it wasn't ready back
then, so I have been sitting on the fence.

But yes, most Modula-2 websites do look like "nostalgia" sites and
without the past experience converting code from Pascal to Modula-2, I
would not have stuck around. Lately I have been doing some stuff with
GM2 but I was unable to get any of my friends or colleagues interested
mostly because of the impression those site have made on them.

Just look at websites dedicated to other languages, even ones that
aren't mainstream, the D language for example. There is no contest.
And first impressions _do_ count if you are just checking out
something new that somebody else told you about but you never heard of
before.

People are used to websites which have documentation online, including
a bunch of HOWTOs, especially related to getting started, libraries,
source code repository, wikis, IRC channels and stuff like that. And
even layout and presentation matter, like it or not.

The Modula-2 freepages site looks nice in terms of presentation but it
doesn't have the kinds of articles a would-be-convertee is looking
for. Usually that kind of information would be on the sites it
provides links for, but those sites don't generally have the
information either, so where else do you go now? To the Google search
box, typing in the name of another language to check out, that's where
you go.

The GNU Modula-2 website isn't bad but could use a little work.

The MOCKA site is a joke. It has two paragraphs followed by "This is a
link to an older and deprecated version of this page." Deprecated and
no replacement for it! you don't expect any potential newcomer to go
any further, do you?

The Ulm M2C website is also a little too sparse, but it's far better
than the MOCKA site. XDS have buried their Modula-2 content inside a
website dedicated to Java and with a number of other sites you wonder
if the compiler is still being maintained at all.

The new Objective-Modula-2 website is quite well done, more like the
kind of website you see for other languages/compilers. However, it
doesn't have a repository for the source code, that's a non-starter
for any developer who might be interested to contribute. For the sake
of the project I hope you'll change that.

Keep up the good work, same to Gaius Mulley.

ken
strictly noreply
2009-07-07 02:56:22 UTC
Permalink
Post by Ken Shaw
The new Objective-Modula-2 website is quite well done, more like the
kind of website you see for other languages/compilers.
thanks
Post by Ken Shaw
However, it
doesn't have a repository for the source code, that's a non-starter
for any developer who might be interested to contribute. For the sake
of the project I hope you'll change that.
There are one / possibly two developers who expressed interest to
join. A repository and a mailing list are on the TO DO list.
Post by Ken Shaw
Keep up the good work
thanks for the encouragement
Fruttenboel
2009-07-08 18:46:14 UTC
Permalink
Post by Ken Shaw
The Modula-2 freepages site looks nice in terms of presentation but it
doesn't have the kinds of articles a would-be-convertee is looking
for.
And what kind of information ARE you looking for. It may well be that
people are more than willing to accomodate for your curisoties.
Post by Ken Shaw
The MOCKA site is a joke. It has two paragraphs followed by "This is a
link to an older and deprecated version of this page." Deprecated and
no replacement for it! you don't expect any potential newcomer to go
any further, do you?
Mocka is no longer maintained. Only few people use it. I am one of
them. Mocka is a good compiler. If you stem from the days of DOS. If
you are greener, or spoilt by the Windows IDE compilers, you won't
like it.

The problem is: there is no competition for Mocka. The GNU M2 compiler
needs a backdated gcc compiler installed to your system (next to the
state of the art version that came with Slackware). Compiling a Gnu M2
program takes AGES. It's horrible. It's just a frontend for a C
compiler. It's a disgrace to the name.

Objective Modula-2 is NOT Modula-2 anymore. It's the C++ equivalent of
Modula-2. A better name (hence) might be 'Modula-3' if that name was
not already taken. I guess Modula-3000 may be the best new name.
Oberon is also a descendent of Modula-2. Wirth did not call it
Cardinal-less Modula-2 (although that would have been a great name).
No, the language was different so the name was different.

The only reason for sticking to an old established name is to benefit
from the fame of that name, without having proven that that benefit is
justified. Just like why C++ was named so. And not 'The E
compiler' (The D compiler was already mentioned in Micro Cornucopia in
the late 80's).
Ken Shaw
2009-07-09 03:17:22 UTC
Permalink
Post by Fruttenboel
And what kind of information ARE you looking for. It may well be that
people are more than willing to accomodate for your curisoties.
I was presenting the viewpoint of the average C programmer whose buddy
suggested "hey, check out Modula-2". You might well be interested to
give it a trial, but the state of the websites you will find if you
Google for Modula-2 is not competitive with that of websites for just
about any other language. If more than half the links are dead or
point to long abandoned pages which are outdated and if most of the
news talk about some old compiler for a piece of hardware that has
been discontinued several decades ago, then you move elsewhere. It's
as simple as that.
Post by Fruttenboel
Post by Ken Shaw
The MOCKA site is a joke. It has two paragraphs followed by "This is a
link to an older and deprecated version of this page." Deprecated and
no replacement for it! you don't expect any potential newcomer to go
any further, do you?
Mocka is no longer maintained.
But it shows up high on any search for Modula-2 and any Unix developer
who was encouraged to check out Modula-2 will end up on the MOCKA
page.
Post by Fruttenboel
Only few people use it. I am one of
them. Mocka is a good compiler. If you stem from the days of DOS. If
you are greener, or spoilt by the Windows IDE compilers, you won't
like it.
What I don't like is the fact that the creators of MOCKA, apparently
have no further use for it but they are too damn greedy or too
stubborn to release the code under an open source license. Even worse
when considering that we're talking about a university.
Post by Fruttenboel
The problem is: there is no competition for Mocka. The GNU M2 compiler
needs a backdated gcc compiler installed to your system (next to the
state of the art version that came with Slackware).
I don't think it is fair to compare a compiler which is pre-1.0 and
still work in progress to one that has already reached the end of its
life. GM2 will eventually become part of the GCC distribution and then
you will no longer need a separate backend.
Post by Fruttenboel
Compiling a Gnu M2
program takes AGES. It's horrible.
It didn't strike me as taking much longer than compiling with any
other GCC front end. And even if it does, I don't think that the front
end has been optimised at this point. Once it has reached 1.0 and
beyond, it will probably get some tuning.
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
Considering that GCC started out as a C compiler with other front ends
having been added to it over time, _every_ GCC front end is a front
end for a C compiler.
Post by Fruttenboel
Objective Modula-2 is NOT Modula-2 anymore. It's the C++ equivalent of
Modula-2.
Wrong. Objective Modula-2 is to Modula-2 as Objective-C is to C.
Objective-C and C++ couldn't be further apart. I couldn't find
anything in Objective Modula-2 that resembles C++ features. OTOH, ISO
Modula-2 might be described as the C++ equivalent of Modula-2.
Post by Fruttenboel
 A better name (hence) might be 'Modula-3' if that name was
not already taken.
From the FAQ:

"Why is it called Objective Modula-2?

Objective Modula-2 is not about inventing yet another way to add OOP
to Modula-2. Instead, it is all about adding native Cocoa and GNUstep
support to Modula-2 where Objective-C serves as a blueprint. The name
has been chosen to reflect this."

Seems perfectly reasonable to me.
Post by Fruttenboel
The only reason for sticking to an old established name is to benefit
from the fame of that name, without having proven that that benefit is
justified. Just like why C++ was named so.
We live in a free society and people can call their stuff whatever
they like as long as there is no trademark infringement. It seems
perfectly reasonable to me to use the name of the original language
for dialects, subsets and super sets.

ken
Chris Burrows
2009-07-09 04:17:17 UTC
Permalink
Post by Ken Shaw
What I don't like is the fact that the creators of MOCKA, apparently
have no further use for it but they are too damn greedy or too
stubborn to release the code under an open source license.
Now hang on a minute - try asking questions first and then shoot later. Do
you have any evidence to support that? Have you considered other possible
scenarios?

e.g. I was under the impression that Mocka uses a back-end generator that
they do not have a license to distribute.
Post by Ken Shaw
Post by Fruttenboel
Compiling a Gnu M2
program takes AGES. It's horrible.
It didn't strike me as taking much longer than compiling with any
other GCC front end.
Yes - and two wrongs don't make a right.
Post by Ken Shaw
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
Considering that GCC started out as a C compiler with other front ends
having been added to it over time, _every_ GCC front end is a front
end for a C compiler.
Hence every GCC front end risks suffering the same problems. A Modula-2
system built on top of a C system is about as good as a castle built on
sand.

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2
Ken Shaw
2009-07-09 05:54:22 UTC
Permalink
Post by Chris Burrows
Now hang on a minute - try asking questions first and then shoot later. Do
you have any evidence to support that? Have you considered other possible
scenarios?
e.g. I was under the impression that Mocka uses a back-end generator that
they do not have a license to distribute.
I read that the back-end that was developed by a student while he was
doing his PhD at the university. I don't know how Germany universities
work, but in the English speaking world, if you develop something as
part of your studies it becomes property of the university and you
need the board to sign a release if you want to market it. Maybe
German universities have different rules or maybe they didn't do their
due diligence. That still doesn't explain why they haven't released
the sources for those parts of the compiler that are owned by the
university. Somebody else might pick it up and add a new back-end, no
chance of that if the software is kept under locks.
Post by Chris Burrows
Post by Ken Shaw
Post by Fruttenboel
Compiling a Gnu M2
program  takes AGES. It's horrible.
It didn't strike me as taking much longer than compiling with any
other GCC front end.
Yes - and two wrongs don't make a right.
You are missing the point. It's not GM2 which is slow, all GNU
compilers are, relatively speaking. The statement there looked like
the poster wanted to blame the GM2 project specifically, at least
that's how it looked to me.
Post by Chris Burrows
Post by Ken Shaw
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
Considering that GCC started out as a C compiler with other front ends
having been added to it over time, _every_ GCC front end is a front
end for a C compiler.
Hence every GCC front end risks suffering the same problems.
Sure, GCC has its problems, but it also has its advantages. One of
those advantages is that it has a very large installed base. When GM2
becomes part of the main distribution, it will mean everybody who'd
like to give the language a trial can do so very easily and mixing
with other GCC languages is also easier.
Post by Chris Burrows
A Modula-2
system built on top of a C system is about as good as a castle built on
sand.
That's like saying "All computers are castles built on sand" because
chips are made from silicon. Also, all modern operating systems are
"built on top of a C system", so I guess they are all castles built on
sand too. Maybe so, but the question is this: Do you eat your own dog
food and stay away from those operating systems?

True, compiler back ends for multiple languages are almost always less
efficient and more complex than compiler back ends written for a
specific front end. But to conclude that the weaknesses of C will be
inherited by other languages simply because they share a back end with
C, that would be folly because the semantics of a language are
enforced in the front end or middle end, not the back end.

Somebody on this thread said C programmers are zealots, or at least
that they were 10 years ago. Be that as it may, I am getting the
feeling that Modula-2 folk are zealots too, maybe that explains why
the language is in decline. Shouldn't a community in decline be a
little more open minded and welcoming? From where I stand, bashing GM2
amounts to infighting which such a small community can ill-afford, you
guys should be grateful for GM2.

But who knows, GM2 may find its own new Modula-2 friends elsewhere.

ken
Chris Burrows
2009-07-09 13:05:15 UTC
Permalink
Post by Ken Shaw
True, compiler back ends for multiple languages are almost always less
efficient and more complex than compiler back ends written for a
specific front end. But to conclude that the weaknesses of C will be
inherited by other languages simply because they share a back end with
C, that would be folly because the semantics of a language are
enforced in the front end or middle end, not the back end.
It is primarily the (un)reliability of the back-end that I have concerns
about - it is written in C after all (isn't it?) so would be harder to get
right. I haven't used GCC since the early nineties so I may have got the
wrong end of the stick. However, some of the GCC code generation-related
horror stories I hear in the embedded systems newsgroups don't do anything
to calm my fears. It's such a moving target and tries to be everything to
everybody so it's hardly surprising if it is unwieldy.
Post by Ken Shaw
Be that as it may, I am getting the feeling that Modula-2 folk are zealots
too, maybe that explains why
the language is in decline.

Yeah that's right - shoot the messenger if you don't like the message ;-)
Post by Ken Shaw
Shouldn't a community in decline be a little more open minded and
welcoming?
Open-minded and welcoming to GCC? Is that what you are suggesting?
Post by Ken Shaw
From where I stand, bashing GM2 amounts to infighting which such a small
community can ill-afford, you
guys should be grateful for GM2.
'Bashing', really??? I see it more as 'voicing some concerns'.

I have no problem with the front-end of GM2 as that it is written in
Modula-2. It is the back-end I have misgivings about.

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2
Marco van de Voort
2009-07-11 15:34:03 UTC
Permalink
Post by Ken Shaw
Post by Chris Burrows
Now hang on a minute - try asking questions first and then shoot later. Do
you have any evidence to support that? Have you considered other possible
scenarios?
e.g. I was under the impression that Mocka uses a back-end generator that
they do not have a license to distribute.
I read that the back-end that was developed by a student while he was
doing his PhD at the university. I don't know how Germany universities
work, but in the English speaking world, if you develop something as
part of your studies it becomes property of the university and you
need the board to sign a release if you want to market it.
I don't think there is anything about this in law. The universities must
maintain their own contracts and agreements, and to actually have a case,
they better be able to produce something with a signature that explicitely
states that work is property of the school.

PhD is a special case, you are effectively in the universities
employ, and thus the property situation is clearer. But sometimes if some
company sponsors the said PhD work, a special situation governed by
contracts can exist, and the university does not own the work, but the
sponsor does. (while the university only gets the scientific
credit/articles)

For works made as a normal student, there is no blanket rule, and for a
masters or bachelor project, additional contracts are usually required afaik
(at least here in the NL)
Christoph Schlegel
2009-07-09 06:12:25 UTC
Permalink
Post by Chris Burrows
Post by Ken Shaw
What I don't like is the fact that the creators of MOCKA, apparently
have no further use for it but they are too damn greedy or too
stubborn to release the code under an open source license.
Now hang on a minute - try asking questions first and then shoot later. Do
you have any evidence to support that? Have you considered other possible
scenarios?
e.g. I was under the impression that Mocka uses a back-end generator that
they do not have a license to distribute.
Post by Ken Shaw
Post by Fruttenboel
Compiling a Gnu M2
program takes AGES. It's horrible.
It didn't strike me as taking much longer than compiling with any
other GCC front end.
Yes - and two wrongs don't make a right.
Post by Ken Shaw
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
I do not understand. If you use GM2 you write pure Modula-2. You have
possibilities that no other compiler is able to provide (just look at
the examples directory or the use of GM2 as a cross-compiler for non-x86
platforms). Modula-2 will be available for every GCC-based operating
system in the near future. Talking about the future of Modula-2 I am
quite sure it is the only chance the language has but of course this is
an opinion.

All the discontinued compilers did and do not serve as a base for the
big interest in the language, being great tools (XDS, SBM2, Mocka) at
the same time. Some of them are freely available for years now but only
a handfull of people are using them. GM2 on the other hand will bring
Modula-2 to the people without special installation tasks - developers
will have to learn a few options and the language itself while using
their usual toolchain. This cannot be underestimated.

And by the way, I do not have the fastest computer but compiling a
program with GM2 doesn't take ages.

Christoph

[who snipped the rest]
Fruttenboel
2009-07-09 10:30:15 UTC
Permalink
Post by Ken Shaw
Post by Fruttenboel
people are more than willing to accomodate for your curisoties.
I was presenting the viewpoint of the average C programmer whose buddy
suggested "hey, check out Modula-2".
He won't do that. Modula-2 is a BORE compared to C. DO THIS, DO THAT
is the only thing the compiler is saying. Unlike a C compiler that
approves on just about anything. If C people would have been
interested in quality, they would have embraced Oberon, or Haskell, or
Forth, or Algol, or Beathe, or FreePascal, or ANYTHING. C people just
want a compiler that does minimal checking and maximal warnings (that
can be ignored) and produces an executable. Period.
Post by Ken Shaw
You might well be interested to give it a trial, but the state of the websites you will find if you
Google for Modula-2 is not competitive with that of websites for just
about any other language.
Name three of the latter.
Post by Ken Shaw
If more than half the links are dead or point to long abandoned pages which are outdated and if most of the
news talk about some old compiler for a piece of hardware that has
been discontinued several decades ago, then you move elsewhere. It's
as simple as that.
You're still here. So apparently there's a lot of content for you.

If the content you're looking for is not here, then why not make it
yourself and publish about it?
Whaty have YOU published in sourcecode on your own webspace? Can you
show me some URL's?

It's so easy to say that other people are wrong because THEY don't
publish their (annotated) sources.
Where are yours?
Post by Ken Shaw
Post by Fruttenboel
Mocka is no longer maintained.
But it shows up high on any search for Modula-2 and any Unix developer
who was encouraged to check out Modula-2 will end up on the MOCKA
page.
Apparently there are a lot of people still using it and publishing
about it. Otherwise it would come up high in Google results.
Post by Ken Shaw
What I don't like is the fact that the creators of MOCKA, apparently
have no further use for it but they are too damn greedy or too
stubborn to release the code under an open source license. Even worse
when considering that we're talking about a university.
The head maintainer is approaching the age that he gets pensioned.
Market is drivingtowards Java and other flimsy languages. That's why
Dr Maurer (Freie Universitaet Berlin) has shifted from Mocka to Java.
Not because Mocka was bad. If you see and read his publications (Dr
Maurer published more than you and your C friends would like to see)
you will be astonished. He practically rewrote Qt in Mocka. But his
students kept on biggering about 'When do we get your programs in Java
code?". So he gave in. Reluctantly. The markte drove him away from
Modula-2.

Check www.murus.org and my pages about Murus. But be warned: the
sources are in GERMAN so if you only speak english you are in for a
surprise. And you won't read it. And you won't see any interesting
sources. Also look in spanish sources since many spanish universities
still educate Modula-2 in the first year.
Post by Ken Shaw
I don't think it is fair to compare a compiler which is pre-1.0 and
still work in progress to one that has already reached the end of its
life.
With the amount of developers working on GM2 it's a shame they're stil
in pre-1.0 version.
Post by Ken Shaw
Wrong. Objective Modula-2 is to Modula-2 as Objective-C is to C.
Could be. But it's not Modula-2 anymore.
Post by Ken Shaw
Objective Modula-2 is not about inventing yet another way to add OOP
to Modula-2. Instead, it is all about adding native Cocoa and GNUstep
support to Modula-2 where Objective-C serves as a blueprint. The name
has been chosen to reflect this."
Isn't that a little bit limiting? So much effort for creating so
little extra? Modula-2 is about safe programming. OOP is about fancy
programming (as Wirth mentioned in his 117.pdf).
Post by Ken Shaw
We live in a free society and people can call their stuff whatever
they like as long as there is no trademark infringement.
In Europe we have something like 'ethics'. Some things are just 'not
done'. This is one of them.
Post by Ken Shaw
It seems perfectly reasonable to me to use the name of the original language
for dialects, subsets and super sets.
From a marketing point of view: yes. But as an engineer: no. Why was
ArmaIDE not just called 'Oberon-DU' (DU is Down Under)? That was
because Chris has a kind of obligation towards Professor Wirth. So he
came up with a name of his own. So his product does not need to rely
on the work of a swiss genius. ArmaIDE is now judged on what it does
for ARM. And that's a lot. Well done Chris. And keep the sources to
yourself, whatever they will tell you.
Fruttenboel
2009-07-09 17:21:27 UTC
Permalink
Post by Ken Shaw
What I don't like is the fact that the creators of MOCKA, apparently
have no further use for it but they are too damn greedy or too
stubborn to release the code under an open source license. Even worse
when considering that we're talking about a university.
A small ls:

***@Beryllium:~/Keep/Films$ ls /usr/local/mocka/src/
CgAssOut.def CgUtilities.mod FileName.mod McBind.mod
PaSymSets.def SuAlloc3.def SuValues.mod TrSets.def
CgAssOut.mod DfFiles.def GcgStorage.def McComp.def
PaSymSets.mod SuAlloc3.mod TrBase.def TrSets.mod
CgBase.def DfFiles.mod GcgStorage.mod McComp.mod
Prints.def SuBase.def TrBase.mod TrStProc.def
CgBase.mod DfScopes.def GcgTab.def McMake.def
Prints.mod SuBase.mod TrCompat.def TrStProc.mod
CgDebug.def DfScopes.mod GcgTab.mod McMake.mod
RegAlloc.def SuErrors.def TrCompat.mod TrStmts.def
CgDebug.mod DfTable.def IR.def McShell.def
RegAlloc.mod SuErrors.mod TrDesig.def TrStmts.mod
CgMobil.def DfTable.mod IR.mod McShell.mod
Stat SuTokens.def TrDesig.mod i386.cgd
CgMobil.mod Emit.def Mc.mod PaBodies.def
SuAlloc.def SuTokens.mod TrExpr.def makemockabin*
CgTypeMap.def Emit.dot McArgs.def PaBodies.mod
SuAlloc.mod SuTree.def TrExpr.mod
CgTypeMap.mod Emit.mod McArgs.mod PaDecls.def
SuAlloc2.def SuTree.mod TrParam.def
CgUtilities.def FileName.def McBind.def PaDecls.mod
SuAlloc2.mod SuValues.def TrParam.mod

AFAIK the sources are present. Even the code generator (CG modules)

So, the MOCKA people have already published their sources.
Olafur Gunnlaugsson
2009-07-29 16:48:42 UTC
Permalink
Post by Ken Shaw
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
Considering that GCC started out as a C compiler with other front ends
having been added to it over time, _every_ GCC front end is a front
end for a C compiler.
GCC started out as a Pascal compiler written by Jeff Broughton at the
LLL, it was placed in the public domain and then suddenly turned up in
1985 as the GNU compiler with added C support, Pascal support was
dropped in 87 after a rewrite and as a matter of fact the then planned
Modula 2 support was removed as well a couple of years later, in fact M2
debugging support remained in the GNU debug program for years afterwards
as a reminder.

The official line used to be that M2 was never implemented due to
problems, but it later turned out that it was a political decision,
apparently "thou shall program in C and LISP", and no buts.

BTW the GCC variant was not written by Stallman as is usually credited
but by Leonard H. Tower.
Marco van de Voort
2009-07-29 22:49:48 UTC
Permalink
Post by Olafur Gunnlaugsson
Post by Ken Shaw
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
Considering that GCC started out as a C compiler with other front ends
having been added to it over time, _every_ GCC front end is a front
end for a C compiler.
GCC started out as a Pascal compiler written by Jeff Broughton at the
Afaik Pastel, the joke was that it was "off-color Pascal" It had some
problems:

"I didn't really know much about optimizing compilers at the time, because
I'd never worked on one. But I got my hands on a compiler, that I was told
at the time was free. It was a compiler called PASTEL, which the authors say
means ``off-color PASCAL''. The string type sounds UCSDish.

From a quick search that made me land at
http://www.cs.clemson.edu/~mark/s1.html:

"Pastel was a very complicated language including features such as
parametrized types and explicit type parameters and many complicated things.
The compiler was of course written in this language, and had many
complicated features to optimize the use of these things. For example: the
type ``string'' in that language was a parameterized type; you could say
``string(n)'' if you wanted a string of a particular length; you could also
just say ``string'', and the parameter would be determined from the context.
Now, strings are very important, and it is necessary for a lot of constructs
that use them to run fast, and this means that they had to have a lot of
features to detect such things as: when the declared length of a string is
an argument that is known to be constant throughout the function, to save to
save the value and optimize the code they're going to produce, many
complicated things. But I did get to see in this compiler how to do
automatic register allocation, and some ideas about how to handle different
sorts of machines.

"Well, since this compiler already compiled PASTEL, what I needed to do was
add a front-end for C, which I did, and add a back-end for the 68000 which I
expected to be my first target machine. But I ran into a serious problem.
Because the PASTEL language was defined not to require you to declare
something before you used it, the declarations and uses could be in any
order, in other words: Pascal's ``forward'' declaration was obsolete,
because of this it was necessary to read in an entire program, and keep it
in core, and then process it all at once. The result was that the
intermediate storage used in the compiler, the size of the memory needed,
was proportional to the size of your file. And this also included
stack-space, you needed gigantic amounts of stack space, and what I found as
a result was: that the 68000 system available to me could not run the
compiler. Because it was a horrible version of Unix that gave you a limit of
something like 16K words of stack, this despite the existence of six
megabytes in the machine, you could only have 16Kw of stack or something
like that. And of course to generate its conflict matrix to see which
temporary values conflicted, or was alive at the same time as which others,
it needed a quadratic matrix of bits, and that for large functions that
would get it to hundreds of thousands of bytes. So i managed to debug the
first pass of the ten or so passes of the compiler, cross compiled on to
that machine, and then found that the second one could never run.

... "The new C compiler is something that I've written this year since last
spring. I finally decided that I'd have to throw out PASTEL. This C compiler
uses some ideas taken from PASTEL, and some ideas taken from the University
of Arizona Portable Optimizer."

-- Stallman lecture at KTH (Stockholm, Sweden), October 1986
Post by Olafur Gunnlaugsson
The official line used to be that M2 was never implemented due to
problems, but it later turned out that it was a political decision,
apparently "thou shall program in C and LISP", and no buts.
BTW the GCC variant was not written by Stallman as is usually credited
but by Leonard H. Tower.
Wikipedia shares the credit. But indeed, you often see Stallman credited
alone.
Christoph Schlegel
2009-07-30 05:16:38 UTC
Permalink
Post by Olafur Gunnlaugsson
Post by Ken Shaw
Post by Fruttenboel
It's just a frontend for a C
compiler. It's a disgrace to the name.
Considering that GCC started out as a C compiler with other front ends
having been added to it over time, _every_ GCC front end is a front
end for a C compiler.
GCC started out as a Pascal compiler written by Jeff Broughton at the
LLL, it was placed in the public domain and then suddenly turned up in
1985 as the GNU compiler with added C support, Pascal support was
dropped in 87 after a rewrite and as a matter of fact the then planned
Modula 2 support was removed as well a couple of years later, in fact M2
debugging support remained in the GNU debug program for years afterwards
as a reminder.
The official line used to be that M2 was never implemented due to
problems, but it later turned out that it was a political decision,
apparently "thou shall program in C and LISP", and no buts.
According to this message

http://groups.google.com/group/comp.lang.modula2/msg/aaeecd80b76045cd

"After a great start (and middle), local University politics got in the
way and progress was stalled. We are currently working on arrangements
that could eliminate the politics and allow the project to pick up
full-time (instead of part-time as before)."

This doesn't sound like "thou shall program in language X" - I was
always wondering what political reasons could hold a nearly finished
project back... The author of the message cited above states they would
have needed just a few more months to have the M2 frontend ready.
Post by Olafur Gunnlaugsson
BTW the GCC variant was not written by Stallman as is usually credited
but by Leonard H. Tower.
Terry Ross
2009-07-05 14:16:04 UTC
Permalink
Post by Chris Burrows
Post by strictly noreply
The presence of old material itself does not, but in combination with
absence of new material, it amplifies the wide spread perception that
Modula-2 is dead.
A problem I see is that much of the old material has been lost. This
leads to newcomers spending much time reinventing the wheel and trying
to re-solve problems that were done and dusted many years ago. Their
time would be much better spent building on what has been done before.
[...remainder snipped...]

I agree. While I do believe we need a solid source of new material - and
also that this thread was not the appropriate place to bring it up - I
think old material is valuable. Not old as in "How to install Modula-2 on
your IBM PCjr, but general articles, applicable to the language in
general. I can't walk into the neighborhood bookstore or newsstand to
purchase Modula-2 related publications, after all.
--
Terry "qnr" Ross | http://www.aliboom.com
1024D/E5796C4D | Key BE84 EC1D FC94 D97B 9063 AD15 0F38 193A E579 6C4D
Source Mage GNU/Linux http://www.sourcemage.org
Christoph Schlegel
2009-07-05 15:08:07 UTC
Permalink
Post by strictly noreply
Post by Christoph Schlegel
Of course you are right - we should have started a new topic at some point.
No problem with that. The first paragraph was meant to be introductory
only.
Post by Christoph Schlegel
In my case the information is there by purpose.
Fair enough. I didn't mean to criticise. I meant to express concern
about the lack of new material (in general) and how I think it relates
to the future of Modula-2.
Post by Christoph Schlegel
The history of a language in magazines and websites contains solutions
to problems, sourcecode, ideas. I don't think pointing to these
ressources means harming the Modula-2 community.
The presence of old material itself does not, but in combination with
absence of new material, it amplifies the wide spread perception that
Modula-2 is dead.
For the avoidance of doubt, I didn't mean to suggest those articles
shouldn't be made available, but I did mean to suggest that there is a
need for new material, and quite *possibly* that need might be more
urgent.
Definitly right, the need is there. I hope things to change as soon as
GM2 is an official part of GCC and developers using GCC (re)discover it
together with projects like Modulipse.
Pascal J. Bourguignon
2009-07-05 13:37:27 UTC
Permalink
Post by strictly noreply
The reason I started this thread was to get an idea whether the
interest in Modula-2 is mostly nostalgia or whether there is a large
enough here-and-now upon which any future would ultimately be
dependent.
I understand the interest in old magazines and don't mean to suggest
they aren't worth being made available online in some form or shape,
but I am somewhat concerned about what seems to be a past-leaning
spirit in what is left of the Modula-2 community.
A large number of Modula-2 websites have more broken links than
working ones and more likely or not, even the working ones point to
outdated information. Even those sites which are being maintained have
a significantly large amount of information that I would classify as
"nostalgia" or "historic".
I think this is counterproductive to finding new friends in this time.
There is a whole new generation of programmers who were born after any
of the PIM editions were released. If they look at the body of
Modula-2 resources on the web and get the impression they stumbled
into a virtual programming languages museum, they are very unlikely to
give the language a trial.
GNU Modula-2 is now approaching towards a 1.0 release, thus becoming
part of the GCC distribution in the process and thereby making
Modula-2 available to a very large audience. This is a very positive
development but I am not sure if this alone will get rid of the dead-
language stigma.
I believe we need to create *new* content and get it out there for a
*new* audience. What if Modula-2 had no past? What if there were no
articles from the 1980s and 1990s? What if Modula-2 had just hit the
road? We'd have to write new material and grow a community in the here-
and-now. I think that is the kind of approach required to build a
future for the language.
There are plenty of articles on today's programming problems and how
to solve them in Java, C#, C++, Python, Ruby et al. Let's do the same
for Modula-2. If we don't pull in that direction, I fear that the
language might not have a future.
In one word: "popularity".

This is a lost battle, so you have to make your own choice: does
Modula-2 offer to you personnaly some advantage compared to C? If so,
and if your conditions allow you to use it, then do and be happy. But
you'll be mostly alone (well along with friends here).

I'm not sure it's worth to discuss it a lot, because it has been
continuously discussed to death in other newsgroups, for example,
comp.lang.lisp, so you could read cll and transpose all the arguments
to Modula-2. (Lisp was invented in 1959, yes, 50 years ago, and has
had a standard since 1984, yes that's 25 years ago), and since ever it
has been considered a dead language. People have been constantly
complaining about the age of the documents, of the code, about the
perceived lack of libraries, etc. Nonetheless, new Common Lisp code
is being written every day. A (very) small number of companies use
lisp as a (secret) competitive advantage for their mission critical
applications or products. There are several free implementations that
are continuously maintained, there are several commercial
implementations with commercial support, and new libraries and
applications (web sites) are created everyday.

Now of course if you compare the situation with Java, which has the
marketting power of Sun and now Oracle behind it, which has
"methodologists" to sell it to corporations and hundred of millions of
jobs around it, well, yes, Lisp and Modula-2 are dead.

Even taking into account the hundredfold increase of productivity Lisp
allows, a lone hacker working on a lisp free library on his spare time
cannot pour the same energy into it than a corporation with thousands
of paid Java programmers working 8 hours a day, 22 days a month.



The only practical way I see to increase the diffusion of Modula-2
would be to write Linux drivers and kernel modules in Modula-2. But
again, what can a few Modula-2 programmers do compared to the
thousands of Linux kernel C programmers, backed by company and _paid_
to work on the Linux kernel or drivers.
--
__Pascal Bourguignon__
strictly noreply
2009-07-05 14:24:50 UTC
Permalink
Post by Pascal J. Bourguignon
In one word: "popularity".
I don't think it is that simple. Lack of popularity has reasons. If
you can identify some of those reasons and address them, you may well
get a higher uptake.

In my view the lack of availability of an open source compiler across
major platforms is a death sentence for just about any language in
this day and age. Modula-2 has been suffering from that for a long
time but with GNU Modula-2 approaching inclusion in the mainline GCC
distribution this will be behind us.

The other obstacle to finding new friends is availability of relevant
information, and that is something that can be improved.

I am not saying that Modula-2 would be rivaling Java or C++ simply
because there's a GCC front end and a few wikis or whatever other
informational websites with articles how to solve common this-day
problems using Modula-2. However, I do believe improving the use of
Modula-2 is both possible and worthwhile working towards.
Post by Pascal J. Bourguignon
This is a lost battle, so you have to make your own choice:  does
Modula-2 offer to you personnaly some advantage compared to C?  If so,
and if your conditions allow you to use it, then do and be happy.  But
you'll be mostly alone (well along with friends here).
The problem is that once you go below a certain threshold of users, it
becomes extremely difficult for the remaining folks to sustain. On the
other hand, if you go above a certain threshold of users a lot more
things get done, a lot more articles get written, a lot more tools
becomes available.
Post by Pascal J. Bourguignon
comp.lang.lisp, so you could read cll and transpose all the arguments
to Modula-2. (Lisp was invented in 1959, yes, 50 years ago, and has
had a standard since 1984, yes that's 25 years ago), and since ever it
has been considered a dead language.  People have been constantly
complaining about the age of the documents, of the code, about the
perceived lack of libraries, etc.  Nonetheless, new Common Lisp code
is being written every day.  A (very) small number of companies use
lisp as a (secret) competitive advantage for their mission critical
applications or products.  There are several free implementations that
are continuously maintained, there are several commercial
implementations with commercial support,  and new libraries and
applications (web sites) are created everyday.
I would say that the Modula-2 community could call itself very
fortunate if it had anywhere near the critical mass that Lisp has.
Just look at the compiler metric: There have been a number of open
source Lisp implementations for ages. I's venture to say that a lot
more people know about Lisp than do know about Modula-2 and that a lot
more software is being developed in Lisp than in Modula-2. No, I think
Lisp is doing quite alright (even though I would not argue with anyone
who wishes it would do even better) and for Modula-2 it would be a
blessing if it could get where Lisp is already.
Post by Pascal J. Bourguignon
Now of course if you compare the situation with Java, which has the
marketting power of Sun and now Oracle behind it, which has
"methodologists" to sell it to corporations and hundred of millions of
jobs around it, well, yes, Lisp and Modula-2 are dead.
Well, I wouldn't compare them with Java. But I'd be inclined to
compare Modula-2 with Pascal/Delphi. I think it should be possible to
build and maintain a Modula-2 community roughly as strong as the
Pascal/Delphi community. The GCC front end will go some of the
distance, but there are other areas in need of improvement, one of
which was the theme of my post.

I is my hope, the availability of GM2 in the main GCC distribution
will prepare the ground for more folks producing more new content.
That should help.
Post by Pascal J. Bourguignon
The only practical way I see to increase the diffusion of Modula-2
would be to write Linux drivers and kernel modules in Modula-2.
or system related libraries, or servers, yes indeed, and why not?!
Post by Pascal J. Bourguignon
But again, what can a few Modula-2 programmers do compared to the
thousands of Linux kernel C programmers, backed by company and _paid_
to work on the Linux kernel or drivers.
It's not that companies go to a particular project and say "We fund
you but you have to rewrite everything in C". It just so happens that
most of the projects out there use C or C++. If you come up with a
competitive or otherwise interesting project written in Modula-2,
there shouldn't be a problem to get funded. The problem is to find
developers and start the thing in the first place.
Fruttenboel
2009-07-05 17:18:12 UTC
Permalink
Post by strictly noreply
It's not that companies go to a particular project and say "We fund
you but you have to rewrite everything in C".
I wouldn't be so sure about that. Companies want source to be
maintainable. C programmers grow on trees, so they are easy to get
(pick?). Modula-2 is a better language (I say) but impossible to
maintain by a C programmer. Too logical. Too easy to comprehend. No
security loopholes to bypass. So, in a few word: not worth coding
for.
Post by strictly noreply
most of the projects out there use C or C++. If you come up with a
competitive or otherwise interesting project written in Modula-2,
there shouldn't be a problem to get funded. The problem is to find
developers and start the thing in the first place.
Get yourself a copy of the Murus project and transolate it to english
and finish it. http://www.murus.org/
Gary Scott
2009-07-05 17:53:46 UTC
Permalink
Post by Fruttenboel
Post by strictly noreply
It's not that companies go to a particular project and say "We fund
you but you have to rewrite everything in C".
I wouldn't be so sure about that. Companies want source to be
maintainable. C programmers grow on trees, so they are easy to get
(pick?). Modula-2 is a better language (I say) but impossible to
maintain by a C programmer. Too logical. Too easy to comprehend. No
security loopholes to bypass. So, in a few word: not worth coding
for.
that's true of almost any other high-level language
Post by Fruttenboel
Post by strictly noreply
most of the projects out there use C or C++. If you come up with a
competitive or otherwise interesting project written in Modula-2,
there shouldn't be a problem to get funded. The problem is to find
developers and start the thing in the first place.
Get yourself a copy of the Murus project and transolate it to english
and finish it. http://www.murus.org/
--
Gary Scott
mailto:***@sbcglobal dot net

Fortran Library: http://www.fortranlib.com

Support the Original G95 Project: http://www.g95.org
-OR-
Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html

If you want to do the impossible, don't hire an expert because he knows
it can't be done.

-- Henry Ford
Pascal J. Bourguignon
2009-07-05 17:57:10 UTC
Permalink
Post by Fruttenboel
Post by strictly noreply
It's not that companies go to a particular project and say "We fund
you but you have to rewrite everything in C".
I wouldn't be so sure about that. Companies want source to be
maintainable. C programmers grow on trees, so they are easy to get
(pick?). Modula-2 is a better language (I say) but impossible to
maintain by a C programmer. Too logical. Too easy to comprehend. No
security loopholes to bypass. So, in a few word: not worth coding
for.
Indeed, Lisp history is full of examples of good and succesful lisp
programs that have been bought by commercial enterprises and first
thing, were translated to C or C++. Usually the results are not
pretty, and lisp gets a lot of blame for the failures of C and C++...
I have in mind Garnet (GUI toolbox) and ViaWeb (Yahoo Store).

It's even worse when the project survives successfully, its Lisp
origins are then entirely forgotten, and Lisp isn't even publically
recognized for its role in the prototype stage. (eg. PostgreSQL or
NeXTSTEP/Apple Interface Builder).

I was able once to convice a customer to let me write a MacOS driver
in Modula-2, which allowed be to write it in half the time.
Nonetheless, he exiged it to be rewritten in C eventually (for
ulterior "support" by random programmers, and it was at a time C
wasn't even common amongst MacOS programmers...).


So yes, it's definitely the case that companies go to a particular
project and say "We fund you but you have to rewrite everything in C"
(or Java or C++), both at small scale and at big scale.
--
__Pascal Bourguignon__
strictly noreply
2009-07-05 18:12:56 UTC
Permalink
Post by Pascal J. Bourguignon
So yes, it's definitely the case that companies go to a particular
project and say "We fund you but you have to rewrite everything in C"
(or Java or C++), both at small scale and at big scale.
Well, all the examples provided are about the past of software
development, that is companies buying software. What I am talking
about is the now and here, companies using open source software and
sponsor developers to do maintenance and modifications.

In that model, the language matters not nearly as much as you
portrayed because the projects are neither initiated purchased by
those who eventually pay for them. I have done quite a bit of work in
this field and implementation language never mattered when obtaining
sponsorships. In fact a large number of DSLs are being sponsored. If
the companies who pay for those DSLs cared only about C, C++ or Java,
they certainly wouldn't fund further additions to the language zoo.
Fruttenboel
2009-07-08 18:27:42 UTC
Permalink
Post by strictly noreply
Post by Pascal J. Bourguignon
So yes, it's definitely the case that companies go to a particular
project and say "We fund you but you have to rewrite everything in C"
(or Java or C++), both at small scale and at big scale.
Well, all the examples provided are about the past of software
development,
For the record: the past is the only thing we HAVE and KNOW. There may
be a future. We may be part of it. Or not. We cannot see in the future
with comparable certainty compared to looking in the past. Some people
claim there is a 'now', a 'present', but the present is uncertain too.
It moves forward at hgigh speed and we run blindfolded.

So yes: Pacal and I speak of 'the past'. You speak of 'the future'. We
know. You hope.
Post by strictly noreply
What I am talking about is the now and here, companies using open source software and
sponsor developers to do maintenance and modifications.
Why does a company sponsor open source? SuSE do it for its own OS. Red
Hat too. Google are run by saints. They spend zillions to their
'summers of code'. Although, it may become clear by now why they sent
out their spies to the competiton.... their own OS. Noit written in
M2. Nor in LISP. Not even in Forth.

A company goes open source for the benefits. No royalties. No virus
scanners. Profit.

I hope I am wrong. I really do.
Fruttenboel
2009-07-05 17:08:27 UTC
Permalink
Post by Pascal J. Bourguignon
The only practical way I see to increase the diffusion of Modula-2
would be to write Linux drivers and kernel modules in Modula-2. But
again, what can a few Modula-2 programmers do compared to the
thousands of Linux kernel C programmers, backed by company and _paid_
to work on the Linux kernel or drivers.
Wow, Pascal, you are a tribute to your name! You hit the nail on the
head!

We keep the grail (the holy one). C programmers are constantly looking
for it. But they don't want our grial. They want another one. As if
there were two in the first place... ;o)
Marco van de Voort
2009-07-06 14:40:47 UTC
Permalink
Post by Pascal J. Bourguignon
Post by strictly noreply
There are plenty of articles on today's programming problems and how
to solve them in Java, C#, C++, Python, Ruby et al. Let's do the same
for Modula-2. If we don't pull in that direction, I fear that the
language might not have a future.
(btw, where are the shootout implementations in GNU M2 ?)
Post by Pascal J. Bourguignon
complaining about the age of the documents, of the code, about the
perceived lack of libraries, etc. Nonetheless, new Common Lisp code
is being written every day. A (very) small number of companies use
lisp as a (secret) competitive advantage for their mission critical
applications or products.
The point might be more that you need a strength as minority language,
rather than trying to patch up deficiencies.

Lisp apparantly has that CL stronghold. Haskell has huge following in math
departments, Ada the military and a very active French usergroup. Free
Pascal is attempting to do this with its quite close (and costly to
create!) Delphi compatibility modes, and Lazarus. GNU Pascal had a quite
decent Mac following at some point, but it eroded due to standstill in
development.

First one should carve out a strength for M2, and IMHO only then start
worrying about stuff that everybody does.
Post by Pascal J. Bourguignon
The only practical way I see to increase the diffusion of Modula-2
would be to write Linux drivers and kernel modules in Modula-2. But
again, what can a few Modula-2 programmers do compared to the
thousands of Linux kernel C programmers, backed by company and _paid_
to work on the Linux kernel or drivers.
Linux/Unix is C domain from historic perspective. So much that they even
hampered C++ with backwards C compat. Don't bother trying to fight them on
your own turf. It is not fought on technical merits.
Chris Burrows
2009-07-07 00:36:55 UTC
Permalink
Post by Marco van de Voort
First one should carve out a strength for M2, and IMHO only then start
worrying about stuff that everybody does.
Good point. Providing a C-free alternative for Cocoa-based (Mac OS-X and
iPhone) development is a very good start.
Post by Marco van de Voort
Linux/Unix is C domain from historic perspective. So much that they even
hampered C++ with backwards C compat. Don't bother trying to fight them on
your own turf. It is not fought on technical merits.
Another good point. IMHO Linux is following Unix so closely that it might
just end up with the same fate - i.e. there are two many different (and
hence confusing) varieties available. None of them has enough of a
difference to become dominant. Modula-2 should ride on the next appropriate
wave of development (whatever that might be) not try to play catch up with
the last one.

Chris Burrows
CFB Software
Armaide v2.0: ARM Oberon-07 Development System
http://www.cfbsoftware.com/armaide
Marco van de Voort
2009-07-07 15:09:20 UTC
Permalink
Post by Chris Burrows
Post by Marco van de Voort
First one should carve out a strength for M2, and IMHO only then start
worrying about stuff that everybody does.
Good point. Providing a C-free alternative for Cocoa-based (Mac OS-X and
iPhone) development is a very good start.
Not unique. Anybody with Mac orientation is working on it, since Carbon was
declared dead, with varying enthusiasm. Even FPC is working on it, though
with less objective-Cification (iow most needed extensions to interface with
COCOA only).

Of course, if you really can do something that can compete with objective-C,
while you won't replace obj-c, you could become a good second after
objective-C on the Mac platform.
Post by Chris Burrows
Post by Marco van de Voort
Linux/Unix is C domain from historic perspective. So much that they even
hampered C++ with backwards C compat. Don't bother trying to fight them on
your own turf. It is not fought on technical merits.
Another good point. IMHO Linux is following Unix so closely that it might
just end up with the same fate - i.e. there are two many different (and
hence confusing) varieties available. None of them has enough of a
difference to become dominant.
If that were the only problem. The variance in the temporal dimension
worries me more than that.
Post by Chris Burrows
Modula-2 should ride on the next appropriate
wave of development (whatever that might be) not try to play catch up with
the last one.
Problem is that such things are an huge gamble. I rather go for something
small, and solid first, since you simply can't compete in riding fashionwaves with some
toolchain that has a bunch of fulltimers.

And anyways, in general, the influence and advantages of computer languages
are way overrated in such things.
BK [noreply/posting only]
2009-07-07 17:57:15 UTC
Permalink
Post by Marco van de Voort
Good point. Providing a C-free alternative for Cocoa-based  (Mac OS-X and
iPhone) development is a very good start.
Not unique. Anybody with Mac orientation is working on it, since Carbon was
declared dead, with varying enthusiasm.
Almost all efforts to interface to Cocoa are based on a bridge, that
is, a translation layer that copies and converts native OO objects of
the language in question to Cocoa objects and back at runtime,
everytime a class is accessed on either side of the bridge. This
approach is not only inefficient (performance wise as well as twice
the memory footprint) but it is also very difficult to implement such
that it supports the entire Cocoa API and then it may require further
work for GNUstep and again for Cocoa Touch.

Also, with Objective-C 2.0 now having an option to use garbage
collection, the lifetime of objects in both object systems needs to be
synchronised across the bridge which is yet more work. Implementing
and maintaining a fully featured bridge is not for the faint of heart
and many if not most bridges only provide a subset of the
functionality available to Objective-C programmers. From the viewpoint
of most Cocoa developers, bridges just suck. Don't take my word for
it, ask them.

The only bridge I have seen that I would say was well implemented is
the one in Clozure CL. They must have put a lot of effort in. It also
tries to preserve the Smalltalk syntax, only that it is :initWithFoo
instead of initWithFoo: and parentheses instead of brackets but any
Cocoa developer would feel home there.

The approach taken with Objective Modula-2 is to avoid a bridge
altogether by using the Objective-C runtime as its native object
system. This means there are no foreign objects which need to be
copied and converted, no translation layer. It means you can mix
Objective-C and Objective Modula-2 classes, within both languages,
pair interfaces from one with implementations from the other, etc. It
also means you get all the functionality that Objective-C provides.
And the syntax for method invocation is the same. I believe this
approach is more competitive than the bridge approach and the feedback
I am getting from Cocoa developers on this point would seem to confirm
this.
Post by Marco van de Voort
Even FPC is working on it,
For those who don't know, FPC uses the bridge approach.
Post by Marco van de Voort
though with less objective-Cification
(iow most needed extensions to interface with COCOA only).
Indeed. Last time I checked, it was not possible to declare any
Objective-C classes or methods within FPC, it was only possible to use
some. And the documentation seemed to suggest that this was all there
will ever be. This may seem like a minor restriction but due to the
nature of Cocoa, there are cases where you have to subclass or add
methods to an existing one just to use a particular GUI feature.
Post by Marco van de Voort
Of course, if you really can do something that can compete with objective-C,
while you won't replace obj-c, you could become a good second after
objective-C on the Mac platform.
There is no intention to displace Objective-C. However, many Objective-
C developers came to Objective-C after unsatisfactory results with a
bridge for a language that they liked more than C. Not everyone is a
hardcode C programmer in the Objective-C camp. No such "accidental"
Objective-C developer is going to use FPC for its bridge. But many of
them are genuinely interested in any language that supports Cocoa
natively and preserves the Objective-C/Smalltalk style method
invocation syntax. I know because I get the "fan-mail".

Right now there are apparently 3 or maybe 4 such languages, some with
implementations in progress, some completed, but they are all
scripting languages so far. But the interest in the native approach is
definitely there.
Marco van de Voort
2009-07-11 10:35:06 UTC
Permalink
Post by BK [noreply/posting only]
Post by Marco van de Voort
Post by Chris Burrows
iPhone) development is a very good start.
Not unique. Anybody with Mac orientation is working on it, since Carbon was
declared dead, with varying enthusiasm.
Almost all efforts to interface to Cocoa are based on a bridge, that
is, a translation layer that copies and converts native OO objects of
the language in question to Cocoa objects and back at runtime,
everytime a class is accessed on either side of the bridge.
I could have misunderstoot, but afaik FPC does not, but allows to declare
objc classes with a modifier since a few months. Read the mac-pascal list
archive at pascal-central.com for more info (note: might need subscribing)
Post by BK [noreply/posting only]
This approach is not only inefficient (performance wise as well as twice
the memory footprint) but it is also very difficult to implement such that
it supports the entire Cocoa API and then it may require further work for
GNUstep and again for Cocoa Touch.
I can only speak for myself (and I'm not implementing this functionality),
but the only thing I want from Cocoa is OS X. I'm not even interested in
iPhone.

And only as little as I can get away with to access the core API's I need.
Even if at arms length. I'm looking for a substitute for the loss of Carbon,
not for a Glorious Framework(tm)

I made the above a bit hash on purpose, to make you see that not
everybody might share your view on Cocoa. (that is favourable, otherwise you
would not align your language, runtime system etc with it)
Post by BK [noreply/posting only]
and many if not most bridges only provide a subset of the
functionality available to Objective-C programmers. From the viewpoint
of most Cocoa developers, bridges just suck. Don't take my word for
it, ask them.
Well, from my perspective, the entire Cocoa system sucks, because it
requires that.
Post by BK [noreply/posting only]
The only bridge I have seen that I would say was well implemented is
the one in Clozure CL. They must have put a lot of effort in. It also
tries to preserve the Smalltalk syntax, only that it is :initWithFoo
instead of initWithFoo: and parentheses instead of brackets but any
Cocoa developer would feel home there.
The FPC features for me are not about luring Cocoa developers. They are about
FPC/Lazarus users being able to access the GUI on systems that might lack a
proper GUI API in the future.

In otherwise, it is more "having to" than "wanting to"
Post by BK [noreply/posting only]
The approach taken with Objective Modula-2 is to avoid a bridge
altogether by using the Objective-C runtime as its native object
system.
This means there are no foreign objects which need to be
copied and converted, no translation layer.
Problem with that for me is that an external party fixates your object-model
for a minority platform. Something that is IMHO not acceptable. The fact
that our current objectmodel is influenced by Microsoft COM is already bad
enough.
Post by BK [noreply/posting only]
I am getting from Cocoa developers on this point would seem to confirm
this.
Duh. If they are already on Obj-C Cococa, they already burned their ships
behind them. It's that burning of the ships that is the problem.
Post by BK [noreply/posting only]
For those who don't know, FPC uses the bridge approach.
I'm not entirely sure about that. This spring there has been some progress
from time to time. But I only monitor the list, because I only have a
sideways interest in Mac. (one that I will eliminate if I don't like what I
see resulting from the Cocoa project)
Post by BK [noreply/posting only]
Post by Marco van de Voort
though with less objective-Cification
(iow most needed extensions to interface with COCOA only).
Indeed. Last time I checked, it was not possible to declare any
Objective-C classes or methods within FPC, it was only possible to use
some. And the documentation seemed to suggest that this was all there
will ever be. This may seem like a minor restriction but due to the
nature of Cocoa, there are cases where you have to subclass or add
methods to an existing one just to use a particular GUI feature.
But the framework can hide that maybe. It wouldn't be the first, and not the
last. Remember that QT is too interfaced using a (plain C) wrapper.
Post by BK [noreply/posting only]
hardcode C programmer in the Objective-C camp. No such "accidental"
Objective-C developer is going to use FPC for its bridge
That is a wrong assumption. The ones choosing FPC will do so not because of
the Cocoa bridge or not, but because they can use their massive legacy
Delphi codebases. Hopefully the entire Cocoa mess will be thoroughly hidden
behind the safe shield of the VCL/LCL.

Note that won't be everybody. Not even from the Delphi camp. (e.g. some will
put more the accent on the GUI, and not having significant Delphi source or
-love won't change).
Post by BK [noreply/posting only]
But many of
them are genuinely interested in any language that supports Cocoa
natively and preserves the Objective-C/Smalltalk style method
invocation syntax. I know because I get the "fan-mail".
While I hope otherwise, I think they will be far a few. The situation of Obj
M2 vs obj C is not dramatically different from the rather unloved Delphi
Prism vs C# on Windows. Which also has minor language syntax as only
advantage against something massively sponsored by Microsoft (and by that I
mean moneywise and intellectually, since MS is doing fairly decent work
there)
Post by BK [noreply/posting only]
Right now there are apparently 3 or maybe 4 such languages, some with
implementations in progress, some completed, but they are all
scripting languages so far. But the interest in the native approach is
definitely there.
We'll see.
Fruttenboel
2009-07-05 16:15:50 UTC
Permalink
Post by strictly noreply
I believe we need to create *new* content and get it out there for a
*new* audience.
That would require the media pay attention to the language and the
media will not do so. Most of the media was taught that all languages
need a C n it. So Pascal still stands a chance.
Post by strictly noreply
What if Modula-2 had no past? What if Modula-2 had just hit the road?
We'd have to write new material and grow a community in the here-
and-now.
In that case, take a look at Mocka. It's the only compiler left over
that has enough to build upon. FOREIGN MODULEs don't count.
Post by strictly noreply
There are plenty of articles on today's programming problems and how
to solve them in Java, C#, C++, Python, Ruby et al. Let's do the same
for Modula-2. If we don't pull in that direction, I fear that the
language might not have a future.
The market tends to adhere to chaos-like programming languages. A C
program has lots more potential since it contains more bugs and
security leaks. More bugs is more maintenance.

One application (of which I have been thinking a lot) is rewriting a
Linux kernel in Modula-2. Now that would be an effort. No security
leaks anymore. No more buffer over- or underruns. A mission critical
kernel.

Java, C#, .NET, Python, Ruby (on Rails) or Tcl are all nice languages
that get a lot of media attention. They slow down processors to a
grinding HALT and that's what Intel likes!
And, let's be fair, would a C programmer like to switch to a compiler
that tells him his coding style is weak (or bad)?

Why is it that we like to program in a Toyota-like language? And why
is it, that most other programmers prefer a Fiat-like language?
Pascal J. Bourguignon
2009-07-05 18:07:01 UTC
Permalink
Post by Fruttenboel
One application (of which I have been thinking a lot) is rewriting a
Linux kernel in Modula-2. Now that would be an effort. No security
leaks anymore. No more buffer over- or underruns. A mission critical
kernel.
Rewritting a kernel is a nice and funny endeavor. It's not even too
hard.

But in practice, to have any impact, that kernel needs drivers. A lot
of drivers. For devices that are not always well documented, if at
all.

That's where Linux wins, even compared to *BSD. That's the real
reason of the success of Linux: it is the kernel that has the biggest
number of drivers, after MS-Windows.


So we're back to the same point: to make a dent with a kernel, you
need an army of programmers to write and debug the drivers.

There's a shortcut: make your kernel able to use linux modules and
drivers. Then you will have the bugs of these linux modules and
drivers.
Post by Fruttenboel
Why is it that we like to program in a Toyota-like language? And why
is it, that most other programmers prefer a Fiat-like language?
This could be explained scientifically by the law of the mean.
http://www.amazon.fr/Ainsi-marchait-lhumanit%C3%A9-Jean-Fran%C3%A7ois-Geneste/dp/2756311030/ref=sr_1_1?ie=UTF8&s=books&qid=1246817067&sr=8-1
--
__Pascal Bourguignon__
Marco van de Voort
2009-07-07 15:18:31 UTC
Permalink
Post by Pascal J. Bourguignon
Post by Fruttenboel
leaks anymore. No more buffer over- or underruns. A mission critical
kernel.
That's where Linux wins, even compared to *BSD. That's the real
reason of the success of Linux: it is the kernel that has the biggest
number of drivers, after MS-Windows.
Correct. There are more signs, like the driver state on odd-ball windows
platform (64-bit till recently, the 64-bit Windows port is 14 years old
starting with Alpha!), wince etc.
Post by Pascal J. Bourguignon
So we're back to the same point: to make a dent with a kernel, you
need an army of programmers to write and debug the drivers.
And somehow be the first in some aspect, because you also need a driver
force to leave estabilished systems.
Post by Pascal J. Bourguignon
There's a shortcut: make your kernel able to use linux modules and
drivers. Then you will have the bugs of these linux modules and
drivers.
The module system is rewritten every major kernel version, and even
inbetween in more subtle ways. Personally I don't give such megalomanic
efforts any chance.

Better focus on creating a first class realtime operating system for
embedded use. The few that are there are often expensive. It will be easier
to survive there and the investments are less.
Post by Pascal J. Bourguignon
Post by Fruttenboel
Why is it that we like to program in a Toyota-like language? And why
is it, that most other programmers prefer a Fiat-like language?
Like cars, image, and being the first one with something is important.
Nemo ad Nusquam
2009-07-07 13:36:07 UTC
Permalink
Fruttenboel wrote (in part):
[...]
Post by Fruttenboel
Post by strictly noreply
What if Modula-2 had no past? What if Modula-2 had just hit the road?
We'd have to write new material and grow a community in the here-
and-now.
In that case, take a look at Mocka. It's the only compiler left over
that has enough to build upon. FOREIGN MODULEs don't count.
The freely available mocka only produces Intel code. I read recently
that about 3 billion PC shipped but over 9 billion ARM processors
shipped. Modula-2 is an excellent choice for embedded systems but,
again, very few freely available non-PC compilers.

--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
------->>>>>>http://www.NewsDemon.com<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access
Fruttenboel
2009-07-08 18:50:22 UTC
Permalink
Post by Nemo ad Nusquam
[...]
Post by Fruttenboel
Post by strictly noreply
What if Modula-2 had no past? What if Modula-2 had just hit the road?
We'd have to write new material and grow a community in the here-
and-now.
In that case, take a look at Mocka. It's the only compiler left over
that has enough to build upon. FOREIGN MODULEs don't count.
The freely available mocka only produces Intel code. I read recently
that about 3 billion PC shipped but over 9 billion ARM processors
shipped. Modula-2 is an excellent choice for embedded systems but,
again, very few freely available non-PC compilers.
That's why I started PLOV: http://fruttenboel.verhoeven272.nl/m4m/index.html

Just need the backends generated....
Chris Burrows
2009-07-09 00:47:50 UTC
Permalink
Post by Fruttenboel
Post by Nemo ad Nusquam
Modula-2 is an excellent choice for embedded systems but,
again, very few freely available non-PC compilers.
http://fruttenboel.verhoeven272.nl/m4m/index.html
Just need the backends generated....
Good luck - unfortunately the backends are the hardest part :-(

Oberon-07 is also an excellent choice for embedded systems and, being a
smaller language, somewhat easier to implement than Modula-2. That was why I
started Armaide. The Armaide compiler / linker generates native code
suitable for the NXP (Philips) LPC2xxx family of ARM7-based
microcontrollers:

http://www.standardics.nxp.com/products/lpc2000/

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/armaide
Fruttenboel
2009-07-09 10:09:38 UTC
Permalink
Post by Chris Burrows
Post by Fruttenboel
Just need the backends generated....
Good luck - unfortunately the backends are the hardest part :-(
I know... And that's why I have great respect for your ArmaIDE
compiler. Pity it doesn't run on Linux.
Post by Chris Burrows
Oberon-07 is also an excellent choice for embedded systems
I agree to the full. My friend FP is playing along recently with an
Olimex board and your compiler and he's very enthusiastic.
Post by Chris Burrows
The Armaide compiler / linker generates native code suitable for the NXP (Philips) LPC2xxx family of ARM7-based
http://www.standardics.nxp.com/products/lpc2000/
Did NXP contact you? I expressly asked them to. Some aquaintances work
there and they were looking for tools. So FP and I pointed them to
you.
Chris Burrows
2009-07-09 13:19:22 UTC
Permalink
Post by Fruttenboel
I know... And that's why I have great respect for your ArmaIDE
compiler. Pity it doesn't run on Linux.
It is quite likely that the command-line compiler and linker (under Mono)
would run on Linux as they do not use any P/Invokes. However, supporting
Linux is not feasible right now :(
Post by Fruttenboel
Post by Chris Burrows
Oberon-07 is also an excellent choice for embedded systems
I agree to the full. My friend FP is playing along recently with an
Olimex board and your compiler and he's very enthusiastic.
Good to hear! It really is satisfying programming the hardware directly
without having to go through layer upon layer upon layer ...
Post by Fruttenboel
Post by Chris Burrows
The Armaide compiler / linker generates native code suitable for the NXP
(Philips) LPC2xxx family of ARM7-based
http://www.standardics.nxp.com/products/lpc2000/
Did NXP contact you? I expressly asked them to. Some aquaintances work
there and they were looking for tools. So FP and I pointed them to
you.
Thank you very much! Having a C-free development tool available for their
MCUs would set them apart from many of the other ARM MCU manufacturers. I
haven't managed to contact the right person in their organisation yet. My
wife and I had a great holiday in the Netherlands in 2007 - maybe I should
find an excuse to visit Eindhoven this year!

Regards,
Chris
Martin Brown
2009-06-27 16:38:18 UTC
Permalink
Post by Rob Solomon
I do not make my living programming, so I am free to code in whatever
language I like. I still do new projects for myself in Stony Brook
Modula-2. It works, produces fast small .exe files, and the debugger
works well (in its own virtual machine).
It is also worth having a copy of the now free XDS M2 compiler. Its
static dataflow analysis of code is quite impressive for compiling
legacy programs and finding latent bugs in them at compiler time. It has
extensions to allow old JPI code to compile with minimal alterations.
ISTR StonyBrook was rather closer to PIM3.
Post by Rob Solomon
However, I have become interested in Ada and have started to play with
it. After all, a language required by our DoD will not go away any
time soon. It is a very active newsgroup, even 20+ years after its
initial release.
I would take the numbers reported by Google Groups w/ a GRAIN of sand.
I do not access this group thru google, and I suspect others do not
either.
I think they also count the number of distinct authors. General rule is
there are 12 lurkers for every regular poster in most newsgroups.

Regards,
Martin Brown
Post by Rob Solomon
--rob
On Tue, 23 Jun 2009 03:48:07 -0700 (PDT), strictly noreply
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
Olafur Gunnlaugsson
2009-06-27 20:46:07 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
New dev, both in Modula and related languages
lk
2009-06-29 19:15:21 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
In my case I learned Modula-2 way back in 1992-93 at Uni. Loved it. Not
sure if it was just a great language (particularly for teaching) or the
platform we learned it on (Sun Sparc workstations running OpenWindows and
solaris) or the Sun Modula-2 compiler - which was brilliant.

Nowadays I write in java which I don't much like but of all the oo languages
it's convenient - besides which the compiler and ide is free!

I come here from time to time to see if there's any renaissance in m2.
Nemo ad Nusquam
2009-06-30 18:43:20 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
I write new code (as well as maintain legacy code) but as a hobby. I no
longer develop code commercially.

I learned M2 after several years as a commercial developer and found it
far, far superior to C. Due to commercial constraints, I could only
write a few applications in it. That increased my respect for the
language. (The software world would be a very, very different place had
M2 taken off rather than C.)

--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
------->>>>>>http://www.NewsDemon.com<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access
strictly noreply
2009-07-02 12:13:29 UTC
Permalink
interesting replies, keep it up folks, there ought to be more M2 users
than a dozen or so :-)
Nemo ad Nusquam
2009-07-02 14:08:51 UTC
Permalink
Post by strictly noreply
interesting replies, keep it up folks, there ought to be more M2 users
than a dozen or so :-)
You might try asking on the gm2 mailing list. (You need not join to ask.)

--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
------->>>>>>http://www.NewsDemon.com<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access
Chris Burrows
2009-07-03 01:05:03 UTC
Permalink
Post by Nemo ad Nusquam
Post by strictly noreply
interesting replies, keep it up folks, there ought to be more M2 users
than a dozen or so :-)
You might try asking on the gm2 mailing list. (You need not join to ask.)
Also on the XDS Modula-2 forum:

http://www.excelsior-usa.com/forum/index.php?board=6.0

... and the Mocka and Modula-2 mailing list:

http://tech.groups.yahoo.com/group/mocka/

... and the GPCP mailing list (also used for GPM2):

http://tech.groups.yahoo.com/group/GPCP/

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2
Christoph Schlegel
2009-07-03 05:48:06 UTC
Permalink
Post by strictly noreply
Google Groups reports 60 something subscribers for this group. I
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area? system
development? embedded? GUI apps? Web? Or is your interest only due to
being taught M2 at university and you're out of here as soon as the
course finishes?
I had to learn Turbo Pascal in school in the early 90s. We used TP 3.0
with its outstanding IDE. Looking through some boxes of 5,25 shareware
disks I found a copy of Fitted Soft Modula-2 which was very similar to
Turbo Pascal in terms of usability. After years without Modula-2 I
played with Gardens Point Modula-2 for DOS and got reinterested in the
language. Since then I do small projects for home use in Modula-2,
mostly using XDS Modula-2, CGI and a browser to get nice interfaces for
my programs. Every now and then I play with the really impressive GNU
Modula-2 and I maintain the Free Modula-2 Pages since 2002 when it was
very quiet around the language.
Rainard Buchmann
2009-07-03 17:46:46 UTC
Permalink
I wonder what everybody's interest in Modula-2 is.
I'm programming in modula-2 since 1984.

First with a compiler of my own on a special german Z80-hardware,
porting my older Pascal-software from 1978 to this system and
making a client-server database and textsystem with this compiler,
then with a port of this compiler to a special M68020-system,
making an operating system in modula-2 for this hardware and
porting the database and textsystem with this compiler to it.

Since 1994 I'm using Stony Brook modula-2 on PC's, beginning
with 16-bit-DOS-version, then 32-bit-extender-version, since 1997
with Windows-versions (thanks to Richard Gogesch and Norman Black).

Nowadays I would say I'm programming 80% of my time in modula-2,
using VB6 when the focus is on GUI-programming, and some other
languages like Java, Perl, C, ASM - depending on the wishes of
my customers.

Whenever possible I work with modula-2 :

No other language makes it so easy for me to maintain great
projects over long times (the oldest projects really are from
1984 - always being changed and developed forth ...)

I have worked with other languages since 1970, beginning
with RPG, Cobol, Fortran, Algol60, PL/I, Algol68, BCPL,
Pascal, some Assemblers for different hardware ...

I don't know any compiler, that is able to generate such
compact and efficient code like the Stony Brook compiler
(except ASM - sometimes I'm using it, but it is a little bit
terrible :)

Over the last 25 years I have programmed a lot of stuff in
modula-2 - not just for fun but for money.

So I'm living mainly by programming in modula-2.

Rainard
Fruttenboel
2009-07-03 19:27:11 UTC
Permalink
Post by strictly noreply
wonder what everybody's interest in Modula-2 is. Are you simply
interested because you have to maintain legacy code or are you
actually doing new development in Modula-2, if so which area?
Well, I just LOVE Modula-2. I use it for all my programming (since
1998; before that I was into assembly language).

I'm a Linux guy so I use Mocka 0608m. Here you can read more about my
subjects:

http://fruttenboel.verhoeven272.nl/cgi/index.html
http://fruttenboel.verhoeven272.nl/AVR/avrdis.html.gz
http://fruttenboel.verhoeven272.nl/framestomp.html
http://fruttenboel.verhoeven272.nl/m4m/index.html
http://fruttenboel.verhoeven272.nl/mocka/index.html
http://fruttenboel.verhoeven272.nl/Prog/chall2.html
http://fruttenboel.verhoeven272.nl/Prog/chall3.html

plus all other quick and dirty test programs.

This http://fruttenboel.verhoeven272.nl/mocka/random.html is my latest
product.

M4M is a simple compiler for microcontrollers based on Wirth;s PL/0
sample language. It's finished, apart from the code generator. I'll do
that tomorrow.. ;o)

Modula-2 is my kind of language. I like to be treated with respect by
a compiler. Mocka helps me find my own weaknesses, instead of just
producing bad code.

For GUI apps you'd better start with Murus or embed Modula-2
executables in a TCL/TK script. Done that, works fine.

Let's say I'm addicted.
Loading...