Web (sistem pemrograman)

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 tercermin 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

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

Web
ParadigmaLiterate, imperative (procedural), structured
Dirancang olehDonald Knuth
PengembangDonald Knuth & Silvio Levy
Rilis perdana1987; 37 tahun lalu (1987)
Rilis stabil
3.67 / 24 Oktober 2006; 18 tahun lalu (2006-10-24)
Tipe sistemStatic, weak, manifest, nominal
Sistem operasiCross-platform (multi-platform)
Lisensicustom free-software license
Ekstensi nama berkas.w
Situs webwww-cs-faculty.stanford.edu/~uno/cweb.html
Terpengaruh oleh
WEB, TeX
Mempengaruhi
noweb
Sunting kotak info
Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini

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

  • 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

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

Pranala luar

Templat:Donald Knuth navbox

Kembali kehalaman sebelumnya