b'\n_START_ARTICLE_\nBCPL\n_START_SECTION_\nCenni storici\n_START_PARAGRAPH_\nRichards svilupp\xc3\xb2 in linguaggio  in seguito alle difficolt\xc3\xa0 che aveva incontrato nell\'utilizzo del suo predecessore, il Combined Programming Language. Il primo compilatore del nuovo linguaggio di programmazione venne implementato mentre lo studioso si trovava al MIT, nella primavera del 1967. Il linguaggio venne presentato per la prima volta alla Spring Joint Computer Conference]] nel al 1969. L\'architettura del BCPL influenz\xc3\xb2 pesantemente il linguaggio B, da cui Dennis Ritchie in seguito svilupp\xc3\xb2 il C. _NEWLINE_Nel 1979 esistevano implementazioni di BCPL per almeno 25 diverse architetture, venendo progressivamente soppiantato dal linguaggio C.\n_START_SECTION_\nEsempi\n_START_PARAGRAPH_\nQuesti esempi completi e compilabili sono presi dalla distribuzione del BCPL di Martin Richards._NEWLINE_Stampa del fattoriale:_NEWLINE_GET "libhdr"_NEWLINE__NEWLINE_LET start() = VALOF_NEWLINE_{ FOR i = 1 TO 5 DO writef("fact(%n) = %i4*n", i, fact(i))_NEWLINE_  RESULTIS 0_NEWLINE_}_NEWLINE__NEWLINE_AND fact(n) = n=0 -> 1, n*fact(n-1)_NEWLINE_Soluzioni del rompicapo delle otto regine:_NEWLINE_GET "libhdr"_NEWLINE_ _NEWLINE_GLOBAL { count:200; all:201  }_NEWLINE_ _NEWLINE_LET try(ld, row, rd) BE TEST row=all_NEWLINE__NEWLINE_                        THEN count\xc2\xa0:= count + 1_NEWLINE__NEWLINE_                        ELSE { LET poss = all & ~(ld | row | rd)_NEWLINE_                               UNTIL poss=0 DO_NEWLINE_                               { LET p = poss & -poss_NEWLINE_                                 poss\xc2\xa0:= poss - p_NEWLINE_                                 try(ld+p \xc2\xab\xc2\xa01, row+p, rd+p\xc2\xa0\xc2\xbb 1)_NEWLINE_                               }_NEWLINE_                             }_NEWLINE__NEWLINE_LET start() = VALOF_NEWLINE_{ all\xc2\xa0:= 1_NEWLINE_  _NEWLINE_  FOR i = 1 TO 12 DO_NEWLINE_  { count\xc2\xa0:= 0_NEWLINE_    try(0, 0, 0)_NEWLINE_    writef("Number of solutions to %i2-queens is %i5*n", i, count)_NEWLINE_    all\xc2\xa0:= 2*all + 1_NEWLINE_  }_NEWLINE__NEWLINE_  RESULTIS 0_NEWLINE_}'