# BCPL

> multi-paradigm programming language

**Wikidata**: [Q810009](https://www.wikidata.org/wiki/Q810009)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/BCPL)  
**Source**: https://4ort.xyz/entity/bcpl

## Summary
BCPL is a multi-paradigm programming language created by Martin Richards in 1967. It is recognized for its simplicity and direct influence on the development of the C programming language and Unix systems.

## Key Facts
- Inception: 1967
- Designed by: Martin Richards
- Programming paradigms: procedural programming, imperative programming, structured programming
- Influenced by: CPL (Combined Programming Language)
- Has a notable compilation component: O-code (intermediate representation)
- Instance of: programming language, multi-paradigm programming language, procedural programming language
- Sitelink count: 33 (across Wikipedia editions)
- Foundational influence: Direct precursor to the C programming language.

## FAQs
### Q: What is BCPL?
A: BCPL (Basic Combined Programming Language) is a multi-paradigm programming language created by Martin Richards in 1967. It is known for its simplicity and was a key predecessor to the C programming language.

### Q: Who created BCPL?
A: BCPL was designed and created by British computer scientist Martin Richards, who conceived it in 1967.

### Q: How is BCPL related to the C programming language?
A: BCPL was a major direct influence on Dennis Ritchie when he created the C programming language. BCPL's design principles and its use of an intermediate code (O-code) were foundational to C's development.

### Q: What programming paradigms does BCPL support?
A: BCPL is classified as supporting procedural programming, imperative programming, and structured programming paradigms.

### Q: What is O-code in relation to BCPL?
A: O-code is the intermediate representation bytecode generated by the BCPL compiler. This intermediate code was then interpreted or compiled further, contributing to BCPL's portability and design philosophy.

## Why It Matters
BCPL holds significant historical importance in computer science as a stepping stone between high-level languages like CPL and the highly influential C language. Its development by Martin Richards in the late 1960s demonstrated principles of language simplicity and portability, particularly through its innovative O-code compilation system. While largely obsolete today, BCPL's direct lineage to C, which underpins vast amounts of modern software, including operating systems like Unix and its derivatives, cemented its legacy. It exemplifies how foundational design choices in early programming languages can shape computing for decades.

## Notable For
- Precursor to C: Directly influenced Dennis Ritchie in the creation of the C programming language.
- O-code Compilation: Pioneered the use of an intermediate bytecode (O-code) for portability and efficient compilation.
- Simplicity by Design: Developed with a focus on minimalism and ease of implementation in the late 1960s.
- Historical Significance: A critical link in the evolution from early languages like CPL to the dominant C and subsequently C++.
- Martin Richards' Creation: Authored by British computer scientist Martin Richards, a key figure in programming language history.

## Body
### Origins and Design
- Created by Martin Richards in 1967.
- Designed as a simplified successor to CPL (Combined Programming Language).
- Explicitly influenced by the earlier CPL language.

### Technical Characteristics
- Classified under multiple programming paradigms: procedural, imperative, and structured programming.
- Features include O-code as its intermediate representation.
- Recognized as a multi-paradigm programming language and a specific type of procedural programming language.

### Key Relationships
- Direct precursor to the C programming language.
- Influenced by CPL (1963).
- Influenced Dennis Ritchie (co-inventor of C and Unix).
- Notable for its component: O-code.

### Identifiers and Presence
- Wikipedia title: BCPL
- Wikipedia languages: an, ar, bn, ca, cs, da, de, en, es, fa
- Sitelink count: 33
- Freebase ID: /m/019wx
- Library of Congress Authority ID: sh85012591
- Microsoft Academic IDs (discontinued): 2775895771, 2781087287
- Quora topic: BCPL-1

### Legacy
- Its design principles and O-code system significantly impacted later languages, particularly C.
- Martin Richards is credited with its creation, a notable British computer scientist.
- Remains historically significant despite obsolescence.

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "BCPL",
  "description": "A multi-paradigm programming language created by Martin Richards in 1967, known for its simplicity and direct influence on the C programming language.",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q328",
    "https://en.wikipedia.org/wiki/BCPL"
  ],
  "additionalType": "multi-paradigm programming language, procedural programming language"
}

## References

1. [Source](https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap)
2. Freebase Data Dumps. 2013
3. [Source](https://www.computer.org/profiles/martin-richards)
4. Quora
5. National Library of Israel