BLISS (linguagem de programação)

BLISS
Surgido em 1970
Criado por W. A. Wulf, D. B. Russell, A. N. Habermann da Carnegie Mellon University
Estilo de tipagem sem tipagem
Dialetos: Common BLISS
Influenciada por ALGOL

BLISS é uma linguagem de programação de sistemas desenvolvida na Universidade Carnegie Mellon por W. A. Wulf, D. B. Russell, e A. N. Habermann por volta do ano 1970. Ela foi talvez a mais conhecida linguagem de programação de sistemas até o surgimento da linguagem C. Desde então, C despontou e BLISS ficou legada ao esquecimento. Quando C foi ainda estava em sua infância, havia ainda debates em alguns projetos, no âmbito dos laboratórios da Bell, a cerca do mérito de BLISS vs C.

BLISS é uma linguagem baseada em expressões em vez de declarações, estruturada em blocos, sem tipos e inclui construções de manipulação de exceções, corotinas e macros. Não inclui uma declaração goto.

O nome é dito várias vezes para ser uma sigla para "Basic Language for Implementation of System Software" ou "System Software Implementation Language, Backwards". Foi por vezes chamado de "Bill's Language for Implementing System Software", após Bill Wulf.

O compilador original feito em Carnegie Mellon foi notável pela sua utilização extensiva de otimizações, e formou a base do clássico livro The Design of an Optimizing Compiler.

A DEC desenvolveu e manteve compiladores BLISS para o PDP-10 e PDP-11, DEC Alpha, Intel IA-64 e VAX. A maior parte dos programas utilitários para o sistema operativo VMS foram escritos em BLISS-32.

Exemplo de Código[editar | editar código-fonte]

O exemplo a seguir é tomado textualmente do manual da linguagem Bliss citado acima:

MODULE E1 (MAIN = CTRL) = BEGIN FORWARD ROUTINE     CTRL,     STEP; ROUTINE CTRL = !+ ! This routine inputs a value, operates on it, and ! then outputs the result. !-     BEGIN     EXTERNAL ROUTINE         GETNUM,     ! Input a number from terminal         PUTNUM;     ! Output a number to terminal     LOCAL         X,          ! Storage for input value         Y;          ! Storage for output value     GETNUM(X);     Y = STEP(.X);     PUTNUM(.Y)     END; ROUTINE STEP(A) = !+ ! This routine adds 1 to the given value. !-     (.A+1); END ELUDOM 

Versões[editar | editar código-fonte]

  • BLISS-10
  • BLISS-11 - um cross compiler para o PDP-11
  • BLISS-16
  • BLISS-16C - Versão DEC de BLISS-11
  • BLISS-32
  • BLISS-36
  • BLISS-64

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.