Web Analytics Made Easy - Statcounter

[HOME PAGE] [STORES] [CLASSICISTRANIERI.COM] [FOTO] [YOUTUBE CHANNEL]

BCPL - Viquip??dia

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")
 $)