[M3devel] Modula-3 questions

Coleburn, Randy rcolebur at SCIRES.COM
Thu Apr 19 01:13:26 CEST 2012


Marresh:

I've programmed in a number of different languages.

For me, I've found that Modula-3 is the best for most of what I do.  

Further, I've found that the concepts in Modula-3 help you think through things in a more complete manner, thereby making you a better programmer.

When I've been forced to use other languages, I've often found myself starting out in Modula-3 and then translating to the other language once the main concepts are defined.

Just because Modula-3 is touted as a systems programming language doesn't mean it is too complex for simpler projects; however, if you are only wanting to write very simple, independent programs that won't ever have any parts reused anywhere else, you may find the initial discipline of interfaces and implementations a bit verbose.

The language itself is really quite compact, given its power, and the concepts are straightforward and don't throw you curve balls. 

I can't really comment much about Oberon as I haven't used it much.

As for C and C++, I remember a quote from an instructor years ago that you may find interesting:  "The good news about C++ versus C is that it is harder to shoot yourself in the foot, but the bad news is that when you do, you blow your whole leg off."

WRT Java, my understanding is that the original designers borrowed some concepts from Modula-3, but that alone doesn't make up for other problems with Java.

I'm not sure if anyone has done any recent bindings to GUI toolkits.  

Hope this helps.

--Randy Coleburn


-----Original Message-----
From: penn43 at gmx.com [mailto:penn43 at gmx.com] 
Sent: Wednesday, April 18, 2012 6:10 PM
To: m3devel at elegosoft.com
Subject: [M3devel] Modula-3 questions

Dear Modula-3 developers,

I am not a Modula-3 user, but I am considering becoming one. I have already had a look at the language, and it certainly looks interesting. However, I still have some misgivings about starting learning Modula-3, since it would be a considerable time investment and I am not even sure if Modula-3 is the right tool for me.
I hope you can help me clarify some points and dispel some doubts.

The first point is that I would neither be working on large projects, nor doing systems programming. I understand these were the two major strengths of Modula-3, but neither would be useful in my case, as I would be programming mostly small- and medium-sized applications, not even industrial-level. What I need is simply a tool that can be used instead of C++ and Java. Modula-3 looks fine, because it promises to be simple. However, having read that Modula-3 was designed especially for industrial-strength and advanced uses, I am afraid that adopting Modula-3 as my development tool might be an overkill. Could you advise me in this regard?

Secondly, could you please help me understand what are the reasons for which one may prefer Modula-3 over Oberon-2/Active Oberon? I have been considering Oberon too because, like Modula-3, it promises to be simple and minimalistic.
So, again, keeping in mind that I don't need the advanced features mentioned above, nor multithreading, does it make any sense for me to choose Modula-3 instead of Oberon, or Object Pascal?

Lastly, what is the current availability of Modula-3 libraries? I have read that Modula-3 has a rich set of libraries, but that was many years ago. Are there any up-to-date libraries, fulfilling today's needs? I am mostly interested in GUI support (possibly bindings to some standard GUI toolkit, like GTK or QT, or wxWidgets), internet libraries and UTF-8 support.

I thank you in advance.

Best regards,

Marresh

P.S. is the creation and maintenance of module interfaces all that trouble? I read somewhere that it is a pain, and that the inconvenience of it would only be paid off when one has to manage large projects (which is not my case).



More information about the M3devel mailing list