Content deleted Content added
m Added link to CORC |
m →top: To cite web add author1-link=Ashlee Vance |
||
(23 intermediate revisions by 14 users not shown) | |||
Line 1:
'''Cornell University Programming Language''' (also called '''CUPL''') is a procedural computer
programming language developed at [[Cornell University]] in the late 1960s.<ref name="CUPLonwayMaxwell">{{cite tech report |last1=Conway
|first1=Richard W.
|authorlink1=Richard W. Conway
|last2=Maxwell
|first2=William L.
|title=CUPL—An approach to introductory computing instructions
|number=68-4
|department=Computer Science
|institution=[[Cornell University]]
|date=January 1968
|url=https://ecommons.cornell.edu/handle/1813/5881
|accessdate=2022-09-15}}</ref>
CUPL was based on an earlier Cornell-developed programming language, [[CORC]].
It was used to teach introductory computer programming classes.<ref>{{cite news |newspaper=[[The New York Times]] |url=https://bits.blogs.nytimes.com/2008/11/18/teaching-everyone-to-speak-big-blue
|title=Teaching Everyone to Speak Big Blue
|quote=- I taught myself Cornell's own student language, CUPL
|author1=Ashlee Vance |author1-link=Ashlee Vance |author2=Jeff Broido |date=November 18, 2008}}</ref>
CUPL was developed by [[Richard W. Conway]],<ref name=CUPL.Conway>{{cite web
|url=https://ecommons.cornell.edu/handle/1813/40564?show=full
|title=A Conversation with Richard W. Conway
|author=[[David Gries]]
|date=2015-07-31}}</ref> W. L. Maxwell, G. Blomgren, Howard Elder, H. Morgan, C. Pottle, W. Riddle, and Robert Walker.
CUPL had a very simple syntax similar to [[BASIC]] and to [[PL/I]].
The processor was designed to offer extensive error correction and diagnostic capabilities.
This would allow student programs to execute even if they contained minor syntax errors.
The compiler also included spelling correction capabilities so that if a variable name is referenced only once, the compiler would assume that it was a misspelling of some other intended name.
CUPL also offered an extensive set of [[matrix
▲CUPL also offered an extensive set of matrix operations and offered dynamic run-time memory allocation. At the time, Cornell's computer was an IBM System 360 Model 40 with only 64K of core memory. CUPL was able to process a large batch of student programs quickly by remaining resident in core memory, but the compiler occupied 58K of memory, leaving only a small amount for the program code and variable storage.<ref>{{cite web|url=http://test-dspace.library.cornell.edu/handle/1813/5881|title=CUPL - An Approach to Introductory Computing Instruction|date=January 1968|publisher=Computer Science Technical Reports (68-4)|accessdate=2010-09-30}} at p. 19</ref>
==Derivative projects==
Additional computer language projects grew out of CUPL.
Audio CUPL was an implementation to accept verbal CUPL statements spoken by the programmer. | |first1=Howard A. |title=On the | | |institution=[[Cornell University]]
|date=July 1969
|url=https://ecommons.cornell.edu/handle/1813/5896
|accessdate=2022-09-15}}</ref>
==Retrocomputing implementation==
There is an implementation of CUPL and CORC in modern C for Unix-like systems that includes both transcriptions of the original manuals and a [[chrestomathy]] of programs in these languages. It is available at the Retrocomputing Museum.<ref>[http://www.catb.org/retro/ Retrocomputing Museum]</ref>
==References==
<references/>
==External links==
*[http://www.catb.org/~esr/cupl/ Resource page for cupl 1.6], providing binary and source code and background information about CUPL and CORC.
[[Category:Educational programming languages]]
[[Category:Structured programming languages]]
[[Category:Procedural programming languages]]
[[Category:PL/I programming language family]]
[[Category:Programming languages created in the 1960s]]
|