O que é a linguagem de programação B?

B é uma linguagem de programação na qual pertence ao paradigma imperativo e que foi desenvolvida no Bell Laboratories de 1969, apesar de que hoje já tenha se tornado obsoleta, foi a predecessora da linguagem de programação C, que até hoje é uma das mais populares. Foi majoritariamente um trabalho de Ken Thompson com contribuições de Dennis Ritchie, projetada e implementada na cidade de Murray Hill, nos Estados Unidos.

A linguagem foi projetada para ser recursiva, não-numérica e aplicação independentes da máquina.

História

B foi essencialmente uma simplificação da linguagem BCPL(Basic Combined Programming Language), quitando qualquer componente que Thompson considerasse prescindível de jeito que coubesse na memória dos minicomputadores da época, é uma linguagem recomendada para computações não-numéricas. Também se realizaram algumas mudanças segundo as preferências de Thompson (a maioria das quais eram para reduzir o número de caracteres em um programa típico).

Como BCPL, B só tinha um tipo de dado, que correspondia com uma palavra de máquina. A maioria de operadores o manipulavam como um inteiro; por exemplo + (adição), - (subtracção), * (multiplicação) ou / (divisão). O sistema de tipos empregado em B se caracteriza por tipagem fraca, dinâmica e também implícita.

Outros operadores o manipulavam como um endereço de memória ao que fazer referência: um Ponteiro. B oferecia operadores que permitiam obter o endereço duma determinada variável, ou escrever no endereço apontado por uma variável apontadora ou ponteiro.

As primeiras implementações foram para os minicomputadores PDP-7 e PDP-11 executando versões antigas do UNIX; e para os mainframes de 36 bits Honeywell executando o sistema GCOS.

Evolução

A natureza sem tipos — é dizer, com um só tipo correspondente à palavra de máquina — de B tinha sentido no Honeywell, no PDP-7 e noutros computadores antigos, mas foi um problema no PDP-11 já que era difícil aceder a caracteres individuais, um novo tipo de dado que ofertava o PDP-11 assim como a maioria dos computadores modernos. Começando no 1971, Ritchie fez mudanças à linguagem ao mesmo tempo que convertia o seu compilador para produzir linguagem de máquina de forma nativa. A mais notável foi a adição de tipos de dado diferentes para as variáveis.

A linguagem B foi implementada no PDP-11, que foi uma máquina da DEC usada para fazer o primeiro arcade operado por moedas,com o Jogo Galaxy.

Durante 1971 e 1972 B evolucionou primeiro em Novo B (New B, NB) e depois em C. Mais tarde, começando 1973p, foi adicionado um pré-processador, a petição de Alan Snyder. O esforço foi o suficiente neste ano como para que durante o verão o núcleo do UNIX para o PDP-11 fosse rescrito em C.

Durante o período 1972-1973 foi preciso portá-lo ao Honeywell 635 e ao IBM 360/370, razão pela qual Mike Lesk escreveu o pacote de entrada/saída portável que se trocaria na conhecida E/S padrão (standard I/O ou stdio) da linguagem C.

B seguiu-se a utilizar até os anos 1990 nos mainframes Honeywell e em certos sistemas embarcados por uma variedade de razões, incluindo o uso de hardware limitado nesses sistemas; bibliotecas, ferramentas, problemas de custos excessivos; ou simplesmente porque era o suficientemente bom como para fazer o trabalho.

O AberMUD, de muita influência, foi escrito em B.

Nome

B teve uma enorme influência de BCPL, e o seu nome foi provavelmente uma contracção de BCPL. Porém, é possível que o seu nome baseara-se no da linguagem de programação Bon, uma linguagem mais antiga e não relacionada com B, desenhada por Thompson para usar-se no MULTICS.

VOLTAR

  • 1 Utilizadores acharam útil
Esta resposta foi útil?

Artigos Relacionados

O que é um domínio Internet?

Domínio é um nome que serve para localizar e identificar conjuntos de computadores na internet....

O que é uma mídia social?

As "ferramentas de mídias sociais" são sistemas projetados para possibilitar a interação social...

O que é DNS?

O Domain Name System ( DNS ) é um sistema de gerenciamento de nomes hierárquico e distribuído...

O que é computação em nuvem?

O conceito de computação em nuvem (em inglês, cloud computing) refere-se à utilização da...

O que é o protocolo de Internet IPv6?

IPv6 é a versão mais atual do Protocolo de Internet. Originalmente oficializada em 6 de junho de...

Powered by WHMCompleteSolution