Linguaxe de programación B

linguaxe de programación From Wikipedia, the free encyclopedia

Remove ads

B é o nome dun linguaxe de programación desenvolvido nos Bell Labs, predecesor do linguaxe de programación C.

Datos rápidos B, Paradigma ...

Foi maioritariamente un traballo de Ken Thompson con contribucións de Dennis Ritchie. Apareceu primeiro sobre o ano 1969.

Remove ads

Historia

B foi esencialmente unha simplificación da linguaxe BCPL, eliminando calquera compoñente que Thompson considerase prescindible de forma que coubese na memoria das minicomputadoras da época. A linguaxe tamén incluíu algúns cambios de acordo coas preferencias de Thompson (a maioría para reducir o número de caracteres dun programa típico).

Do mesmo xeito que BCPL, B só tiña un tipo de datos, que correspondía cunha palabra de máquina. A maioría de operadores manexábano como un enteiro; por exemplo + (suma), - (resta), * (multiplicación) ó / (división). Outros operadores tratábano como unha dirección de memoria á que facer referencia: un punteiro. B ofrecía operadores que permitían obter a dirección dunha determinada variable, ou escribir na dirección apuntada por unha variable punteiro.

As primeiras implementaciones foron para as minicomputadoras PDP-7 e PDP-11 executando versións antigas de UNIX; e para os mainframes de 36 bits Honeywell executando o sistema GCOS.

Remove ads

Evolución

A natureza sen tipos de B tiña sentido no Honeywell, na PDP-7 e moitas outras computadoras antigas, pero foi un problema na PDP-11 porque era difícil acceder a tipos de caracteres de datos que a PDP-11 e a maioría de computadoras modernas soportaban. Comezando en 1971, Ritchie fixo cambios á linguaxe ao mesmo tempo que convertía a súa compilador para producir linguaxe de máquina nativo. O máis notable foi a adición de tipos de datos diferentes para as variables.

Durante 1971 e 1972 B evolucionou primeiro en Novo "B" (New B, NB) e despois en C. Máis tarde, a principios de 1973, foi engadido un preprocesador a petición de Alan Snyder.

O esforzo foi o suficientemente completo neste ano como para que durante o verán o núcleo do sistema UNIX para a PDP-11 fose reescrito en C.

Durante o período 1972-1973 houbo a necesidade de portalo ao Honeywell 635 e ao IBM 360/370, polo que Mike Lesk escribiu o "paquete de E/S portable" que se convertería na "E/S estándar" (standard I/Ou ó stdio) da linguaxe C.

B continuouse utilizando ata os anos 90 nos mainframes Honeywell e en certos sistemas embedidos por unha variedade de razóns, incluíndo o uso de hardware limitado nestes sistemas; librerías extensivas, ferramentas; ou simplemente porque era o suficientemente bo como para facer o traballo.

O enormemente influencial AberMUD foi escrito en B.

Remove ads

Nome

B foi enormemente influenciado por BCPL, e o seu nome foi probablemente unha contracción de BCPL "". Con todo é posible que o seu nome baseouse no linguaxe de programación Bon, unha linguaxe máis antiga e non relacionado con B, deseñado por Thompson para o seu uso en MULTICS.

Exemplos

A seguinte función de exemplo está tomada do Users' Reference to B por Ken Thompson:

/* A seguinte función imprime un número non-negativo, n, en
   base b, onde 2<=b<=10. Esta rutina utiliza o feito de
   que no xogo de carácteres ANSCII, os digitos 0 a 9
   teñen valores de código secuenciales.
 */

printn(n,b) {
        extrn putchar;
        auto a;

        if(a=n/b) /* asignación, non comprobación de igualdade */
                printn(a, b); /* recursivo */
        putchar(n%b + '0');
}

Este programa de exemplo en B utiliza a función anterior para sumar tres números imprimindo por pantalla o resultado.

main( ) {
  extrn printn;
  auto a, b, c, sum;

  a = 1; b = 2; c = 3;
  sum = a+b+c;
  printn(sum,10);
}
Remove ads

Ligazóns externas

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads