BCPL (Basic Combined Programming Language) est un langage de programmation créé par de l'université de Cambridge (1966) et une réponse aux difficultés rencontrées avec son prédécesseur le Combined Programming Language (CPL) durant les années 1960. Le premier compilateur fonctionnel fut écrit pendant sa visite du Massachusetts Institute of Technology (MIT) au printemps 1967. Ce langage fut décrit la première fois dans un journal au 1969 Spring Joint Computer Conference. Dennis Ritchie développa plus tard le C à partir du BCPL. BCPL est un langage de programmation propre, puissant et portable. Il rend possible l'écriture de compilateurs petits et simples. C'est notamment un choix populaire pour l'amorçage d'un système. D'après les informations reçues, quelques compilateurs peuvent fonctionner sur 16 ko seulement. Plusieurs logiciels d'exploitation ont été écrits partiellement ou complètement en BCPL (par exemple, TripOS ou Amiga Kickstart). Une raison majeure de la portabilité de BCPL s'explique par la structure de ses compilateurs, qui sont scindés en deux parties : Le front-end analyse la source et produit du code pour une machine virtuelle dédiée (le O-code, O valant pour "Objet") le back-end récupère alors ce O-code et le traduit en langage machine. En peu de temps cette pratique devint courante, voir le Pascal ou Java, mais le compilateur BCPL de Martin Richards a été le premier à utiliser une machine virtuelle à cette fin. Ce langage n'est pas courant, puisqu'il ne possède qu'un seul type de données : le type word comportant un nombre fixe de bits (nombre habituellement choisi pour s'aligner sur le langage machine). L'interprétation de toutes les valeurs est déterminée par l'opérateur utilisé lors du traitement. Pour permettre ce fonctionnement, l'exécution ne réalise pas de contrôle de type. La notation hongroise a été développée pour aider les programmeurs à éviter les fautes de type endémiques en BCPL. En 1979, BCPL était supporté par au moins 25 architectures ; en 2001 il n'était plus que très peu utilisé.