모듈라-3

위키백과, 우리 모두의 백과사전.
(Modula-3에서 넘어옴)

모듈라-3
Modula-3
패러다임명령형, 구조적, 절차적, 모듈성, 병행
계열니클라우스 비르트 모듈라
설계자Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan; Bill Kalsow, Greg Nelson
개발자DEC
Olivetti
elego Software Solutions GmbH
발표일1988년(36년 전)(1988)
최근 버전5.8.6
최근 버전 출시일2010년 7월 14일(13년 전)(2010-07-14)
미리보기 버전5.8.6
미리보기 버전 출시일2010년 7월 14일(13년 전)(2010-07-14)
자료형 체계스트롱, 정적, 안전
변수 영역변수 범위
플랫폼IA-32, x86-64, PowerPC, SPARC
운영 체제크로스 플랫폼: FreeBSD, 리눅스, Darwin, SunOS
웹사이트www.modula3.org
주요 구현체
SRC Modula-3, CM3,[1] PM3,[2] EZM3,[3] M3/PC Klagenfurt[4]
영향을 받은 언어
ALGOL, Euclid, Mesa, Modula-2, Modula-2+, Oberon, Pascal
영향을 준 언어
C#, 자바, Nim,[5] OCaml, Rust,[6] 파이썬[7]

모듈라-3(Modula-3)는 모듈라-2+로 알려진 모듈라-2 업그레이드판의 뒤를 잇는 프로그래밍 언어이다. 자바, C 샤프, 파이썬 등 언어 디자인에 영향을 준 연구단체들에 영향을 주고 있으나 산업에 크게 채택되지는 않고 있다. 루카 카델리, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson이 1980년대 말에 설계했다.

모듈라-3의 주된 기능은 시스템 프로그래밍 언어의 힘을 그대로 유지하는 단순성과 안전이다.

문법[편집]

"Hello, World!" 프로그램 예시는 다음과 같다.

MODULE Main;
IMPORT IO;
BEGIN
  IO.Put("Hello World\n")
END Main.

각주[편집]

  1. “Critical Mass Modula-3 (CM3)”. 《Critical Mass Modula-3》. elego Software Solutions GmbH. 2020년 3월 21일에 확인함. 
  2. “Polytechnique Montréal Modula-3 (PM3): What is it”. 《Polytechnique Montréal Modula-3》. elego Software Solutions GmbH. 2020년 3월 21일에 확인함. 
  3. Polstra, John D. (2006년 11월 9일). “Ezm3: An Easier Modula-3 Distribution”. 《CVSup.org》. 2013년 4월 10일에 원본 문서에서 보존된 문서. 2020년 3월 21일에 확인함. 
  4. Weich, Carsten. “M3/PC Klagenfurt 96: a Modula-3 environment for MS-DOS”. 《Department of Informatics》. University of Klagenfurt. 2000년 5월 20일에 원본 문서에서 보존된 문서. 2020년 3월 21일에 확인함. 
  5. Picheta, Dominik; Locurcio, Hugo. “Frequently Asked Questions”. 2020년 3월 21일에 확인함. 
  6. “R/Rust - I just learned about Modula-3, a language that had a lot of similar goals to Rust, and there was even an experimental OS that relied on the safety provided by the language”. 
  7. van Rossum, Guido (May 1996). “Programming Python: Foreword (1st ed.)”. 《Python.org》. 2020년 3월 21일에 확인함. 

외부 링크[편집]