{{위키데이터 속성 추적}}
{{Infobox programming language
|name = CLU
|logo =
|paradigm = [[프로그래밍 패러다임|멀티 패러다임]]: [[객체 지향 프로그래밍]], [[절차적 프로그래밍]], [[절차적 프로그래밍]]
|released = {{시작 날짜와 나이|1975}}
|designer = [[바바라 리스코프]] 및 제자들
|developer = [[매사추세츠 공과대학교]]
|latest release version = Native CLU 1.5 ([[SPARC]], [[VAX]]) / {{시작 날짜와 나이|1989|05|26}}<ref name="Native">{{웹 인용|url=http://pmg.csail.mit.edu/~dcurtis/clu/ |title=CLU home page |website=Programming Methodology Group, Computer Science and Artificial Intelligence Laboratory |publisher=Massachusetts Institute of Technology |first=Dorothy |last=Curtis |date=2009-11-06 |access-date=2016-05-26}}</ref><br />
Portable CLU / {{시작 날짜와 나이|2009|11|06}}<ref name="Portable">{{웹 인용|url=ftp://ftp.lcs.mit.edu/pub/pclu |title=Index of /pub/pclu |website=Programming Methodology Group, Computer Science and Artificial Intelligence Laboratory |publisher=Massachusetts Institute of Technology |first=Dorothy |last=Curtis |date=2009-11-06 |access-date=2016-05-26}}</ref>
|latest release date = 
|typing = 스트롱 타이핑
|website = {{URL|pmg.csail.mit.edu/CLU.html}}
|implementations = PDP-10 CLU,<ref>{{웹 인용|title=CLU files, 1976–1989 |work=Tapes of Tech Square (ToTS) collection, MC-0741 |publisher=Department of Distinctive Collections, Massachusetts Institute of Technology |url=https://github.com/MITDDC/clu-1976-1989 |id=[https://archive.softwareheritage.org/swh:1:dir:5dc935d1c236b15a99b0750cf236b2d89ec951d0 swh:1:dir:5dc935d1c236b15a99b0750cf236b2d89ec951d0]}}</ref> Native CLU,<ref name="Native" /> Portable CLU,<ref name="Portable" /> clu2c<ref name="clu2c">{{웹 인용 |url=http://woodsheep.jp/clu2c.html |title=clu2c |website=clu2c |publisher=woodsheep.jp |first=Tetsu |last=Ushijima |date=<!--Likely embedded in downloadable target or zip files.--> |access-date=2016-05-26 |archive-date=2016-12-21 |archive-url=https://web.archive.org/web/20161221103210/http://woodsheep.jp/clu2c.html |url-status= }}</ref>
|dialects =
|influenced by = [[ALGOL 60]], [[Lisp (programming language)|Lisp]], [[Simula]], [[Alphard (programming language)|Alphard]]
|influenced = 에이다, Argus, [[C++]],<ref name="history-of-cpp">{{서적 인용|last1=Stroustrup |first1=Bjarne |title=A History of C++: 1979--1991 |date=1996 |publisher=Association for Computing Machinery |location=New York, NY, USA |page=699–769 |url=https://doi.org/10.1145/234286.1057836 |access-date=25 March 2022}}</ref> 루아, 파이썬,<ref name="effbot-call-by-object">{{웹 인용|url=http://effbot.org/zone/call-by-object.htm |title=Call By Object |work=effbot.org |last=Lundh |first=Fredrik |quote=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. |access-date=21 November 2017 |archive-date=23 November 2019 |archive-url=https://web.archive.org/web/20191123043655/http://effbot.org/zone/call-by-object.htm |url-status=dead }}</ref> 루비, Sather, 스위프트<ref name="lattner2014">{{웹 인용|url=http://nondot.org/sabre/ |title=Chris Lattner's Homepage |last=Lattner |first=Chris |date=2014-06-03|access-date=2014-06-03 |publisher=Chris Lattner |quote=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.}}</ref>
}}

'''CLU'''는 [[바바라 리스코프]]와 그녀의 제자들이 1973년부터 [[매사추세츠 공과대학교]]에서 개발했던 [[프로그래밍 언어]]이다.<ref name="History">Liskov, Barbara (1992). "A history of CLU". The second ACM SIGPLAN conference on History of programming languages.</ref> 광범위하게 사용되지는 않았지만 현재 널리 사용된 수많은 기능들을 도입했으며 [[객체 지향 프로그래밍]](OOP)의 발전에 한 걸음 다가간 것으로 간주된다.

주로 기여한 기능으로는 [[추상 자료형]], [[평가 전략 (컴퓨터 프로그래밍)|공유에 의한 호출]], [[반복자]], 다중 반환 값 등이 있다. [[생성자]]와 메소드를 포함한 [[클래스 (컴퓨터 프로그래밍)|클래스]]를 사용한 것으로도 알려져 있다. ([[상속 (객체 지향 프로그래밍)|상속]] 개념은 없다)

CLU의 문법은 [[알골 (프로그래밍 언어)|알골]]에 기반을 두었다.

== 복소수 구현체 예시 ==
<pre>
    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;
</pre>

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}
* {{웹 인용|url=http://www.lcs.mit.edu/publications/pubs/pdf/MIT-LCS-TR-561.pdf |title=A History of CLU |first=Barbara |last=Liskov |date=April 1992 |archive-url=https://web.archive.org/web/20030917041834/http://www.lcs.mit.edu/publications/pubs/pdf/MIT-LCS-TR-561.pdf |archive-date=2003-09-17 |id=MIT-LCS-TR-561 }}
* [http://woodsheep.jp/clu2c.html clu2c] {{웨이백|url=http://woodsheep.jp/clu2c.html |date=20161221103210 }}: a program to compile CLU code to [[C (프로그래밍 언어)|C]]
* [http://cgibin.erols.com/ziring/cgi-bin/cep/cep.pl?_key=CLU Dictionary of Programming Languages]
* [http://99-bottles-of-beer.net/language-clu-133.html CLU] comparison at '99 bottles of beer' multi-language demo algorithm site
* {{서적 인용|first1=B. |last1=Liskov |first2=R. |last2=Atkinson |first3=T. |last3=Bloom |first4=E. |last4=Moss |first5=J.C. |last5=Schaffert |first6=R. |last6=Scheifler |first7=A. |last7=Snyder |title=CLU Reference Manual |publisher=Springer |date=1981 |isbn=9783540108368 |series=Lecture Notes in Computer Science |volume=114 |doi=10.1007/BFb0035014|s2cid=27382594 }}
{{전거 통제}}

[[분류:절차적 프로그래밍 언어]]
[[분류:1975년 개발된 프로그래밍 언어]]