Web adalah sebuah sistem pemrograman komputer yang diciptakan oleh Donald E. Knuth sebagai implementasi pertama dari apa yang ia sebut sebagai "literate programming": sebuah ide di mana seseorang dapat membuat perangkat lunak sebagai suatu karya sastra, dengan cara menanamkan kode sumber ke dalam teks deskripsi, dan bukan sebaliknya (yang merupakan praktik yang lazim digunakan di kebanyakan bahasa pemrograman), dalam urutan yang nyaman untuk pemaparan bagi pembaca manusia, dan bukan dalam urutan yang diminta oleh kompilator.[1]

Web terdiri dari dua program sekunder: TANGLE, yang menghasilkan kode Pascal yang dapat dikompilasi dari teks sumber, dan WEAVE, yang menggunakan TeX untuk menghasilkan dokumentasi yang telah diformat dengan baik dan dapat dicetak.

CWEB adalah versi Web untuk bahasa pemrograman C, sedangkan noweb adalah suatu alat literate programming terpisah, yang terinspirasi oleh Web (seperti tecermin dalam namanya) dan tidak terkait bahasa.

Program paling penting yang ditulis menggunakan Web adalah TeX dan Metafont. Distribusi modern TeX menggunakan program lain yaitu Web2C untuk mengubah sumber Web ke C.

Filsafat

sunting

Tidak seperti kebanyakan penghasil dokumentasi yang menurunkan dokumentasi menjadi komentar, pendekatan WEB adalah dengan menulis artikel untuk mendokumentasi pembuatan kode sumber tersebut. Seperti halnya artikel TeX, sumber tersebut dibagi menjadi bagian-bagian menurut alur dokumentasi. Misalnya, dalam CWEB, bagian-bagian kode tercampur dengan mulus di dalam jalur argumentasi.[2]

CWEB

sunting
CWEB
ParadigmaLiterate, imperative (procedural), structured
Dirancang olehDonald Knuth
PengembangDonald Knuth & Silvio Levy
Pertama kali muncul1987; 39 tahun lalu (1987)
Rilis stabil
3.67 / Oktober 24, 2006; 19 tahun lalu (2006-10-24)
Tata tertib penjenisanStatic, weak, manifest, nominal
SOCross-platform (multi-platform)
Lisensicustom free-software license
Ekstensi nama berkas.w
Situs webwww-cs-faculty.stanford.edu/~uno/cweb.html
Dipengaruhi oleh
WEB, TeX
Memengaruhi
noweb

CWEB adalah sistem pemrograman komputer yang diciptakan oleh Donald Knuth dan Silvio Levy sebagai tindak lanjut terhadap sistem WEB literate programming yang diciptakan oleh Knuth, menggunakan bahasa pemrograman C (dan sebagian kecil menggunakan bahasa pemrograman C++ dan Java) dan bukan Pascal.

Seperti WEB, ia terdiri dari dua program utama: CTANGLE, yang menghasilkan kode C yang dapat dikompilasi dari kode sumber, dan CWEAVE, yang menggunakan TeX untuk menghasilkan dokumentasi yang telah diformat dengan baik dan dapat dicetak.

Fitur

sunting
  • Dapat memasukkan kode manual TeX maupun otomatis.
  • Memformat kode C untuk percetakan indah.
  • Dapat mendefinisikan bagian-bagian, dan memuat dokumentasi dan kode, yang kemudian dapat dimasukkan ke bagian lain.
  • Menulis kode header dan kode pokok C di satu file, dan dapat menggunakan kembali bagian-bagian yang sama, dan kemudian dapat digunakan di beberapa file untuk kompilasi.
  • Menggunakan pragma #line sehingga setiap peringatan atau kesalahan yang ada akan mengacu ke sumber .w.
  • Memasukkan file.
  • Mengubah file, yang dapat digabung secara otomatis ke dalam kode saat mengkompilasi/mencetak.
  • Menghasilkan indeks pengidentifikasi dan nama-nama bagian di dalam cetakan.

Referensi

sunting
  1. ^ Knuth, Donald E. (1992). Literate Programming. CSLI Lecture Notes. Vol. 27. Stanford, California: Center for the Study of Language and Information.
  2. ^ Silvio Levy (12 June 2004). "An example of CWEB" (PDF). Diarsipkan dari asli (PDF) tanggal 20 October 2021.

Pranala luar

sunting

Templat:Donald Knuth navbox

📚 Artikel Terkait di Wikipedia

TeX

TeX yang lebih baru, Knuth menemukan konsep pemrograman literasi (literate programming), sebuah cara untuk menghasilkan kode sumber yang dapat dikompilasi

Donald Knuth

TEX dan sistem desain METAFONT, dan seorang pembuka konsep pemrogaman literate. Ia juga dikenal menawarkan hadiah untuk siapa saja yang menemukan kesalahan

Org-mode

Carsten (Jan 2012). "A Multi-Language Computing Environment for Literate Programming and Reproducible Research". Journal of Statistical Software. 46 (3)

MATLAB

web-based newsgroups reader hosted by MathWorks for comp.soft-sys.matlab LiteratePrograms (MATLAB) Diarsipkan 2010-07-09 di Wayback Machine. MATLAB Central

Mohammad Ali

(in Bahasa) at Seminar on Analyzing Mathematics, Science and Language Literate International Study, organized by Board of Research and Development, Ministry

Daftar ilmuwan komputer

Computer Programming, TeX, Literate programming Andrew Koenig - C++ David Korn - Korn shell Kees Koster - ALGOL 68 John Koza - Genetic programming Andrey