ini ada pertanyaan buat Rudi Har atau java programmer yang lain, yg bukan teknis sih, tapi mungkin menarik:
Bagaimana rasanya jadi programmer dari bahasa (java) yg dibuat untuk orang2 yang "not as smart as" pembuatnya? Secara eksplisit dibilang java itu dibuat kan untuk orang2 biasa (tapi lupa di mana bacanya ini hehe). Gak jelas sih defenisi orang2 biasa ini, apakah ibu2 rumah tangga yg pengen mrogram kalau lagi bosan masak. Tapi kayaknya gak se ekstrim itu yah.
Mungkin dulu baca essay di paulgraham.com ya. Saya pengin jawab euy.
Rasanya memakai bahasa yang dibuat untuk saya yang katanya tidak lebih "pandai" dari pembuatnya adalah.. nggak ada rasanya. Perasaan semua bahasa nggak ada rasa berbeda pemakaiannya kok. Yang kerasa beda paling cuma di pilihan penggunaan ekspresi (misalnya satu ekspresi di ruby bisa sama hasilnya dengan sepuluh line di Java) dan penggunaan suatu abstraksi (API or framework). Bahasa mah hanya alat.
Kata "pandai" di sini bisa menyesatkan loh. Pandai dalam hal apa? desain bahasa? Saya jelas kalah jauh (Gak kebayang kalo saya harus lebih pandai mendesain suatu bahasa dari tim yang salah satu membernya orang yang bikin dua bahasa populer seperti Scheme dan Java sekaligus, om Guy Steele). Lagian, kriteria pandai atau tidaknya pembuat kapak akan berbeda dengan kriteria untuk tukang kayu.
Pandai dalam memecahkan masalah komputasi secara umum? saya juga jelas kalah jauh. Java (beserta seperangkat spesifikasi, implementasi, dan tools yang menyertainya) dibuat oleh ribuan orang (atau bahkan ratusan ribu?). Umur saya kelihatannya tidak cukup untuk menelusuri setiap kemungkinan yang dapat saya gunakan untuk menyelesaikan semua masalah saya dan membangun abstraksi yang bisa saya reuse.
Mungkin kita perlu mengingat kembali salah satu tujuan dibuatnya suatu bahasa, yaitu untuk mempermudah kita berkomunikasi. Bahasa pemrograman juga demikian, dibuat untuk mempermudah kita mengkomunikasikan penyelesaian masalah kita dengan mesin dan orang lain (walaupun seringkali bahasa yang satu menggunakan abstraksi yang lebih tinggi dari yang lain). Software engineering is all about trade off. Begitu juga antara bahasa pemrograman satu dengan yang lain. Mungkin bahasa X memang dirancang untuk mengambil keuntungan di sisi A walaupun harus membayarnya dengan kerugian di sisi B. Mungkin bahasa Y malah sebaliknya.
Lanjut teruus...
--
Pakcik
Under Construction
--
Demi masa..
