CLU (프로그래밍 언어)

CLU바바라 리스코프와 그녀의 제자들이 1973년부터 매사추세츠 공과대학교에서 개발했던 프로그래밍 언어이다.[8] 광범위하게 사용되지는 않았지만 현재 널리 사용된 수많은 기능들을 도입했으며 객체 지향 프로그래밍(OOP)의 발전에 한 걸음 다가간 것으로 간주된다.

CLU
패러다임멀티 패러다임: 객체 지향 프로그래밍, 절차적 프로그래밍, 절차적 프로그래밍
설계자바바라 리스코프 및 제자들
개발자매사추세츠 공과대학교
발표일1975년(49년 전)(1975)
최근 버전Native CLU 1.5 (SPARC, VAX) / 1989년 5월 26일(34년 전)(1989-05-26)[1]
Portable CLU / 2009년 11월 6일(14년 전)(2009-11-06)[2]
자료형 체계스트롱 타이핑
웹사이트pmg.csail.mit.edu/CLU.html
주요 구현체
PDP-10 CLU,[3] Native CLU,[1] Portable CLU,[2] clu2c[4]
영향을 받은 언어
ALGOL 60, Lisp, Simula, Alphard
영향을 준 언어
에이다, Argus, C++,[5] 루아, 파이썬,[6] 루비, Sather, 스위프트[7]

주로 기여한 기능으로는 추상 자료형, 공유에 의한 호출, 반복자, 다중 반환 값 등이 있다. 생성자와 메소드를 포함한 클래스를 사용한 것으로도 알려져 있다. (상속 개념은 없다)

CLU의 문법은 알골에 기반을 두었다.

복소수 구현체 예시 편집

    complex_number = cluster is add, subtract, multiply, ...
        rep = record [ real_part: real, imag_part: real ]
        add = proc ... end add;
        subtract = proc ... end subtract;
        multiply = proc ... end multiply;
        ...
    end complex_number;

각주 편집

  1. Curtis, Dorothy (2009년 11월 6일). “CLU home page”. 《Programming Methodology Group, Computer Science and Artificial Intelligence Laboratory》. Massachusetts Institute of Technology. 2016년 5월 26일에 확인함. 
  2. Curtis, Dorothy (2009년 11월 6일). “Index of /pub/pclu”. 《Programming Methodology Group, Computer Science and Artificial Intelligence Laboratory》. Massachusetts Institute of Technology. 2016년 5월 26일에 확인함. 
  3. “CLU files, 1976–1989”. 《Tapes of Tech Square (ToTS) collection, MC-0741》. Department of Distinctive Collections, Massachusetts Institute of Technology. swh:1:dir:5dc935d1c236b15a99b0750cf236b2d89ec951d0. 
  4. Ushijima, Tetsu. “clu2c”. 《clu2c》. woodsheep.jp. 2016년 12월 21일에 원본 문서에서 보존된 문서. 2016년 5월 26일에 확인함. 
  5. Stroustrup, Bjarne (1996). 《A History of C++: 1979--1991》. New York, NY, USA: Association for Computing Machinery. 699–769쪽. 2022년 3월 25일에 확인함. 
  6. Lundh, Fredrik. “Call By Object”. 《effbot.org》. 2019년 11월 23일에 원본 문서에서 보존된 문서. 2017년 11월 21일에 확인함. replace "CLU" with "Python", "record" with "instance", and "procedure" with "function or method", and you get a pretty accurate description of Python's object model. 
  7. Lattner, Chris (2014년 6월 3일). “Chris Lattner's Homepage”. Chris Lattner. 2014년 6월 3일에 확인함. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list. 
  8. Liskov, Barbara (1992). "A history of CLU". The second ACM SIGPLAN conference on History of programming languages.

외부 링크 편집