Menulis ulang Alkitab dalam 0 dan 1

Saat Anda menulis tentang Donald Knuth, wajar jika terdengar alkitabiah. Selama hampir 40 tahun, sekarang pensiunan profesor Universitas Stanford telah menulis Injil ilmu komputer, sebuah epik yang disebut Seni Pemrograman Komputer. Tiga jilid pertama sudah merupakan Buku Bagus bagi para pecinta perangkat lunak tingkat lanjut, terjual satu juta eksemplar di seluruh dunia dalam selusin bahasa. Pendekatannya terhadap kode menembus budaya perangkat lunak.



Dan lihatlah, mengganggu panggilannya selama sembilan tahun, Donald Knuth mengembara di belantara tipografi komputer, menciptakan sebuah program yang telah menjadi Firman dalam penyusunan huruf digital untuk penerbitan ilmiah. Dia menyebut perangkat lunaknya TeX, dan menawarkannya kepada semua orang percaya, menolak upaya satu suku (Xerox) untuk menegaskan kepemilikan atas rumus matematikanya. Matematika adalah milik Tuhan, katanya. Tapi Tuhan Knuth tidak di atas trik pada setia. Dalam panduan TeX-nya, The TeXbook, ia menulis bahwa itu tidak selalu mengatakan yang sebenarnya karena teknik berbohong yang disengaja sebenarnya akan memudahkan Anda untuk mempelajari ide-idenya.

Sekarang berniat menyelesaikan kitab sucinya, Knuth (ka-NOOTH) yang berusia 61 tahun memimpin apa yang dia sebut keberadaan seperti pertapa (bersama istrinya) di perbukitan di sekitar universitas, setelah pensiun dini dari mengajar. Dia telah mencabut akun e-mail pribadinya, memposting halaman Web (www-cs-faculty.stanford.edu/~knuth/) untuk mencegah banyaknya perangkat lunak dengan menjawab pertanyaan yang sering diajukan seperti, Kapan Volume 4 keluar ?

Kira-kira sebulan sekali selama tahun akademik, Knuth turun dari ketinggian ke ruang kuliah bawah tanah di Gedung Ilmu Komputer Gates di Stanford untuk menyampaikan salah satu kuliah Musings Komputernya, biasanya tentang beberapa aspek karyanya saat ini di The Art of Computer Pemrograman. Pembicaraan ini menarik mahasiswa ilmu komputer, profesor tamu, insinyur perangkat lunak dari perusahaan terdekat dan sesekali CEO. Pada hari yang cerah di awal tahun ini, topik dan pendengarnya berbeda. Untuk merayakan diterbitkannya

volume ketiga dari makalah yang dikumpulkannya, Tipografi Digital, asosiasi Perpustakaan Universitas Stanford telah mengundang audiens penggemar kata yang dicetak untuk mendengar Knuth berbicara tentang menciptakan sistem TeX untuk publikasi ilmiah dan matematika. Mengenakan T-shirt hitam di atas kemeja hitam lengan panjang, kepala botaknya berkilau di bawah lampu di atas kepala, dia tampak seperti biarawan di hadapan sekitar 70 pembantunya dan rekan-rekannya.

Dengan ragu-ragu, kata-katanya melawan kerendahan hati Lutheran bawaannya, dia memulai: Pekerjaan utama saya dan alasan saya memulai seluruh proyek ini adalah untuk menulis serangkaian buku berjudul The Art of Computer Programming—yang saya harap dapat hidup 20 tahun lagi dan menyelesaikan proyek yang saya mulai pada tahun 1962. Sayangnya, pemrograman komputer telah berkembang selama bertahun-tahun sehingga saya harus menulis sedikit lebih banyak daripada yang saya pikirkan ketika saya membuat sketsa. Orang beriman tertawa dengan sadar.

Knuth menghubungkan jalan memutarnya ke dalam tipografi digital selama tahun 1970-an. Ini adalah masa perubahan besar dalam industri penyusunan huruf, karena sistem komputer menggantikan tipe populer yang telah digunakan sejak zaman Gutenberg. Tipografi komputer lebih murah, tetapi juga kurang estetis-terutama untuk notasi matematika yang kompleks. Kenang Knuth: Ketika teknologi pencetakan berubah, kegiatan komersial yang lebih penting diperlakukan terlebih dahulu dan matematikawan berada di urutan terakhir. Jadi buku dan jurnal kami mulai terlihat sangat buruk. Saya tidak tahan untuk menulis buku yang tidak akan terlihat bagus.

Knuth mengambil sendiri untuk menulis setiap baris kode untuk perangkat lunak yang menghasilkan tipografi yang indah. Dia menggambar nama program penyusunan hurufnya dari kata Yunani untuk seni-hurufnya adalah tau epsilon chi (berrima dengan blecch). Kata Knuth: Lebih dari 90 persen dari semua buku tentang matematika dan fisika diset dengan TeX dan dengan perangkat lunak pendampingnya, Metafont, alat yang dikembangkan Knuth untuk mendesain font tipe yang menyenangkan.

Dia dengan cepat mengakui kontribusi para desainer tipe, pemotong pons, tipografi, sejarawan buku, dan cendekiawan yang dia kumpulkan di Stanford saat mengembangkan TeX. Beberapa di antara penonton. Dia memberi tahu mereka: TeX adalah apa yang sekarang kita sebut perangkat lunak sistem terbuka-siapa saja di seluruh dunia dapat menggunakannya secara gratis. Karena itu, kami memiliki ribuan orang di seluruh dunia untuk membantu kami menemukan semua kesalahan. Saya pikir itu mungkin program komputer paling andal dari ukurannya.

Siapa pun yang meragukan klaim Knuth yang jelas-jelas tidak sombong ini dapat menemukan konfirmasi dari Guy Steele, salah satu pengguna pertama TeX dan sekarang menjadi insinyur terkemuka di Sun Microsystems. TeX, kata Steele, adalah salah satu program besar pertama yang kode sumbernya dipublikasikan secara terbuka. Steele mengatakan publikasi Knuth tentang kode TeX dalam sebuah buku, bersama dengan komentar lengkap, membuatnya sehingga siapa pun dapat memahami cara kerjanya dan menawarkan perbaikan bug. Dengan ilmuwan dan matematikawan top akademisi sebagai penguji beta, tim kontrol kualitas yang luar biasa membantu menyempurnakan TeX. (Upaya pengembangan TeX adalah model untuk gerakan perangkat lunak sumber terbuka saat ini, yang telah memberikan dunia Linux-sistem operasi yang mulai bersaing dengan Microsoft Windows.)

Kesempurnaan adalah perhatian utama Knuth. Satu-satunya alamat email yang dikelola Knuth mengumpulkan laporan ralat dari pembaca bukunya, menawarkan ,56 untuk setiap kesalahan yang sebelumnya tidak dilaporkan. (Jumlahnya adalah lelucon orang dalam: 256 sama dengan 2 pangkat 8-jumlah nilai yang dapat diwakili oleh satu byte.) Cek hadiah Knuth adalah salah satu piala paling berharga di dunia komputer; sedikit yang benar-benar diuangkan.

siapa pemilik web gelap

Dia menangani masalah kesalahan ini dengan sangat serius. Terukir di pintu masuk rumahnya adalah kata-kata penyair Denmark Piet Hein:

Jalan menuju kebijaksanaan?
Yah itu polos
dan sederhana untuk diungkapkan:

Berbuat salah
dan err
dan salah lagi
tapi kurang
dan kurang
dan kurang.

Dalam variasi tema kesempurnaan ini, kontribusi Knuth pada teori ilmu komputer di halaman The Art of Computer Programming adalah analisis algoritmanya yang ketat. Menggunakan metode dalam bukunya, operasi yang digunakan untuk menerjemahkan instruksi mesin ke dalam persamaan dapat diuji untuk menentukan apakah mereka optimal. Memperbaiki program kemudian menjadi pertanyaan untuk menemukan algoritma dengan atribut yang paling diinginkan. Bukan berarti bukti teoretis dapat menggantikan perangkat lunak yang benar-benar berjalan di komputer. Dalam pernyataan yang sering dikutip di halaman Web-nya, dia pernah memperingatkan seorang rekan: Waspadalah terhadap kode di atas; Saya hanya membuktikan hal itu benar, tidak mencobanya.

Istirahat yang Buruk

Dalam ceramah Knuth di Stanford, kesempurnaan kembali menjadi tema. Dia mengikuti halaman-halaman dalam volumenya tentang Tipografi Digital di luar bab pengantarnya ke bagian terpanjang dalam buku itu, yang menyerang masalah penting dalam tipografi. Dia meminta perhatian pendengarnya ke salah satu trik teknis utama dalam sistem TeX: pertanyaan tentang bagaimana memecah paragraf sehingga garisnya kira-kira sama dan bagus.

Spasi yang buruk antara kata-kata dan pilihan yang buruk untuk jeda baris telah menjadi salah satu kesalahan tipografi komputer utama yang meluncurkan Knuth pada perang salib TeX-nya. Jurang kata yang aneh, tangga tanda hubung, dan potongan teks yang tidak beraturan dihasilkan dari algoritme kaku yang digunakan untuk memprogram jeda baris tanpa memperhatikan keanggunan visual. Solusi Knuth: mintalah komputer menggunakan metode coba-coba untuk menguji bagaimana setiap paragraf teks dapat dipecah dengan baik. Alih-alih algoritma serakah yang mengemas sebagian besar kata pada standar garis dalam tipografi komputer sebelum dan sesudah metode komputasi intensif TeX-Knuth mengevaluasi keindahan.

Knuth tampaknya dilahirkan untuk tugas mempromosikan keindahan di halaman tercetak-melalui metode komputasi. Saya menyukai buku sejak awal, katanya kepada para pendengarnya. Dalam koleksi ibu saya, kami menemukan buku alfabet pertama yang saya miliki. Saya telah mengambil surat-surat dan menghitung semua serif. Dia bangga dengan keaksaraan awalnya, memberi tahu seorang penulis bahwa dia adalah anggota termuda dari Klub Cacing Buku di Perpustakaan Umum Milwaukee. Ketertarikannya pada reproduksi tipografi juga muncul sejak dini. Salah satu kenangan paling awal tentang penerbitan pra-desktop adalah membantu ayahnya, Ervin, dengan stensil stensil untuk mencetak buletin gereja di ruang bawah tanah. Seperti buletin ayahnya, TeX dimaksudkan untuk menjadi proyek buatan sendiri, dalam skala yang dapat dikelola. Niat awalnya adalah untuk saya dan sekretaris saya, katanya kepada TR dalam sebuah wawancara di ruang belajar lantai dua rumahnya. Bersandar di kursi santai hitam, Knuth mengakui bahwa perjalanan panjang ke TeX dimaksudkan sebagai perjalanan sampingan yang cepat: Saya akan menyelesaikannya dalam setahun.

alexa apa itu

Acara mengambil giliran yang berbeda. Pada tahun 1978, Sun's Steele-kemudian seorang mahasiswa pascasarjana MIT mengunjungi TeX yang diterjemahkan Stanford untuk digunakan pada komputer mainframe MIT. Tiba-tiba, Knuth ingat, saya memiliki 10 pengguna, lalu 100. Setiap kali melewati tingkat kesalahan yang berbeda. Di antara pengguna ke-1.000 dan ke- 10.000, saya merobek kode dan memulai dari awal. Knuth mengatakan dia kemudian menyadari bahwa TeX bukan hanya penyimpangan, itu sendiri adalah bagian dari visi. Saya melihat bahwa ini memenuhi kebutuhan di dunia dan jadi saya lebih baik melakukannya dengan benar.

Titik balik utama dalam penyebaran TeX adalah kuliah yang diberikan Knuth di hadapan American Mathematical Society (AMS). Barbara Beeton, seorang staf spesialis dalam sistem komposisi untuk AMS dan pejabat lama Grup Pengguna TeX yang berbasis di Portland, Ore., mengingat kesempatan itu: Dia diundang untuk menyampaikan Ceramah Josiah Willard Gibbs. Albert Einstein dan John von Neumann termasuk di antara pembicara sebelumnya. Knuth berbicara tentang sistem pengaturan huruf barunya untuk pertama kalinya di depan umum. Knuth sedang berkhotbah kepada paduan suara; para ahli matematika yang berkumpul sudah mengetahui bagaimana kualitas pencetakan telah menurun. Menambahkan Beeton: TeX adalah sistem komposisi pertama yang dimaksudkan untuk digunakan oleh penulis artikel atau buku sebagai lawan dari penerbit. Segera setelah itu, AMS menjadi pengguna institusional asli TeX, menggunakan sistem Knuth untuk menerbitkan semua dokumen dan jurnalnya.

Seiring penyebaran berita dan lebih banyak pengguna memanfaatkan perangkat lunak gratisnya (ditulis untuk komputer mainframe akademik tetapi segera tersedia untuk PC), Knuth mendapati dirinya mempelajari sejarah pencetakan untuk menemukan solusi bagi aplikasi yang sempit. Seringkali tidak, penelitiannya terbukti sia-sia dan dia harus menemukan jawabannya sendiri. Untuk undangan seremonial, dia membuat font baru; untuk penyusunan huruf musik dia memecahkan masalah keselarasan yang sulit. Saya memiliki begitu banyak pengguna, kenangnya. Dari undangan pernikahan dan program orkestra simfoni lokal hingga program komputer.

Selama hampir sembilan tahun, terjun Knuth ke dalam tipografi menyibukkannya penuh waktu menariknya dari pekerjaan di buku pemrograman yang dia anggap sebagai panggilan sejatinya. Saya harus memikirkan permainan akhir, katanya. Bagaimana saya bisa menyelesaikan TeX secara bertanggung jawab dan berkata: Ini tidak akan berubah lagi? Saya harus menyusun strategi empat tahun untuk melepaskan diri dan kembali ke Seni Pemrograman Komputer.

Solusi Knuth: dengan dirilisnya TeX versi 3.0 pada tahun 1990, ia menyatakan pekerjaannya selesai. Murid harus memelihara sistem. Knuth mengatakan dia akan membatasi pekerjaannya untuk memperbaiki serangga langka yang menjadi perhatiannya; dengan setiap perbaikan ia memberikan satu digit lagi ke nomor versi sehingga cenderung pi (versi saat ini adalah 3.14159).

Salah satu hasil dari keputusan Knuth untuk berhenti membuat perubahan besar pada TeX adalah format file TeX tetap tidak berubah. Ini adalah satu-satunya perangkat lunak di mana Anda dapat mengambil file untuk makalah Anda dari tahun 1985 dan tidak perlu mengonversinya untuk dicetak dengan cara yang sama hari ini, catat David Fuchs, seorang peneliti senior di Liberate Technologies (sebelumnya Network Computer Inc.), yang adalah seorang mahasiswa pascasarjana di Stanford selama pengembangan TeX. Fuchs memperkirakan ada 1 juta pengguna TeX di seluruh dunia; banyak yang menggunakan paket komersial tujuan khusus yang dibangun di sekitar kernel TeX, seperti LATEX (bahasa makro berorientasi perintah) dan TeXDoc (dioptimalkan untuk dokumentasi perangkat lunak).

Pada sisi negatifnya, TeX terbatas dalam daya tariknya karena bukan WYSIWYG, Fuchs mengakui, menggunakan akronim untuk apa yang Anda lihat adalah apa yang Anda dapatkan-istilah standar yang menggambarkan perangkat lunak pengolah teks yang menampilkan pemformatan di layar seperti yang akan muncul di halaman yang dicetak . Daripada menawarkan interaktivitas layar waktu nyata, TeX membutuhkan bahasa markup yang diketik ke dalam dokumen dan ditafsirkan oleh komputer; Anda melihat apa yang Anda dapatkan hanya setelah dicetak. Terlepas dari antarmuka pengguna yang tidak intuitif, TeX telah mengembangkan inti profesional produksi yang berdedikasi yang tidak akan menerima pengganti. Mengapa ada orang yang menginginkan yang lain? tanya Paul Anagnostopolis, konsultan penerbit berbasis Carlisle, Mass. dan penulis perangkat lunak berbasis TeX untuk komposisi buku. Banyak orang tidak peduli dengan WYSIWYG.

Opus sedang berlangsung

Menghabiskan sembilan tahun alih-alih satu tahun untuk membuat tex adalah jenis kesalahan perhitungan epik yang sama yang membawa Knuth ke skala monumental Seni Pemrograman Komputer . Setelah mendapatkan gelar sarjana di Case Institute (sekarang Case Western Reserve), dia belajar untuk PhD dan mengajar di California Institute of Technology pada tahun 1962 ketika dia dikontrak oleh penerbit buku teks Addison-Wesley untuk menulis volume tentang compiler komputer. (Compiler adalah program khusus yang mengubah teks yang diketik oleh programmer menjadi instruksi dalam bahasa biner asli komputer.)

Dalam studi bukunya, Knuth menceritakan sejarah proyek tersebut. Dari tahun 1962 hingga 1966, ia menulis draf pertama dengan pensil. Naskah itu panjangnya 3.000 halaman. Saya pikir itu satu volume mungkin 600 halaman. Saya hanya berpikir jenis buku lebih kecil dari tulisan tangan saya. Kemudian saya mengetik bab satu dan dengan sendirinya menjadi 450 halaman. Saya mengirimkannya ke penerbit dan mereka berkata: Don, apakah Anda tahu berapa lama buku Anda?

Dihadapkan dengan manuskrip yang begitu berat, banyak penerbit akan membuang proyek tersebut. Sebaliknya, Addison-Wesley menyusun jadwal publikasi untuk apa yang akhirnya bisa mencapai tujuh jilid. Volume 4 seharusnya siap pada tahun 2004 dan Volume 5 pada tahun 2009. Kemudian Knuth dapat menyelesaikan Volume 6 dan 7-jika apa yang dia katakan tentang topik yang dipilihnya masih instruktif. Peter Gordon, mitra penerbitan di Addison-Wesley dan editor Donald Knuth selama 20 tahun terakhir, menjelaskan bahwa keberhasilan tiga jilid pertama The Art of Computer Programming telah memungkinkan penerbit untuk membangun seluruh lini ilmu komputer di sekitar karya Knuth. Don memiliki rencana hidupnya sendiri dan kepekaan waktunya sendiri, catatnya. Dia adalah penulis yang kreatif dan berbakat, yang terbaik yang dapat dilakukan editor mana pun adalah menjauh darinya dan membiarkannya mengikuti rencananya.

Ini membantu bahwa buku ini terus menarik pujian dari pelihat lain di dunia digital. Dalam kolom surat kabar sindikasinya, Bill Gates pernah menanggapi seorang pembaca: Jika Anda pikir Anda seorang programmer yang sangat baik, atau jika Anda ingin menantang pengetahuan Anda, bacalah The Art of Computer Programming, oleh Donald Knuth. Gates menggambarkan pertemuannya sendiri dengan buku itu: Butuh disiplin yang luar biasa, dan beberapa bulan, bagi saya untuk membacanya. Saya mempelajari 20 halaman, menyimpannya selama seminggu, dan kembali lagi untuk 20 halaman. Jika seseorang begitu kurang ajar sehingga mereka pikir mereka tahu segalanya, Knuth akan membantu mereka memahami bahwa dunia ini dalam dan rumit. Jika Anda dapat membaca semuanya, kirimkan saya resume.

Apa yang menopang Knuth melalui proyek epiknya adalah kecintaannya yang mendasar pada subjek tersebut. Orang yang bekerja pada analisis algoritma memiliki kebahagiaan ganda, katanya, terdengar seperti Yoda. Anda senang ketika Anda memecahkan masalah dan lagi ketika orang tersenyum menggunakan solusi Anda dalam perangkat lunak mereka.

apa yang terjadi dengan penjelajah mars pertama?

Sebelum dia bisa beristirahat di tanah perjanjian, Knuth menghadapi satu gunung terakhir. Dia harus mendesain ulang komputer umum yang digunakan dalam bukunya untuk contoh pemrograman dan latihan dari mesin bergaya von Neumann berusia 50 tahun dengan perintah yang tidak efisien ke sistem RISC (reduced instruction set computer) yang lebih modern yang memungkinkan pengoperasian lebih cepat. (Prosesor Intel di sebagian besar PC adalah varietas yang lebih tua; chip PowerPC dalam model Macintosh terbaru adalah RISC.) Saya mencoba merancangnya sehingga 10 tahun lebih cepat dari waktunya, kata Knuth. Saya telah mempelajari semua mesin yang kami miliki sekarang dan mencoba mengambil fitur terbaik mereka dan menggabungkan semuanya. Mesin super RISC ini, yang ia sebut MMIX, pada dasarnya adalah sebuah konsep pengajaran. Tapi dia bilang dia akan senang melihatnya dibangun. Saya menghabiskan banyak waktu untuk mendokumentasikannya sehingga seseorang dapat membuatnya. Desain akan berada di domain publik. Di tengah rangkaian pembicaraan pengantar Computer Musings tentang MMIX, Knuth hanya beberapa bulan lagi untuk menyelesaikan fase karyanya ini.

Lalu? Saya mulai mengisi daya pada Volume 4 dengan kecepatan tinggi. Saya dapat menulis tentang satu halaman yang dapat diterbitkan sehari, katanya. Di buku lain dia pernah menulis dengan kecepatan dua halaman sehari tapi itu terlalu banyak. Saya tidak bisa menjadi suami yang baik dan ayah yang baik dan itu tidak baik. Jadi, saya hanya menjanjikan 250 halaman setahun untuk Volume 4. Bagi para penggemar software Bible Knuth, termasuk Bill Gates, halaman-halaman itu tidak bisa segera datang.

Adapun kepercayaan diri Knuth yang tak tergoyahkan dalam mengejar tujuan jangka panjangnya, biologi tampaknya berpihak padanya. Ibunya berusia 87 tahun, dalam keadaan sehat-masih bekerja, katanya, dalam manajemen kantor real estat. Ayahnya, yang memulai perjalanannya menuju tipografi komputer, meninggal pada usia 62 tahun. Namun, patriark digital ini menyimpulkan: Ayah ayah saya hidup sampai usia 97 tahun, jadi saya berharap untuk menggantikannya.

Sebelum dia mencapai usia lanjut yang diperlukan untuk menyelesaikan semua rencana penerbitannya, Knuth mungkin harus menghadapi godaan yang datang dengan ketenaran. Sebuah iklan majalah dua halaman untuk fatbrain.com menyatakan, melalui kolase yang tegang: Menghadirkan satu-satunya toko buku di dunia di mana Donald Knuth menjual John Grisham satu miliar banding satu. Ini mungkin pengakuan komersial pertama atas status ikonik Knuth di antara para digerati. Akankah pengakuan seperti itu menyebabkan wabah perhatian tepat ketika orang bijak dari perangkat lunak akan melanjutkan perjalanannya menuju penyelesaian misi hidupnya? Itu membuat Anda bertanya-tanya berapa lama lagi Musa mengembara di padang pasir seandainya media saat ini ada.

bersembunyi