On Rails
December 13, by JULIUS SIRAIT
Kenapa saya pake Rails?
Saya pernah develope web application 5 tahun yang lalu. Pake PHP tanpa framework. Sekarang gak tau apa2 lagi tentang PHP.
Sejak itu saya gak pernah develope web app lagi. Kebanyakan pake C/C++ dan kerjaan berhubungan dengan software video conference.
Pernah juga saya coba2 python, pas awal2 mulai ngeblog. Gak tau kenapa, mandeg.
Kemudian pas saya mau iseng2 develope web app lagi buat keperluan sendiri (bukan keperluan kantor), saat itu Rails lagi hot2 nya dibicarakan orang. Ya iseng2 aja pake Rails.
Kata orang2 Rails gampang. Develope jadi cepat. Agile. Masa sih?
Nah setelah beberapa lama iseng2 pake Rails, saya lega karna Rails TIDAK SESUAI dengan apa yang diiklankan. Iklannya sampai ada menit2nya loh.
Bikin software blog 15 menit.
Bikin web based search engine buat flickr 5 menit.
Untuk application yang sederhana mungkin sesuai iklan. App yang cuman butuh 2 tabel misalnya. Rake sana rake sini, scaffold sana scaffold sini, BOOM, jadi.
Tapi kalau udah 20 tabel dan dengan business logic yang memusingkan, tetap aja bikin sakit kepala.
Tapi kenapa saya LEGA gak sesuai iklan?
Karna saya gak percaya ada yang bikin software development jadi gampang, kecuali manusianya gak dibenarin.
Mengutip tulisan di buku SICP oleh Abelson dan Sussman
“Programs must be written for people to read, and only incidentally for machines to execute.”
Read maksudnya tidak seperti baca novel. Tapi untuk dimengerti. Yang bisa mengerti kan manusianya. Jadi saya percaya, yang menjadi permasalahan adalah programmernya.
Rails bisa diupgrade jadi versi 2.0, tapi meng-upgrade manusia nya yang susah.
Trus kenapa masih pake Rails?
Karna apa yah?
Bentar saya cari2 alasan dulu …
Karna cool. hi hi hi
Bukan. Tapi karna spirit convention over configurationnya. Saya tidak peduli pake Rails atau apa, asal spirit ini tetap di jaga, saya oke2 aja. Nah, kenapa gak pake yang lain kalau gak peduli framework apa? Jawabannya: karna malas belajar yang lain. hehe
Tentang spirit convention over configuration ini, contohnya begini:
Misalkan piring. Konvensinya piring ada didapur. Jadi setiap kali kita perlu piring, kita cari ke dapur. Asyik kan?
Kalau dengan configuration, tidak harus di dapur. Bisa aja di kamar tidur. Bisa aja di toilet. Bukan hanya repot, tapi bikin pusing. Kalau piring ada di toilet, bukannya gak nyambung tuh.
Gak tau analoginya nyambung. Tapi begitulah kira2. Software yang kita kembangkan akan berkembang terus makin gede. Fitur tambah banyak. Tapi spirit mengedepankan konvensi harus terus dijaga. Merdeka! :)
Bayangkan ketika men-debug, maintain, trace. Atau ketika mencoba mengerti source code. Kalau kita mengedepankan konvensi, akan sangat membantu.
Sudah panjang, mau ngantor dulu. Kalau anda, apa alasan anda pake Rails atau pake framework yang anda pakai sekarang?