[M3devel] [M3commit] CVS Update: cm3

hendrik at topoi.pooq.com hendrik at topoi.pooq.com
Thu Jan 1 15:20:48 CET 2009


On Wed, Dec 31, 2008 at 12:59:03PM -0500, Randy Coleburn wrote:
> Hendrik:
>  
> I agree it is useful for those accustomed to Unix to be able to work 
> in the Cygwin environment on Windows.  I have no issue with supporting 
> this.

Yes.  But it's not what's really needed for most users of Windows 
machines.  I was using another Unix on Windows system, M-SYS. There's a 
conceptual gap between M-SYS and Windows (that's the whole point, isn't 
it?) that brings on headaches.  Windows programming should be done in 
Windows.

> I assert that it is also very useful for non-Unix, Windows folks to be 
> able to work with Modula-3 in Windows without needing to know anything 
> about Unix, or using any Unix tools to make Modula-3 work.  (BTW, I 
> work in both the Unix and Windows worlds, but primarily in the Windows 
> world lately.)

Yes.  Exactly.

>  
> So yes, I suppose we do need both the native Windows and 
> Unix-compatibility implementations for Modula-3 on Windows.  However, 
> I think it important to support Modula-3 natively on all platforms 
> rather than *requiring* a compatibility-implementation.

Yes.

> Thus, I would 
> always vote for having a native implementation first, then add a 
> compatibility one later, if desired.  So, from my vantage point (and 
> others may disagree), the native Windows implementation of Modula-3 is 
> the number one priority on the Windows platform.  Cygwin is a 
> "nice-to-have" for the Unix crowd, but not essential.

I was trying to use Modula-3 on Windows in the days that it required a 
nongratis Microsoft linker, and some nongratis Microsoft linkers were 
reported not to be compatible.  No one could guarantee that any 
currently available commercial linker was compatible with Modula-3.
I wasn't prepared to pay for a system that had significant risk of being 
useless.

> I don't know much about Wine, so won't comment on it.

It's the Windows API implemented according to spec.  And hacked up so 
that it is actually somewhat compatible with Windows.  It could be 
useful to test any Windows versions of Modula-3 to see if they run under 
Wine.  In the past quite a few programmers have discovered it's easier 
to debug Windows programs under Wine than under Windows, because the 
underlying OS doesn't crash.  I don't know whether this is still the 
case.

>  
> As for taking your Modula-3 programs that run on one platform, and 
> building and running them on other platforms, I think this is one of 
> the best features of Modula-3.

And this is what I really wanted.

>  I routinely do this.  Indeed, I've 
> tried very hard to make it possible for all my programs to be both 
> buildable and runable on both Unix and Windows platforms without the 
> need for source code modification.  I've also tried to make them 
> interoperable across platforms, e.g. clients on one platform type, 
> servers on another, etc.  Network Objects and Pickles have been my 
> friends here.
>  
> As for the free Visual Studio stuff not working on old versions of 
> Windows, well yes that is a problem for those old platforms, but then, 
> they are old and Microsoft has dropped support for them long ago and 
> continuing to support them both from a hardware and software 
> standpoint is going to get more problematic as time goes on.  It's 
> like my 13-year old car--the last time I had it repaired the shop had 
> to put out a nationwide search for the parts.

I too have a 13-year-old car.  The dealer used to maintain it.  I 
switched to my local general mechanic when the dealer could no longer 
find replacement parts.  For some reason the local mechanic has no such 
problem.

> At some point, I'll 
> have to give it up.  

Me, too.  I've been wondering whether the effort of digging it out of 
the snow every week or so is worth it during the winter.

>  
> I believe you can use some old versions of Microsoft Visual C (e.g., 
> v6) for these old platforms, but those were not free.  I recall having 
> to buy Microsoft C v6 when I bought CMass Reactor v4.1 many years ago.  
> The v6 C was pretty common, so you can probably find it around 
> somewhere today on the used market.  Indeed, I still have my v6 C 
> disks.
>  
> If you or someone else wants to build a linker for Modula-3 on 
> Windows, that's fine with me.  Until then, we are stuck with what we 
> have--a free download of Visual Studio.
>  
> As for going forward, I believe we should strive to support current 
> and future platforms more than working to add support for old ones.  
> Of course, as we move forward, it would be nice to try to maintain 
> support for platforms as they age, but not at the expense of 
> supporting newer stuff.

I agree, especially since we are talking now about providing a level of 
support for the old system that was never available in those old days.  
Anyone with a Windows 95 machine that ran Modula-3 can presumably still 
use the system he had back then, using the linker he had back then.

> This reasoning is based on trying to keep the 
> language alive, useful, and attractive to new programmers.  If we live 
> in the past, Modula-3 will wither away as the current crop of 
> enthusiasts age and pass on.

I agree.

I remember a long time ago tinkering with an OS/2 port of Modula 3.  I 
had the source for the DOS version to start with.  I didn't have the 
time or resources to do anything serious on it though, and someone else 
did.  I wonder what we used for a linker back in those days?
 
> All that said, let me ask this question:  Would it be useful to anyone 
> if I tried to put together a binary distribution of Modula-3 for the 
> WindowsNT 4.0 (circa 1996) platform?  

Not for me.  Not now.  I no longer use Windows.  The one machine I have 
that used to run Windows no longer runs Windows in anything but 
maintenance mode (though it runs Linux with no trouble at all).  What 
might be useful to me is an ability to cross-compile a Windows 
executable from a Linux machine, so I could ship the result to a 
non-programmer Windows user.  That would probably require a lot of 
infrastructure work, and may not be worth it.  It may be easier to buy a 
new Windows machine if I need that.  And download the free linker, which 
I hope still runs on XP as well as Vista.

>  
> I still have one of those old beasts and it does still work.

I think I have one in the basement, too.  I got it at a garage sale, and 
have never had occasion to use it.  It boots, but I have user or admin 
password for it it.  I am aware of techniques to crack the password, but 
the machine is probably too slow to be of much use now.

-- hendrik



More information about the M3devel mailing list