Little Implementation Language
   HOME

TheInfoList



OR:

LIL, the Little Implementation Language, was a system programming language during the early days of
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
history on
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, ...
machines. It was written by
P. J. Plauger Phillip James (P.J. or Bill) Plauger (; born January 13, 1944, Petersburg, West Virginia) is an author, entrepreneur and computer programmer. He has written and co-written articles and books about programming style, software tools, and the C pr ...
of
Bell Labs Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial research and scientific development company owned by mult ...
. LIL attempted to fill the gap between assemblers and machine-independent system implementation languages (such as the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
), by basically adding structured programming to the PDP-11 assembly language. LIL resembled
PL360 PL360 (or PL/360) is a system programming language designed by Niklaus Wirth and written by Wirth, Joseph W. Wells Jr., and Edwin Satterthwaite Jr. for the IBM System/360 computer at Stanford University. A description of PL360 was published in earl ...
with C-like flow control syntax. The LIL compiler "lc" was part of Fifth Edition Unix (1974), but was dropped by
Sixth Edition Unix Sixth Edition Unix, also called Version 6 Unix or just V6, was the first version of the Unix operating system to see wide release outside Bell Labs. It was released in May 1975 and, like its direct predecessor, targeted the DEC PDP-11 family of m ...
(1975). Plauger left Bell Labs in the same year. Plauger explains why LIL was abandoned in Bell Labs in favor of C: :''... LIL is, however, a failure. Its stiffest competition at Bell Labs is the language C, which is higher level, and machine independent. Every time it looked like C was too expensive to use for a particular project, LIL was considered. But almost every time, it proved easier (and more rewarding) to improve C, or its runtime support, or the hardware, than to invest time in yet another language. ... A machine independent language is always superior -- even for writing machine dependent code (it's easier to find trained programmers) -- so long as the overhead can be endured. It is clear now that writing straightforward code and then measuring it is the formula for the best end product. At worst there will be 5-15 per cent overhead, which is seldom critical. Once system writers become mature enough to recognize this basic truth, they gravitate naturally toward machine independent SILs. ... it looks like the little implementation language is an idea whose time as come -- and gone.''


See also

*
High-level assembler A high-level assembler in computing is an assembler for assembly language that incorporate features found in a high-level programming language. The earliest high-level assembler was probably Burroughs' Executive Systems Problem Oriented Language ...


References

{{reflist, refs= {{cite web , url = http://www.ultimate.com/phil/lil/lil.html , title = A Little Implementation Language , last = Plauger , first = P.J. , language = en


External resources


LIL, The Little Implementation Language


June 19, 1974, Bell Labs Technical Memo: TM-74-1352-8.

June 19, 1974, Bell Labs Technical Memo: TM-74-1352-6.
Fifth Edition Unix manuals
lc(6), the LIL compiler. Unix history Procedural programming languages Systems programming languages