11/19/2009

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.

Apakah memang programming lebih mirip ilmu sihir di banding ilmiah (ilmu mikir susah)? Saya pikir, iya. pada ilmu sihir, gagal atau berhasilnya pencapaian tujuan ditentukan oleh mantra-mantra. Hermoine di Film "Harry Potter" sering berhasil karena hapal mantra-mantra.

Pada programming, banyak hal telah menjadi mantra praktisi: DNS, SID, dcpromo, Squid, BSS dsb. Bila ada masalah, pertanyaan apa yang paling sering diajukan konsultan, anggota milis atau vendor ? "Sudah set ORACLE_SID?", "Sudah jalankan HCP?", "Sudah cek DNS?"

Inti solusi-solusi diatas mirip solusi Hermoine: hapalkan mantra, atau siap dengan salinan mantra. Dalam progamming saat ini: hapalkan prosedur (atau catat diatas kertas). Pemahaman tidak penting.

Bahkan kepanjangan dari istilah juga tidak penting diketahui. Kepanjangan DNS ? ada yang bilang Domain Name Service, ada yang bilang Domain Name Server, dan ada yang bilang Domain Name System. Bahkan sebuah buku terbitan Microsoft press salah menyebut kepanjangan DNS sebagai Domain Name Service. Silahkan cek mana yang benar.

Dari semua istilah/mantra, yang paling berkesan bagi saya adalah PCMCIA. Ini singkatan dari People Cannot Memorize Computer industry Acronyms. oops, salah. Maksudnya Personal Computer memory card industry Association. sepertinyadi berbagai vendor dan organisasi internasional "penyihir" punya assisten untuk membuat singkatan dan kepanjangannya.

C punya satu mantra yang layak di sebut:BSS. tahukah anda kepanjangan, makna dan gunanya? BSS terkait dengan C. tapi saya jamin, bahwa sekalipun anda membeli 100 buku C, sangat kecil kemungkinan anda bisa menjawab pertanyaan diatas. Saya mencari BSS di web, tapi hasilnya sama sekali tidak memuaskan.

Unix punya satu mantra yang layak disebut: Umask. Saya sampai saat ini tak tahu apakah umask berarti unmask atau usermask. bila anda tahu penjelasannya. email saya.
Bahwa programming seperti sihir juga berwujud dalam hal percaya kepada sesuatum dan jangan di tanyakan kenapa. Kalau anda berani bertanya kenapa, "penyihir" {vendor} akan menjawab, "itu best practice". Biasanya konsultan {apalagi pemakain} akan diam.

Ada contoh menarik tentang klaim, "best practice" yang menjadi perdebatan teman saya dengan Tom Kyte. #1 expert di dunia ini tentang oracle. Dia mengklaim bahwa cascade update tidak perlu, bahwa primary key tidak boleh berubah, dan tidak mungkin berubah.

Teman saya bukan orang yang mudah percaya kepada ahli-ahli TI, sehingga dia berdebat dengan Tom dan meminta bukti-bukti. Dia sendiri memberi banyak bukti untuk menunjukkan kesalahannya. Kalau tidak perlu, kenapa cascade update ada di ISO, ada di beberapa produk lain (Access, SQL server), dan kenapa para pemakai tidak meminta penghapusan cascade Update ? Tentang primary key, teman saya katakan, pengarang database-text-books tidak menyatakan primary key tidak boleh di ubah.

Tom, di website nya asktom.oracle.com akhirnya mengatakan "Ok, you win" Debatnya dapat dilihat pada http://asktom.oracle.com/pls/asktom/f?p=100:11:126353222799082::NO::p11-QUESTION_ID:5773459616034 . Cara lain untuk mencarinya adalah dengan mencari "cascade update" pada asktom.oracle.com

Saya sampaikan debat ini ke milis ORAID. anehnya,lebih banyak yang setuju dengan Tom Kyle dan tanpa bukti mengulang argumen - argumen Tom.

pada kesempatan ini, saya muat satu pertanyaan dari berbagai pertanyaan teman saya, "Kalau java begitu mudah, mengapa membuat program "hello world" saja begitu rumit di banding Nusa?"

tak ada bukti ilmiah adanya alasan kuat untuk membuat Java belepotan dengan "keyword" public static class dan entah apa lagi. programming is sorcery, not scienctific.

0 Komentar:

Post a Comment

Silahkan tinggalkan pesan, Jangan pake SPAM ya!!! terima kasih !!

 

Term of Use

Beberapa artikel dan postingan yang ada disini murni hasil tulisan tangan dari saya, pembaca dapat menggunakan artikel ini dengan syarat mencantumkan sumber artikel.

Download Chrome

Use Chrome, Better browser!

Popular Posts