To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

B (lenguaje de programación)

De Wikipedia, la enciclopedia libre

B
Bell Labs y Ken Thompson
Información general
Paradigma Imperativo (procedural)
Apareció en 1969
Diseñado por Kenneth L. Thompson, Dennis M. Ritchie
Sistema de tipos 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].

YouTube Encyclopedic

  • 1/3
    Views:
    51 795
    7 857
    16 094
  • Tutorial de Programacion en C++ - Crear un Menu de Opciones Usando Estructura SWITCH
  • Programación en C++ 03 - Expresiones aritmeticas
  • 21 - Funciones con paso de parámetros (ProgC)

Transcription

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) o / (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 o stdio) del lenguaje C.

B se continuó utilizando hasta los años 90 en los mainframes Honeywell y en ciertos sistemas embebidos 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.

Nombre

B fue enormemente influido 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 ASCII, los digitos 0 a 9
   tienen valores de código secuenciales.
 */

printn(n,b) {
        extern 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( ) {
  extern printn;
  auto a, b, c, sum;

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

Enlaces externos

Esta página se editó por última vez el 29 ene 2024 a las 23:33.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.