Selasa, 28 Desember 2010

Buktikan Anda hebat, bukalah source code Anda -> " I'M Not SUPERMAN "

By Yohanes Nugroho on March 8, 2010 9:57 AM | 1 Comment | No TrackBacks

Saya banyak mendengar orang yang merasa dirinya hebat dalam bidang programming, tapi tidak bisa membuktikan klaimnya. Jika ada yang bilang bahwa dirinya adalah penyanyi yang hebat, saya tinggal meminta dia menyanyi, jika dia adalah pelukis yang hebat, saya akan meminta dia melukis. Jika seseorang hanya memperlihatkan lukisan lalu bilang "saya melukis ini", maka saya belum tentu percaya bahwa itu adalah benar lukisannya.

Dalam hal programming, kadang-kadang ada orang yang memperlihatkan program yang sudah jadi sebagai "bukti" mereka jago memprogram. Tapi sebuah program tidak cukup bercerita (apalagi hanya dari screenshotnya). Kita tidak bisa melihat apa isi dalamnya, yang mungkin penuh dengan komponen buatan orang lain. Mungkin ada yang bangga bisa membuat "MP3 Player", tapi ternyata yang dibuat hanyalah user interface untuk komponen yang sudah ada. Tampilan bukanlah segalanya. Jika dibandingkan dengan seseorang yang membuat program command line yang memutar MP3 dengan membuat decodernya sendiri, saya akan menyatakan bahwa orang yang membuat decoder MP3 player tersebut jauh lebih hebat dibandingkan orang yang hanya membuat user interface saja.

Dengan tidak melihat source codenya, saya juga tidak yakin apakah gaya penulisan kode Anda bagus atau tidak. Bahkan ada kemungkinan ternyata source code Anda adalah hasil copy paste dari banyak tempat (yang bisa dicari dengan google code search). Saya sudah sering melihat banyak aplikasi yang seolah-olah hebat, tapi ternyata tidak sama sekali. Dengan sedikit reverse engineering, saya sudah melihat ada banyak aplikasi yang ternyata hanya memakai komponen yang sudah jadi (bahkan sebagian memakai komponen komersial dan tidak membayar, tapi diakali menggunakan crack).

Sebagian orang akan beralasan: wah saya tidak bisa memperlihatkan program saya atau source code saya, karena itu rahasia perusahaan. Jika Anda adalah programmer yang hebat, Anda tentunya akan membuat banyak program dalam hidup Anda (kecuali Anda sangat sibuk seperti Linus Torvalds yang hanya berkonsentrasi di Kernel Linux dan sedikit di Git). Program tersebut tidak perlu besar ataupun rumit. Banyak produk yang dibuat oleh programmer yang terdiri dari beberapa puluh, beberapa ratus, atau 1000-2000 baris kode saja dan sangat berguna bagi orang lain.

Kebanyakan plugin wordpress atau skrip GreaseMonkey hanya berkisar beberapa puluh sampai beberapa ratus baris kode. Bahkan Anda bisa membuat aplikasi serius tanpa harus menulis banyak kode. Jika Anda memang hebat. Misalnya salah satu produk web dari 37signals hanya terdiri atas 579 baris kode. Sebuah Window Manager untuk X11 dapat dibuat dalam 1000-2000 baris kode saja (contohnya xmonad dan dwm). Bahkan kernel sistem operasi Minix hanya sekitar 4000 baris kode saja (driver dsb dibuat di userspace, dan tidak termasuk dalam kode kernel).

Saya menggunakan metrik Lines of Code, karena ini yang paling mudah (meski tidak akurat), dan dengan aneka framework dan library yang ada saat ini Anda bisa menulis aplikasi lengkap dengan sangat cepat. Jadi saya tidak menantang Anda membuat program sangat kecil seperti dalam demoscene menggunakan assembly, tapi menantang Anda merilis program yang berguna, walaupun sederhana. Programnya juga sebaiknya memperlihatkan sesuatu yang baru atau menarik, bukan sekedar membuat another MP3 player dengan komponen buatan orang lain.

Saya belum merasa diri saya sudah hebat, tapi jika ada yang bertanya aplikasi apa saja yang sudah saya buat, saya bisa memperlihatkan halaman ini: http://yohan.es/applications/. Kalau ada orang lain yang mengaku hebat, tapi tidak bisa membuktikan kehebatannya, jangan-jangan dia hanya seperti djoko blue energy.



~_^



SUMBER

Tidak ada komentar:

Posting Komentar