Jakarta Aktual
Jakarta Aktual

Berita Aktual dan Faktual

Jakarta Aktual
Jakarta Aktual© 2026
Jakarta Aktual
Jakarta Aktual

Berita Aktual dan Faktual

Kembali ke Wiki
Artikel Wikipedia

BCPL

BCPL adalah bahasa pemrograman prosedural, imperatif, dan terstruktur. Awalnya ditujukan untuk menulis kompiler untuk bahasa lain, BCPL tidak lagi digunakan secara umum. Namun pengaruhnya masih terasa karena versi BCPL yang dipreteli dan diubah secara sintaksis, disebut B, adalah bahasa yang menjadi dasar bahasa pemrograman C. BCPL memperkenalkan beberapa fitur dari banyak bahasa pemrograman modern, termasuk menggunakan tanda kurung kurawal untuk membatasi blok kode. BCPL pertama kali diterapkan oleh Martin Richards dari University of Cambridge pada tahun 1967.

bahasa pemrograman multi-paradigma
Diperbarui 23 September 2025

Sumber: Lihat artikel asli di Wikipedia

BCPL
Dirancang olehMartin Richards
Pertama kali muncul1967; 59 tahun lalu (1967)[1]
Tata tertib penjenisantanpa tipe (semuanya sebuah word)
Dipengaruhi oleh
CPL
Memengaruhi
B (secara tidak langsung C)

BCPL (Basic Combined Programming Language) adalah bahasa pemrograman prosedural, imperatif, dan terstruktur. Awalnya ditujukan untuk menulis kompiler untuk bahasa lain, BCPL tidak lagi digunakan secara umum. Namun pengaruhnya masih terasa karena versi BCPL yang dipreteli dan diubah secara sintaksis, disebut B, adalah bahasa yang menjadi dasar bahasa pemrograman C. BCPL memperkenalkan beberapa fitur dari banyak bahasa pemrograman modern, termasuk menggunakan tanda kurung kurawal untuk membatasi blok kode.[2] BCPL pertama kali diterapkan oleh Martin Richards dari University of Cambridge pada tahun 1967.[3]

Sejarah

BCPL pertama kali diterapkan oleh Martin Richards dari University of Cambridge pada tahun 1967.[1] BCPL adalah tanggapan atas kesulitan dengan pendahulunya, Bahasa Pemrograman Cambridge, yang kemudian diganti namanya Combined Programming Language (CPL), yang dirancang pada awal 1960-an. Richards membuat BCPL dengan "menghapus fitur-fitur bahasa lengkap yang membuat kompilasi menjadi sulit". Implementasi kompiler pertama, untuk IBM 7094 di bawah Compatible Time-Sharing System (CTSS), ditulis saat Richards mengunjungi Project MAC di Massachusetts Institute of Technology (MIT) pada musim semi tahun 1967.

Sebuah kompiler awal, bootstrap pada tahun 1969, dengan memulai dengan selotip kertas dari O-code dari kompiler Atlas 2 Martin Richards, menargetkan seri ICT 1900. Kedua mesin memiliki panjang-kata yang berbeda (48 vs 24 bita), pengkodean karakter yang berbeda, dan representasi string yang berbeda — dan bootstrap yang berhasil meningkatkan keyakinan dalam kepraktisan metode ini.

Pada akhir 1970, implementasi sudah ada untuk Honeywell 635 dan Honeywell 645, IBM 360, PDP-10, TX-2, CDC 6400, UNIVAC 1108, PDP-9, KDF 9 dan Atlas 2. Pada tahun 1974 dialek BCPL diimplementasikan di BBN tanpa menggunakan kode-O perantara. Implementasi awal adalah kompilator silang yang dihosting di TENEX PDP-10 BBN, dan secara langsung menargetkan PDP-11 yang digunakan dalam implementasi BBN untuk IMP generasi kedua yang digunakan di Arpanet.

Baik desain dan filosofi BCPL sangat memengaruhi B, yang pada gilirannya memengaruhi C.[4] Pemrogram pada saat itu memperdebatkan apakah penerus C pada akhirnya akan disebut "D", huruf berikutnya dalam alfabet, atau "P", huruf berikutnya dalam nama bahasa induk. Bahasa yang paling diterima sebagai penerus C adalah C++ (dengan ++ menjadi operator kenaikan C),[5] Meskipun sementara itu bahasa pemrograman D juga ada.

Pada tahun 1979, implementasi BCPL ada setidaknya untuk 25 arsitektur; bahasa ini secara bertahap tidak disukai karena C menjadi populer di sistem non-Unix.

Contoh

