| Dirancang oleh | Martin Richards |
|---|---|
| Pertama kali muncul | 1967;59 tahun lalu (1967)[1] |
| Tata tertib penjenisan | tanpa tipe (semuanya sebuahword) |
| Dipengaruhi oleh | |
| CPL | |
| Memengaruhi | |
| B (secara tidak langsungC) | |
BCPL (Basic Combined Programming Language) adalahbahasa pemrogramanprosedural,imperatif, danterstruktur. Awalnya ditujukan untuk menuliskompiler untuk bahasa lain, BCPL tidak lagi digunakan secara umum. Namun pengaruhnya masih terasa karena versi BCPL yang dipreteli dan diubah secarasintaksis, disebutB, adalah bahasa yang menjadi dasarbahasa pemrograman C. BCPL memperkenalkan beberapa fitur dari banyak bahasa pemrograman modern, termasuk menggunakantanda kurung kurawal untuk membatasi blok kode.[2] BCPL pertama kali diterapkan olehMartin Richards dariUniversity of Cambridge pada tahun 1967.[3]
BCPL pertama kali diterapkan olehMartin Richards dariUniversity of Cambridge pada tahun 1967.[1] BCPL adalah tanggapan atas kesulitan dengan pendahulunya, Bahasa Pemrograman Cambridge, yang kemudian diganti namanyaCombined 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, untukIBM 7094 di bawahCompatible Time-Sharing System (CTSS), ditulis saat Richards mengunjungiProject MAC diMassachusetts Institute of Technology (MIT) padamusim semi tahun 1967.
Sebuah kompiler awal, bootstrap pada tahun 1969, dengan memulai dengan selotip kertas dari O-code dari kompilerAtlas 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 untukHoneywell 635 dan Honeywell 645,IBM 360,PDP-10,TX-2,CDC 6400,UNIVAC 1108,PDP-9,KDF 9 danAtlas 2. Pada tahun 1974 dialek BCPL diimplementasikan di BBN tanpa menggunakan kode-O perantara. Implementasi awal adalah kompilator silang yang dihosting diTENEXPDP-10 BBN, dan secara langsung menargetkanPDP-11 yang digunakan dalam implementasi BBN untukIMP generasi kedua yang digunakan diArpanet.
Baik desain dan filosofi BCPL sangat memengaruhiB, yang pada gilirannya memengaruhiC.[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 adalahC++ (dengan++ menjadioperator kenaikan C),[5] Meskipun sementara itu bahasa pemrogramanD 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.
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 DOWRITEF("%N! = %I4*N", I, FACT(I))RESULTIS 0$)AND FACT(N) = N = 0 -> 1, N * FACT(N - 1)Solusi hitung untukmasalah ratu N:
GET "LIBHDR"GLOBAL $(COUNT: 200ALL: 201$)LET TRY(LD, ROW, RD) BETEST ROW = ALL THENCOUNT := COUNT + 1ELSE $(LET POSS = ALL & ~(LD | ROW | RD)UNTIL POSS = 0 DO $(LET P = POSS & -POSSPOSS := POSS - PTRY(LD + P << 1, ROW + P, RD + P >> 1)$)$)LET START() = VALOF $(ALL := 1FOR I = 1 TO 12 DO $(COUNT := 0TRY(0, 0, 0)WRITEF("%I2-QUEENS PROBLEM HAS %I5 SOLUTIONS*N", I, COUNT)ALL := 2 * ALL + 1$)RESULTIS 0$)Artikel bertopikperangkat lunak ini adalah sebuahrintisan. Anda dapat membantu Wikipedia denganmengembangkannya. |