- 1
- 2
- 3
- < previous
- next >
What is the most interesting program that you've seen written with Modula-3?
I'll just talk about my programs. I wrote the second program (after Next Computer's) direct-manipulation user interface editor. And I wrote the Obliq distributed programming language, which was heavily based on Modula-3's network objects.
Have you ever seen the language used in a way that was not originally intended? If so, what was it? And did it or didn't it work?
Not really; we intended to support type-safe systems programming and that is what happened. It's possible that we missed some opportunities, however.
Why do you think that the language hasn't been widely adopted by industry, but is still influential in research circles?
Basically, competition from Java. Java had all the same main features (objects, type safety, exceptions, threads), all of which also came from the same tradition (and I believe they read our tech reports carefully...). In addition, Java initially had innovations in bytecode verification and Web applets, and later had the full support of a large company, while we were only supporting Modula-3 form a research lab. I believe the module system in Modula-3 is still vastly superior to programs such as Java, and that may explain continued interest.
Do you still use Modula-3 today? Is the language still being contributed to and updated?
While Modula-3 was my all-time favorite language, I stopped using it after leaving DEC. I used Java for a short period, and today I occasionally use C# and F#.
How do you feel about statements such as this in Wikipedia: "Modula-3 is now taught in universities only in comparative programming language courses, and its textbooks are out of print"?
It's probably accurate!
According to Wikipedia, the Modula-3 "standard libraries [were] formally verified not to contain various types of bugs, including locking bugs." Why was this?
Type safety gets rid of a lot of silly bugs, but the main class of bugs it does not prevent are concurrency bugs. The expectation for Modula-3 libraries was that they would have a complete description (in English), of exactly what each procedure did and what it required. There was social pressure at the time to make these descriptions very precise. Some were so precise that they were amenable to formal verification. This was considered important for some base libraries, particularly in terms of locking behavior, because locking bugs were not captured by the type system, and were the hardest to debug.
- 1
- 2
- 3
- < previous
- next >
Discover how SOA can create smarter outcomes for your business.
Attend and learn:
- How SOA is helping leading companies to become more agile
- Where you should be applying SOA processes in your company
- The top SOA implementation mistakes to avoid
Click here for more information.
- +
Computerworld Live Podcast #97: The Future of Enterprise Networking 25/07/2008 09:45:36
This week CW Live chats with Mark Thompson, global sales and marketing manager for HP ProCurve, on the future of the enterprise networking. Mark discusses the trends we can expect to see in the near future and how the right infrastructure can ensure your enterprise network is secure. - +
Computerworld Live Podcast #96: Security at the Edge 11/06/2008 09:22:22
CW Live speaks with Amol Mitra, HP ProCurve Director of Marketing for Asia Pacific and Japan. Today's topic: how enterprises are starting to shift away from simply controlling security via server logins, firewalls and moving to more adaptive security frameworks. - +
Data Management Edition #10: Multi-Petascale Systems 02/05/2008 09:12:33
This week we look at sustainability and the development of multicore technologies to build multi-petascale systems. - +
IT Security Edition #11: How to poison the Storm botnet 01/05/2008 08:51:55
This week CW Live presents a case study on how to poison the notorious Storm botnet . Plus we take a look at Cisco's plans for Ironport. - +
IT Security Edition #10: Cyber-battles fought and won 24/04/2008 11:09:47
Vendors bow to end user pressure to improve product security, and we take a look at the latest concepts shaping the cyber-battlefield of the future.
Vignette Announces 2008 Excellence Awards 2008-11-21 10:50:00+11
PGP and Ponemon Institute Unveil Inaugural Australian Data Breach Study 2008 2008-11-20 17:34:00+11
Symantec Cloud Services Transform Data Centre Operations Through Proactive Management 2008-11-20 12:06:00+11
Verizon Business Offers Tips to Building a Successful Unified Communications and Collaboration Plan 2008-11-20 12:04:00+11
AARNet Brings 4K Digital Cinema to Australia: First 4K HD Video Signal delivered into Australia by AARNet 2008-11-20 12:02:00+11
Understanding Email Marketing: A Guide for SMBs
Email marketing is often viewed as a marketers silver bullet. If used effectively, email campaigns will provide strong results for a limited spend each and every time. Download this white paper to discover how email marketing can work for you and your business.










Comments
Annotations to the interview
Just a pair of comments:
The open source release of cm3 (Critical Mass Modula-3) development environment since 2000 and more recently of the web browser-based Integrated Development Environment called CM3-IDE gives an amount of support to several platforms (SPARC, x86, x86_64, PowerPC on Gnu/Linux, Windows, BSD, Mac and Solaris platforms) and have been recently contributed (updated) a threading implementation, a new 64 bit native language primitive type and a new garbage collection technique, the graphic libraries built on top of X11 server and Windows windowing systems, the gcc-4.3 based back end (available for almost all platforms) besides setting an automatic regression test framework for daily revising of the development environment. Also a gdb-6.4 extension based debugger, m3gdb.
About huge projects of Modula-3 there are several ranging from a life-critical 911 emergency call system, an extensible operating system, Spin, a commercial Java Virtual Machine, Critical Mass JVM, web servers including one for web development, hm3, animation systems built on top of Modula-3 and Obliq for augmented reality, Coterie, and for teaching purposes, Zeus and a so called Digital Desktop paradox environment. Also a Concurrent Versions System, with server/client platform highly efficient used for source code downloading on the BSD operating systems and in some GNU/Linux software, Cvsup. Also a functional programming language environment, with concurrency, exceptions and more, UFO . Besides compilers, cm3 (almost the entire integrated development environment is implemented in top of Modula-3), m2tom3, a debugger, ldb, and a constraint based graphic editor, Juno-2, and literate programming tools, as m3noweb and M3doc. And an on-line reading application with an editor and postscript to reading format converter, virtual paper. Also is used on embedded systems, in network interface cards, SPINE, on PDA, PARCTAB. Also a structured-oriented database management system (used on a persistent extension of Modula-3, Persistent Modula-3), a Graph Grammar Programming Environment, Progres.
The base libraries were formal revised with an Extended Static Checker, ESC/Modula-3 implemented also in Modula-3 (then ESC/Java) as a research project in prior Digital Equipment Corporation Systems Research Center, then Compaq Systems Research Center, now property of Hewlett Packard; specially the the Readers/Writers library, looking for index out of bound errors, nil dereferences, race conditions and deadlocks, using an automatic theorem prover also built on Modula-3, Simplify; all checking annotated source code in the presence of information hiding and data abstraction.
Also there is an upcoming Eclipse plug-in for the language, m3clipse.
For being more fair with the teachers, the language is a reference for it's use of the concurrency; is a handout in the Principles of Computer Systems course of MIT, also in Operating Systems courses in other Universities of Germany and Colombia. Also as a language for the course of Object Oriented Programming in Wichita State University.
The integrated development environment is freely available from:
Open Critical Mass Modula-3