Jump to content

Modula-3: Difference between revisions

From EDM2
Created page with "One of the few languages out there designed as a systems language from the outset ==A list of OS/2 implementations of Modula-3== * SRC Modula 3 - Open source - Discontinu..."
 
Ak120 (talk | contribs)
mNo edit summary
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
One of the few languages out there designed as a systems language from the outset
[[Image:M3.png|200px|right]]
'''Modula-3''' is a systems programming language that descends from Mesa, [[Modula-2]], Cedar, and Modula-2+. It adds objects and classes, exception handling, garbage collection, lightweight processes, and the isolation of unsafe features.


==A list of OS/2 implementations of Modula-3==
==History==
* [[SRC Modula 3]] - Open source - Discontinued
Originally developed by Acorn USA an operating system development tool and then called Modula-2+, it added multitasking, threading and multi programming features to the Modula-2 programming language, but M2 itself is a development of [[Pascal]] by its original author and adds separately compiled modules, stricter & clearer syntax and a host of system programming additions to Pascal in addition to a general clean up of the language features. Modula 3 is a development that adds memory management (garbage collection), type & generic safety features, generic programming, better exception handling and object-oriented extensions to Modula-2+. There is also an obscure variant called simply '''Modula-3*''' that adds strong parallel processing features to the language.
* Modula 3 Reboot - Open source - Current?


====Libraries and bindings====
See also: [[Obliq]]
*


==A list of DOS implementations of Modula-3==
==OS/2 Implementations==
* [[SRC Modula 3]] - Open source - Discontinued
* [[SRC Modula 3]] - Open source
* Modula 3 Reboot - Open source
 
==Text editors with Modula 3 support==
* [[jEdit]] - Java based editor - Modula 3 syntax highlighting built in
 
==DOS Implementations==
*[[SRC Modula 3]] - Open source
*M3PC-Klagenfurt - Open source


==A list of Modula-3 implementations that run under WinOS/2==
*
==A list of Modula-3 implementations that run under Java==
*
==A list of Modula-3 implementations in JavaScript==
*
==Publications==
==Publications==
*  
* Greg Nelson (ed.): ''System Programming with Modula-3'' - Prentice-Hall 1991, ISBN 0-13-590464-1
====Local articles====
* Samuel P. Harbison: ''Modula-3'' - Prentice-Hall 1992, ISBN 0-13-596396-6
*  
* Robert Sedgewick: ''Algorithms in Modula-3'' - Addison-Wesley 1993, ISBN 0-201-53351-0
 
* Joseph Bergin: [http://csis.pace.edu/~bergin/M3text Object-Oriented Data Abstraction in Modula-3] - 1997
* Michel R. Dagenais: ''Building Distributed OO Applications: Modula-3 Objects at Work'' - Draft Version, 1997
* Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow and Greg Nelson: [http://lucacardelli.name/Papers/Modula3TypeSystem.A4.pdf The Modula-3 Type System]
* Luca Cardelli: [http://lucacardelli.name/Papers/SRC-045.pdf Typeful Programming]
* Luca Cardelli, James Donahue, Lucielle Glassman, Mick Jordan, Bill Kalsow and Greg Nelson: [http://lucacardelli.name/Papers/SRC-052.pdf The Modula-3 Report (Revised)] - 1989
* Emin Gün Sirer, Stefan Savage, Przemyslaw Pardyak, Greg P. DeFouw, Mary Ann Alapat & Brian N. Bershad: [https://cseweb.ucsd.edu/~savage/papers/Wcsss96m3os.pdf Writing an Operating System with Modula-3]
 
;Introductory material
* Swaminathan Sankararaman and Bojan Durickovic: [http://pub.bojand.org/modula3.pdf Modula-3 - CS 520 Final Report] - 2008


====Tutorials and other learning material====
;Modula-3*
*
* Ernst A. Heinz: ''MODULA-3*: An Efficiently compilable extension of Modula-3 for problem-oriented explicitly parallel programming''


==Links==
==Links==
*
* [http://www.modula3.org/ Modula-3 Org] - Info and links on the Modula 3 language
====USENET====
* Elcomsoft: [https://modula3.elegosoft.com/cm3/doc/help/bib.html Modula-3; an annotated bibliography]
*
* USENET: [news:comp.lang.modula3 comp.lang.modula3] - Very low volume


==Standards==
*
[[Category:Programming Languages]] [[Category:Modula-3]]
[[Category:Programming Languages]] [[Category:Modula-3]]

Latest revision as of 14:56, 5 December 2022

Modula-3 is a systems programming language that descends from Mesa, Modula-2, Cedar, and Modula-2+. It adds objects and classes, exception handling, garbage collection, lightweight processes, and the isolation of unsafe features.

History

Originally developed by Acorn USA an operating system development tool and then called Modula-2+, it added multitasking, threading and multi programming features to the Modula-2 programming language, but M2 itself is a development of Pascal by its original author and adds separately compiled modules, stricter & clearer syntax and a host of system programming additions to Pascal in addition to a general clean up of the language features. Modula 3 is a development that adds memory management (garbage collection), type & generic safety features, generic programming, better exception handling and object-oriented extensions to Modula-2+. There is also an obscure variant called simply Modula-3* that adds strong parallel processing features to the language.

See also: Obliq

OS/2 Implementations

Text editors with Modula 3 support

  • jEdit - Java based editor - Modula 3 syntax highlighting built in

DOS Implementations

Publications

  • Greg Nelson (ed.): System Programming with Modula-3 - Prentice-Hall 1991, ISBN 0-13-590464-1
  • Samuel P. Harbison: Modula-3 - Prentice-Hall 1992, ISBN 0-13-596396-6
  • Robert Sedgewick: Algorithms in Modula-3 - Addison-Wesley 1993, ISBN 0-201-53351-0
Introductory material
Modula-3*
  • Ernst A. Heinz: MODULA-3*: An Efficiently compilable extension of Modula-3 for problem-oriented explicitly parallel programming

Links