문맥 (context)
BCPL(Basic Combined Programming Language)은 1966년 케임브리지 대학교에서 마틴 리처드가 설계한 절차적 명령형, 구조적 컴퓨터 프로그래밍 언어이다.
원래 다른 언어들을 위한 컴파일러를 작성하기 위해 고안하였다가, BCPL은 더 이상 일반적으로 쓰이지 않게 되었다. 그러나 이 언어의 영향력은 여전한데 BCPL을 문법적으로 변경한 것이 이른바 B이고, C 프로그래밍 언어가 이것 위에 기반을 두었기 때문이다. 이로 말미암아 수많은 C 프로그래머들에게 Before C Programming Language라는 유머러스한 배크로님을 선사해 주었다.
BCPL은 활 괄호({ })를 사용한 최초의 프로그래밍 언어이다. 괄호는 거듭되는 문법의 변화를 생존시켰고, 프로그램 소스 코드의 문들을 표기하는 일반적인 수단이 되었다. 현실적으로 당시 키보드의 제한으로 소스 프로그램들은 종종 { } 기호 대신 $( 와 $) 기호를 종종 사용하였다. BCPL에서 쓰이는 '//'라는 한 줄 주석은 C에 도입되지 않았지만 C++과 나중에 C99에 다시 등장하였다.
예
아래의 완전하고 호환성 있는 예제는 마틴 리처드의 BCPL 배포판에서 가져온 것이다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
BCPL이 현재는 일반적으로 쓰이지 않음에도 불구하고 프로그래밍 언어 역사에서 갖는 주요한 영향력은 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretationBCPL의 현재 사용 여부와 상관없이 역사적/기술적 영향력을 묻는 질문임을 파악한다.
-
2정보 추출
information_extractionBCPL의 영향력과 관련된 언어적 계보를 추출한다.
- BCPL을 문법적으로 변경한 것이 이른바 B이고, C 프로그래밍 언어가 이것 위에 기반을 두었기 때문이다.
-
3근거 선택
evidence_selectionC 언어의 기반이 되었다는 점과 문법적 변형(B 언어)을 거쳤다는 점을 핵심 근거로 선정한다.
- BCPL을 문법적으로 변경한 것이 이른바 B이고, C 프로그래밍 언어가 이것 위에 기반을 두었기 때문이다.
-
4논리 통합
logical_integrationBCPL -> B -> C로 이어지는 언어적 계보를 통해 영향력을 논리적으로 연결한다.
-
5결론 도출
conclusion_formulationBCPL이 B 언어의 모태가 되었고, C 언어가 B 언어 위에 기반을 두고 있으므로 현대 프로그래밍 언어의 근간에 영향을 미쳤음을 도출한다.
- BCPL을 문법적으로 변경한 것이 이른바 B이고, C 프로그래밍 언어가 이것 위에 기반을 두었기 때문이다.
-
6답변 생성
answer_generation질문에 대해 계보를 중심으로 명확하게 답변을 작성한다.
- BCPL을 문법적으로 변경한 것이 이른바 B이고, C 프로그래밍 언어가 이것 위에 기반을 두었기 때문이다.
근거 (evidence)
- BCPL을 문법적으로 변경한 것이 이른바 B이고, C 프로그래밍 언어가 이것 위에 기반을 두었기 때문이다.
최종 답변 (final_answer)
BCPL은 문법적으로 변경된 B 언어의 바탕이 되었으며, C 프로그래밍 언어가 이 B 언어 위에 기반을 두고 있기 때문에 프로그래밍 언어 역사에 중요한 영향력을 미치고 있다.
핵심 해석 (core_interpretation)
BCPL은 문법적으로 변경된 B 언어를 거쳐 C 프로그래밍 언어의 기반이 되었다는 점에서 프로그래밍 언어 역사에 중요한 영향력을 미친다.