BLISS

BLISS
ParadigmStructured, imperative (procedural)
Designed byW. A. Wulf, D. B. Russell, A. N. Habermann
DeveloperCarnegie Mellon University
First appeared1970; 54 years ago (1970)
Stable release
BLISS-64
Typing disciplineTypeless
ScopeLexical
PlatformPDP-10, PDP-11, VAX, PRISM, MIPS, DEC Alpha, IA-32, IA-64, x86-64
OSCross-platform
Websitepdp-10.trailing-edge.com/bb-m836d-bm/
Dialects
Common BLISS
Influenced by
ALGOL

BLISS is a system programming language developed at Carnegie Mellon University (CMU) by W. A. Wulf, D. B. Russell, and A. N. Habermann around 1970. It was perhaps the best known system language until C debuted a few years later. Since then, C became popular and common, and BLISS faded into obscurity. When C was in its infancy, a few projects within Bell Labs debated the merits of BLISS vs. C.[citation needed]

BLISS is a typeless block-structured programming language based on expressions rather than statements, and includes constructs for exception handling, coroutines, and macros. It does not include a goto statement.

The name is variously said to be short for Basic Language for Implementation of System Software or System Software Implementation Language, Backwards. However, in his 2015 oral history for the Babbage Institute's Computer Security History Project, Wulf claimed that the acronym was originally based on the name "Bill's Language for Implementing System Software."[1]

The original Carnegie Mellon compiler was notable for its extensive use of optimizations, and formed the basis of the classic book The Design of an Optimizing Compiler.

Digital Equipment Corporation (DEC) developed and maintained BLISS compilers for the PDP-10,[2] PDP-11,[2] VAX,[2] DEC PRISM,[3] MIPS,[2] DEC Alpha,[2] and Intel IA-32,[2] The language did not become popular among customers and few had the compiler,[4] but DEC used it heavily in-house into the 1980s; most of the utility programs for the OpenVMS operating system were written in BLISS-32. The DEC BLISS compiler has been ported to the IA-64 and x86-64 architectures as part of the ports of OpenVMS to these platforms.[2][5] The x86-64 BLISS compiler uses LLVM as its backend code generator, replacing the proprietary GEM backend used for Alpha and IA-64.

  1. ^ Wulf, William A. (June 23, 2015). "An Interview with WILLIAM A. WULF OH 477" (PDF) (Interview). Interviewed by Jeffrey R. Yost. Charlottesville, Virginia.
  2. ^ a b c d e f g Brender, Ronald F. (2002). "The BLISS programming language: a history" (PDF). Software: Practice and Experience. 32 (10): 955–981. doi:10.1002/spe.470. S2CID 45466625.
  3. ^ MacLaren, Don (August 27, 1987). "DECWest Compiler Project, Description, and Plan" (PDF). Bitsavers.org.
  4. ^ da Cruz, Frank (16 September 1987). "News about Kermit Programs for VAX/VMS". Info-Kermit Digest (Mailing list). Kermit Project, Columbia University. Retrieved 5 May 2019. Kermit-32 is written in the Bliss language, DEC's "corporate implementation language" (originally developed at CMU). Bliss never gained popularity among DEC's customers; few sites have Bliss compilers.
  5. ^ "2017 LLVM Developers' Meeting: J. Reagan "Porting OpenVMS using LLVM"". YouTube. 31 October 2017. Archived from the original on 2021-12-21.