Post by Xin WangYes, I do not care much about OO part, although I think some kind of OO is necessary to easily bind to third-party library interfaces.
With M2C any interfacing to foreign libraries will be via-C.
For that you do not need any OOP capability. All you need to do is write a Modula-2 definition module for a C library and mark it with the FFI pragma after the module identifier in the module header.
DEFINITION MODULE FooLib (*$FFI="C"*);
If you wanted to interface to OOP languages, you would have to use any C interfaces that those languages may provide. Usually, the direction is the reverse, people interface to C from Java, C# or Python. M2C will make it possible to write libraries in Modula-2 to which these language could then interface via whatever mechanism they use to interface to C. Again, you don't really require OOP there.
However, if you need OOP for whatever other reason, you can use extensible record types and do OOP in the style of Oberon.
Post by Xin WangPost by trijezdciThe object model of Objective Modula-2 is based on that of Objective-C which is a hybrid of Smalltalk and C. This will be interesting when targeting MacOS X and iOS, but perhaps more interestingly for web development based on GNUstep's GSweb which is a clone of the original WebObjects by NeXT.
It sounds interesting. I have some experience about web programming, it would be nice to be able to use Modula-2 in that field.
WebObjects was extremely successful before Apple acquired NeXT. By then it had become NeXT's bread and butter business. All the big names used it for web commerce. There is the story of Michael Dell becoming extremely angry about having to move DELL off WebObjects because he couldn't have his business depend on a product made by a competitor but there wasn't any other product that came anywhere close to WO.
The original ObjC based WO combined the flexibility of a dynamic language with the scalability of a compiled static language. This advantage disappeared when Apple foolishly moved WO to Java. However, GSweb still has this advantages by virtue of following the original NeXT WO model.
To my knowledge still no other web framework does this even today, although I am not an expert in this market and do not have a complete overview of what's out there, so I might be wrong. I did look into some of the web frameworks for Lisp and Smalltalk, but unfortunately, by an extremely large margin, they are just not as scalable and efficient. The original WO just utterly destroys them.
ObjC is quite a nice and decent language but it would be so much nicer if it wasn't built on top of C. With ObjM2 we will be able to hook into the NeXT WO model from Modula-2 without having to reinvent and reengineer the web framework. The GNUstep project have already done that. All we need is a Modula-2 front end for it.
http://wiki.gnustep.org/index.php/GNUstepWeb