BLISS (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
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.