Jika program ini dijalankan menggunakan Cintsys versi terbaru dari Martin Richards (Desember 2018), LIBHDR, START dan WRITEF harus diubah ke huruf kecil untuk menghindari kesalahan.

Print faktorial:

GET "LIBHDR"

LET START() = VALOF $(
	FOR I = 1 TO 5 DO
		WRITEF("%N! = %I4*N", I, FACT(I))
	RESULTIS 0
$)

AND FACT(N) = N = 0 -> 1, N * FACT(N - 1)

Solusi hitung untuk masalah ratu N:

GET "LIBHDR"

GLOBAL $(
	COUNT: 200
	ALL: 201
$)

LET TRY(LD, ROW, RD) BE
	TEST ROW = ALL THEN
		COUNT := COUNT + 1
	ELSE $(
		LET POSS = ALL & ~(LD | ROW | RD)
		UNTIL POSS = 0 DO $(
			LET P = POSS & -POSS
			POSS := POSS - P
			TRY(LD + P << 1, ROW + P, RD + P >> 1)
		$)
	$)

LET START() = VALOF $(
	ALL := 1
	FOR I = 1 TO 12 DO $(
		COUNT := 0
		TRY(0, 0, 0)
		WRITEF("%I2-QUEENS PROBLEM HAS %I5 SOLUTIONS*N", I, COUNT)
		ALL := 2 * ALL + 1
	$)
	RESULTIS 0
$)

Referensi

  1. 1 2 "Martin Richards (2003 Computer Pioneer Award)". IEEE Computer Society. Diarsipkan dari asli tanggal 2017-11-24. Diakses tanggal 2017-11-24.
  2. ↑ https://www.cl.cam.ac.uk/~mr10/bcplman.pdf The BCPL Cintsys and Cintpos User Guide, 2.1.4 Section brackets
  3. ↑ "},"date":{"wt":"<!--Not stated-->"},"title":{"wt":"Martin Richards (2003 Computer Pioneer Award)"},"url":{"wt":"https://www.computer.org/web/awards/pioneer-martin-richards"},"publisher":{"wt":"IEEE Computer Society"},"archive-url":{"wt":"https://archive.today/20171124083723/https://www.computer.org/web/awards/pioneer-martin-richards"},"archive-date":{"wt":"2017-11-24"},"access-date":{"wt":"2017-11-24"},"url-status":{"wt":"dead"}},"i":0}}]}' id="mwbw"/>"Martin Richards (2003 Computer Pioneer Award)". IEEE Computer Society. Diarsipkan dari asli tanggal 2017-11-24. Diakses tanggal 2017-11-24.
  4. ↑ The C Programming Language. Bell Telephone Laboratories. 1978. hlm. 2. ISBN 0-13-110163-3.
  5. ↑ History of C++ Retrieved 12 December 2017

Bacaan lanjutan

  • Martin Richards, The BCPL Reference Manual (Memorandum M-352, Project MAC, Cambridge, MA, USA, July, 1967)
  • Martin Richards, BCPL - a tool for compiler writing and systems programming (Proceedings of the Spring Joint Computer Conference, Vol 34, pp 557–566, 1969)
  • Martin Richards, Arthur Evans, Robert F. Mabee, The BCPL Reference Manual (MAC TR-141, Project MAC, Cambridge, MA, USA, 1974)
  • Martin Richards, Colin Whitby-Strevens, BCPL, the language and its compiler (Cambridge University Press, 1980) ISBN 0-521-28681-6

Pranala luar

  • Distribusi BCPL Martin Richards
  • Manual Referensi BCPL Martin Richards, 1967 oleh Dennis M. Ritchie
  • Entri BCPL dalam Jargon File
  • Nordier & Associates' x86 port
  • ArnorBCPL manual
  • Ritchie's The Development of the C Language memiliki komentar tentang pengaruh BCPL pada C
  • Panduan Pengguna BCPL Cintsys dan Cintpos
Ikon rintisan

Artikel bertopik perangkat lunak ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.

  • l
  • b
  • s
Basis data pengawasan otoritas: Nasional Sunting di Wikidata
  • Amerika Serikat
  • Israel

Bagikan artikel ini

Share:

Daftar Isi

  1. Sejarah
  2. Contoh
  3. Referensi
  4. Bacaan lanjutan
  5. Pranala luar

Artikel Terkait

Python (bahasa pemrograman)

Bahasa pemrograman tujuan umum tingkat tinggi yang ditafsirkan. Dibuat oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991, filosofi desain Python menekankan keterbacaan kode dengan penggunaan spasi putih yang signifikan.

Lua (bahasa pemrograman)

bahasa pemograman

Java

bahasa pemrograman berorientasi objek

Jakarta Aktual
Jakarta Aktual© 2026