Lenguaje de programación B

Lenguaje de programación B

B
Paradigma: imperativo (procedural)
Apareció en: 1969
Diseñado por: Kenneth L. Thompson, Dennis M. Ritchie
Tipo de dato: lenguaje sin tipos
Implementaciones: múltiples
Influido por: BCPL
Ha influido a: C

B es el nombre de un lenguaje de programación desarrollado en los Bell Labs, predecesor del lenguaje de programación C.

Fue mayoritariamente un trabajo de Kenneth L. Thompson con contribuciones de Dennis M. Ritchie publicado por primera vez en el año 1969 [cita requerida].

Contenido

Historia

B fue esencialmente una simplificación del lenguaje BCPL, eliminando cualquier componente que Thompson considerase prescindible de forma que cupiese en la memoria de las minicomputadoras de la época. El lenguaje también incluyó algunos cambios de acuerdo con las preferencias de Thompson (la mayoría para reducir el número de caracteres de un programa típico).

Al igual que BCPL, y FORTH, B sólo tenía un tipo de datos, que correspondía con una palabra de máquina. La mayoría de operadores lo manejaban como un entero; por ejemplo + (suma), - (resta), * (multiplicación) ó / (división). Otros operadores lo trataban como una dirección de memoria a la que hacer referencia: un puntero. B ofrecía operadores que permitían obtener la dirección de una determinada variable, o escribir en la dirección apuntada por una variable puntero.

Las primeras implementaciones fueron para las minicomputadoras PDP-7 y PDP-11 ejecutando versiones antiguas de UNIX; y para los mainframes de 36 bits Honeywell ejecutando el sistema GCOS.

Evolución

La naturaleza sin tipos de B tenía sentido en el Honeywell, en la PDP-7 y muchas otras computadoras antiguas, pero fue un problema en la PDP-11 porque era difícil acceder a tipos de caracteres de datos que la PDP-11 y la mayoría de computadoras modernas soportaban. Comenzando en 1971, Ritchie hizo cambios al lenguaje al mismo tiempo que convertía su compilador para producir lenguaje de máquina nativo. El más notable fue la adición de tipos de datos diferentes para las variables.

Durante 1971 y 1972 B evolucionó primero en "Nuevo B" (New B, NB) y después en C. Más tarde, a principios de 1973, fue añadido un preprocesador a petición de Alan Snyder.

El esfuerzo fue lo suficientemente completo en este año como para que durante el verano el núcleo del sistema UNIX para la PDP-11 fuese reescrito en C.

Durante el periodo 1972-1973 hubo la necesidad de portarlo al Honeywell 635 y al IBM 360/370, por lo que Mike Lesk escribió el "paquete de E/S portable" que se convertiría en la "E/S estándar" (standard I/O ó stdio) del lenguaje C.

B se continuó utilizando hasta los años 90 en los mainframes Honeywell y en ciertos sistemas empotrados por una variedad de razones, incluyendo el uso de hardware limitado en estos sistemas; librerías extensivas, herramientas; o simplemente porque era lo suficientemente bueno como para hacer el trabajo.

El enormemente influencial AberMUD fue escrito en B.

Nombre

B fue enormemente influenciado por BCPL, y su nombre fue probablemente una contracción de "BCPL". Sin embargo es posible que su nombre se hubiera basado en el lenguaje de programación Bon, un lenguaje más antiguo y no relacionado con B, diseñado por Thompson para su uso en MULTICS.

Ejemplos

La siguiente función de ejemplo está tomada del Users' Reference to B por Ken Thompson:

/* La siguiente función imprime un número no-negativo, n, en
   base b, donde 2<=b<=10. Esta rutina utiliza el hecho de
   que en el juego de caracteres ANSCII, los digitos 0 a 9
   tienen valores de código secuenciales.
 */
 
printn(n,b) {
        extrn putchar;
        auto a;
 
        if(a=n/b) /* asignación, no comprobación de igualdad */
                printn(a, b); /* recursivo */
        putchar(n%b + '0');
}

Este programa de ejemplo en B utiliza la función anterior para sumar tres números imprimiendo por pantalla el resultado.

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

Enlaces externos

Obtenido de "Lenguaje de programaci%C3%B3n B"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Lenguaje de programación C — Saltar a navegación, búsqueda C Paradigma: Imperativo (Procedural) Apareció en: 1972 Diseñado por: Dennis M. Ritchie Tipo de dato: Débil, Estático Implementaciones …   Wikipedia Español

  • Lenguaje de programación J — Saltar a navegación, búsqueda El lenguaje de programación J, diseñado por Kenneth Iverson y Roger Hui en los 90, es una síntesis de los lenguajes de programación APL (diseñado también por Iverson) y los lenguajes funcionales FP y FL creados por… …   Wikipedia Español

  • Lenguaje de programación Oz — Saltar a navegación, búsqueda Oz es un lenguaje de programación multi paradigma y lenguaje de programación esotérico. Oz fue originalmente desarrollado en el laboratorio de Programación de Sistemas en la Universidad de Saarland por Gert Smolka y… …   Wikipedia Español

  • Lenguaje de programación D — Saltar a navegación, búsqueda D Paradigma: multiparadigma: orientado a objetos, imperativo Apareció en: 1995 Diseñado por: Walter Bright Última versión: 1.050(estable) 2.035(inestable) (14 de octubre de 2009 …   Wikipedia Español

  • Lenguaje de programación FP — Saltar a navegación, búsqueda FP (abreviación de Functional Programming) es un lenguaje de programación creado por John Backus para apoyar la diseminación del paradigma de Programación a nivel funcional. Contenido 1 Componentes del lenguaje 1.1… …   Wikipedia Español

  • Lenguaje de programación bc — Saltar a navegación, búsqueda bc es un lenguaje de programación de cálculo numérico con precisión arbitraria, con una sintaxis similar a la del lenguaje de programación C. El lenguaje y su intérprete son una herramienta estandarizada de los… …   Wikipedia Español

  • Lenguaje de programación — Captura de la microcomputadora Commodore PET 32 mostrando un programa en el lenguaje de programación BASIC, bajo el emulador VICE en una distribución GNU/Linux. Un lenguaje de programación es un idioma artificial diseñado para expresar… …   Wikipedia Español

  • Lenguaje de programación — Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un programa… …   Enciclopedia Universal

  • Lenguaje de programación B — B es un lenguaje de programación diseñado por Dennis Ritchie y Ken Thompson en los Laboratorios Bell, principalmente usado para aplicaciones no numéricas y programación de sistemas. Apareció por primera vez en 1969. Las primeras implementaciones… …   Enciclopedia Universal

  • Lenguaje de programación C — C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell basándose en los lenguajes BCPL y B. Al igual que sus dos predecesores, es un lenguaje orientado a la implementación de Sistemas… …   Enciclopedia Universal


Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.