Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CLU (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Type of programming language}} {{more citations needed|date=February 2013}} {{Infobox programming language |name = CLU |logo = |paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Object-oriented programming|object-oriented]], [[Procedural programming|procedural]] |released = {{Start date and age|1975}} |designer = [[Barbara Liskov]] and her students |developer = [[Massachusetts Institute of Technology]] |latest release version = Native CLU 1.5 ([[SPARC]], [[VAX]]) / {{Start date and age|1989|05|26}}<ref name="Native">{{cite web |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 / {{Start date and age|2009|11|06}}<ref name="Portable">{{cite web |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 |archive-url=https://web.archive.org/web/20210621151848/ftp://ftp.lcs.mit.edu/pub/pclu |archive-date=2021-06-21 |url-status=dead |access-date=2016-05-26}}</ref> |latest release date = |typing = [[Strong typing|strong]] |website = {{URL|pmg.csail.mit.edu/CLU.html}} |implementations = PDP-10 CLU,<ref>{{cite web |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">{{cite web |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}}</ref> |dialects = |influenced by = [[ALGOL 60]], [[Lisp (programming language)|Lisp]], [[Simula]], [[Alphard (programming language)|Alphard]] |influenced = [[Ada (programming language)|Ada]], [[Argus (programming language)|Argus]], [[C++]],<ref name="history-of-cpp">{{cite book |last1=Stroustrup |first1=Bjarne |title=A History of C++: 1979--1991 |date=1996 |publisher=Association for Computing Machinery |location=New York, NY, USA |pages=699β769 |doi=10.1145/234286.1057836 |url=https://doi.org/10.1145/234286.1057836 |access-date=25 March 2022}}</ref> [[Lua (programming language)|Lua]], [[Python (programming language)|Python]],<ref name="effbot-call-by-object">{{cite web |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> [[Ruby (programming language)|Ruby]], [[Sather]], [[Swift (programming language)|Swift]]<ref name="lattner2014">{{cite web |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''' is a [[programming language]] created at the [[Massachusetts Institute of Technology]] (MIT) by [[Barbara Liskov]] and her students starting in 1973.<ref name="History">Liskov, Barbara (1992). "A history of CLU". The second ACM SIGPLAN conference on History of programming languages.</ref> While it did not find extensive use, it introduced many features that are used widely now, and is seen as a step in the development of [[object-oriented programming]] (OOP). Key contributions include [[abstract data type]]s,<ref>{{Cite conference |doi= 10.1145/800233.807045 |chapter= Programming with abstract data types |title= Proceedings of the ACM SIGPLAN symposium on Very high level languages |pages= 50β59 |year= 1974 |last1= Liskov |first1= Barbara |author-link1= Barbara Liskov |last2= Zilles |first2= Stephen |citeseerx= 10.1.1.136.3043 }}</ref> [[call-by-sharing]], [[iterator]]s, multiple return values (a form of [[parallel assignment]]), type-safe [[parameterized type]]s, and type-safe [[variant type]]s. It is also notable for its use of [[Class (computer programming)|classes]] with [[Constructor (object-oriented programming)|constructors]] and methods, but without [[Inheritance (object-oriented programming)|inheritance]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)