# BCPL

### De Viquipèdia

BCPL és l'acrònim anglès de Basic Combined Programming Language.

Va ser dissenyat per Martin Richards de la Universitat de Cambridge l'any 1966 per tal de solucionar les dificultats experimentades amb el llenguatge CPL durant els anys 60. Inicialment era un llenguatge de la branca del paradigma imperatiu, però més tard s'afegiria també al paradigma d'orientació a objectes.

El primer compilador implementat va ser escrit durant el 1967 mentre Richards visitava el MIT.

En canvi, el llenguatge va ser descrit per primera vegada en un projecte presentat en una conferència informàtica l'any 1969.

Anys després, Dennis Ritchie l'utilitzaria com a base per a desenvolupar el llenguatge B (que per altra banda donaria pas més tard al popular llenguatge C).

BCPL va ser el primer en definir una màquina virtual tal com es coneix en altres llenguatges com Java i Pascal.

Aquesta màquina virtual donava al compilador una gran capacitat d'adaptació a les diferents arquitectures del mercat, ja que feia el codi independent.

Primerament, el compilador interpretava el codi font del programa i generava el codi màquina per a aquesta màquina virtual del BCPL. Llavors, l'altra cara del compilador agafava el codi de la màquina virtual i el traduïa al codi necessari per l'arquitectura corresponent. Més tard aquesta mena de compiladors es farien molt populars.

El llenguatge tenia la peculiaritat de treballar amb únicament un tipus de dada: la paraula (word en anglès), composada per una quantitat fixa de bits triats generalment per a coincidir amb el tamany de la paraula de l'arquitectura corresponent on corregués.

Com que usar un sol tipus de dada sense cap control de tipus podia produir múltiples errors, es va desenvolupar expressament la notació hongaresa (utilitzada fins i tot per Microsoft en el seu sistema operatiu Windows).

El programa "Hola món", en BCPL, és:

     GET "LIBHDR"

     LET START () BE
     $(
        WRITES ("Hola mon!*N")
     $)

Obtingut de "http://ca.wikipedia.org../../../b/c/p/BCPL_ea1b.html"

Categoria: Llenguatges de programació

##### Views

- Article
- Discussió
- Revisió actual

##### Cerca

##### En altres llengües

- বাংলা
- Dansk
- Deutsch
- English
- Español
- Français
- Italiano
- 日本語
- Nederlands
- Polski
- Português
- Русский