ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
B (linguagem de programação) - Wikipédia, a enciclopédia livre

B (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.

B

Paradigma: imperativo
Surgido em: 1969
Última versão: {{{ultima_versao}}} ()
Criado por: Ken Thompson e Dennis Ritchie
Estilo de tipagem:
Compiladores:
Dialetos:
Influenciada por: BCPL
Influenciou: C
Licença: {{{licença}}}
Website: {{{website}}}

B é uma linguagem de programação que foi desenvolvida nos Bell Labs de 1969, predecessora da linguagem de programação C. Foi maioritariamente um trabalho de Ken Thompson com contribuições de Dennis Ritchie.

Índice

[editar] História

B foi essencialmente uma simplificação da linguagem BCPL, quitando qualquer componente que Thompson considerasse prescindível de jeito que coubesse na memória dos minicomputadores da época. 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 dum 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).

Outros operadores o manipulavam como um endereço de memória ao que fazer referência: um apontador. 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.

[editar] 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.

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 kernel 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.

[editar] 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.

[editar] Exemplos

A seguinte função de exemplo está tirada do Users' Reference to B por Ken Thompson:

/* A seguinte função imprime um número não-negativo, n, na
   base b, no qual 2<=b<=10. Esta rotina basea-se no facto
   de que no jogo de caracteres ANSCII, os dígitos do 0 ao
   9 têm valores de código sequenciais.
 */

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

        if(a=n/b) /* atribuição, não comprovação de igualdade */
                printn(a, b); /* recursivo */
        putchar(n%b + '0');
}

Este programa de exemplo em B emprega a função anterior para somar três números imprimindo no ecrã o resultado.

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

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

[editar] Ver também

[editar] Ligações externas


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -