Kamis, 24 November 2011

Programming : Science or Sorcery


PROGRAMMING : SCIENCE OR SORCERY ?

Charles A. R. Hoare adalah seorang saintis besar, pembuat algoritma Quicksort. Tulisannya berjudul “ Programming : Sorcery or Science “ diterbitkan di IEEE, April tahun 1984.

            Pada ilmu sihir, gagal atau berhasilnya pencapaian tujuan ditentukan oleh mantra – mantra. Pada programming, banyak hal telah menjadi mantra praktisi, contohnya : DNS, SID, dcpromo, Squid, BSS, dan sebagainya. Inti dari solusi – solusi tersebut mirip dengan solusi Hermione : hapalkan mantra, atau siap dengan salinan mantra. Dalam programming saat ini : hapalkan prosedur (atau catat diatas kertas). Pemahaman tidak penting.
                Bahkan kepanjangan dari istilah juga tidak penting untuk diketahui. Apa kepanjangan dari DNS? Ada yang bilang Domain Name Service, ada yang bilang Domain Name Server , dan ada juga yang bilang Domain Name System. Bahkan sebuah buku terbitan Microsoft Press salah menyebut kepanjangan DNS sebagai Domain Name Service. Silahkan di cek mana yang benar (menurut penulis).
                Dari semua istilah / mantra, yang paling berkesan bagi penulis adalah PCMCIA. Singkatan dari People Cannot Memorize Computer Industry Acronyms. Atau dalam singkatan sebenarnya adalah Personal Computer Memory Card Industry Association. Sepertinya di berbagai vendor dan organisasi intenasional, para “penyihir” punya asisten untuk membuat berbagai singkatan dan kepanjangan. Unix punya satu mantra yang layak disebut : umask. Penulis sendiri tidak tahu apakah umask berarti unmask atau usemask.
                Intinya adalah progamming seperti sihir juga berwujud dalam hal percaya kepada sesuatu, dan jangan ditanyakan kenapa. Jika anda bertanya kenapa?, “penyihir” atau vendor akan menjawab “itu best practice”. Biasanya konsultan (apalagi pemakai) akan diam. Ada contoh menarik tentang claim “Best Practice” yang menjadi perdebatan penulis dengan Tom Kyte, #1 expert di dunia ini tentang Oracle. Dia menglaim bahwa cascade update tidak perlu, bahwa primary key tidak boleh berubah, dan tidak mungkin berubah.
                Penulis bukan orang yang mudah percaya kepada ahli – ahli TI sehingga penulis mendebat Tom dan meminta bukti – bukti. Penulis sendiri memberi banyak bukti untuk menunjukkan kesalahannya. Kalau tidak perlu kenapa cascade update ada di standart ISO, ada di beberapa produk lain (Access, SQL Server), dan kenapa para pemakai tidak meminta penghapusan cascade update?. Tentang primary key : penulis mengatakan bahwa pengarang database-text-books tidak menyatakan primary key tidak boleh diubah.
                Ada Seorang dosen informatika ITB  yang mencela nusa. Dia berjanji menjawab pertanyaan- pertanyaan penulis dalam dua minggu, tapi ternyata tidak di jawab dalam tenggat waktu tersebut. Pada kesempatan ini, penulis akan memuat satu dari pertanyaan tersebut : “kalau Java begitu mudah, mengapa membuat program ‘Hello World’ saja kok begitu rumit dibanding nusa?”. Tak ada bukti ilmiah adanya alasan kuat untuk membuat Java balepotan dengan “keyword” public static class dan entah apa lagi. Programming is sorcery, not scientific

Dukutip dari : PC Media Oktober 2008

Tidak ada komentar:

Posting Komentar