Budaya Mailing-List Kita


Postscriptum: Setelah diulas kembali dan berdasarkan feedback seorang teman, rasanya apa yang saya keluhkan dan koarkan di sini separuh dipengaruhi oleh kenaifan saya sendiri. Saya tidak lagi peduli dengan urusan forum-foruman, dan seharusnya terkait dengan itu saya hapus esai ini. Namun saat saya lihat kembali dari kejauhan, sebagian materi yang saya sajikan cukup menarik juga; hanya kurang slick presentasinya. Bagaimanapun gilanya, saya bangga dengan esai ini. Such is life, keep learning and be open.


Anda ingin mengetahui bagaimana wajah dunia ilmu komputer Indonesia satu-dua dekade mendatang? Mungkin ada baiknya Anda mengunjungi arsip-arsip milis Indonesia yang terkait dengan bidang tersebut, salah satunya milis ilmukomputer-programming. Saya menyadari bahwa hanya menyajikan satu objek pengamatan yang demikian kecil untuk mendapatkan wawasan mengenai domain yang sedemikian luas tidak dapat dibenarkan; namun saat kita turut memperhitungkan faktor budaya dan “atmosfer lingkungan”, sampai batas tertentu jenis pengamatan seperti ini masih dapat memberi manfaat (setidaknya sebagai peringatan dan pembelajaran).

Saya sudah menyambangi milis ini sejak antara 2-3 tahun yang lalu, saat nama situs ilmukomputer.com mulai populer di tanah air. Tidak terlalu rutin dan hanya membaca arsip, sehingga acara “bersih-bersih inbox” tidak mengganggu kegiatan membaca dan menelaah setiap thread diskusi. Yang mengganggu adalah, peraturan informal milis ini (yang – secara sadar atau tidak – diberlakukan bersama oleh seluruh anggota milis, bukan oleh moderator) jauh lebih longgar dari yang diterapkan dalam forum-forum diskusi ilmu komputer lainnya seperti newsgroup comp.* di Usenet. Terlepas dari posting-posting di luar topik dan pertanyaan off-topic seperti mengenai virus, sebagian posting memperlihatkan gejala yang memprihatinkan dari orang-orang yang di masa mendatang akan saling bahu-membahu turut memajukan perkembangan dan penerapan ilmu komputer di Indonesia.

Enggan Bereksperimen

Beberapa posting memperlihatkan tanda-tanda keengganan bereksperimen, mencoba dan menjelajah. Sebagai contoh, di satu kesempatan saya pernah menjawab pertanyaan seseorang – sepanjang tulisan ini saya akan memberi nama Fulan untuk beberapa entitas anonim berbeda – mengenai sifat pointer C, dalam notasi yang saya usahakan sejelas mungkin, untuk memungkinkan si penanya melanjutkan sendiri perjalanannya dengan peta yang lebih jelas. Namun pertanyaan Fulan selanjutnya membuktikan bahwa usaha saya gagal:

>   Terus, gimana kalau char b[1][1] == *(b + 1)[1]? Bisa nggak?

Saya tidak seberapa ingat pertanyaannya, namun derajat kesepeleannya sejajar dengan pertanyaan di atas. Jawabannya seharusnya adalah: kenapa tidak dicoba dulu, sebelum bertanya? Richard Stallman berbulan-bulan membuat sendiri compiler yang menjadi cikal-bakal GNU GCC demi memberi kemerdekaan bagi programmer untuk mencoba, mengeksplorasi segala macam kemungkinan, untuk belajar. Borland melepas versi konsol dari compiler C++-nya dengan semangat yang sama: gives you more freedom to explore. Di zaman seperti ini kenapa masih ada orang yang ingin disuapi?

Versi yang lebih ekstrem adalah:

>   Tolong dong, mas-mas. Saya ada tugas untuk matakuliah FOO, 
>   disuruh membuat BAR dengan algoritma SPAM. 
>   Itu tugas harus dikumpul [besok/bulan depan]. Thx.

untuk kombinasi FOO, BAR dan SPAM arbitrer. Di Usenet, poster pesan seperti ini biasanya diabaikan atau dijadikan target tembakan flame, dengan alasan yang kuat dan logis: tugas diberikan pada Anda, untuk dikerjakan oleh Anda, bukan oleh orang lain. Bila sebuah milis memang bertujuan menyebarkan ilmu, rasanya tidak tepat membiarkan budaya seperti ini. Kadang-kadang saya terpancing juga untuk mencoba menjawab, namun biasanya saya dapat menahan ego saat mengingat pendapat Edsger Dijkstra tentang mata kuliah pemrograman...

... which now strikes me as like the type of driving lessons in which one is taught how to handle a car instead of how to use a car to reach one's intended destination. Edsger W. Dijkstra, dalam “A Short Introduction to The Art of Programming” (EWD 316), 1971.

Kalau rata-rata otak mahasiswa dipapras dengan pola mengajar yang demikian, apakah Anda mau turut menjadi agen pencipta programmer buta yang harus selalu dituntun sekadar untuk menyelesaikan tugas? Meski demikian, ego dan keinginan untuk memamerkan keahlian mungkin sulit untuk dikendalikan.

Bentuk lain yang lebih halus adalah alpa menyertakan langkah yang telah ditempuh dalam usaha menyelesaikan masalah yang menjadi bahan pertanyaan. Untuk ini, dan mengenai isu etika diskusi yang lain, Anda saya rujuk pada tulisan Eric Raymond, How To Ask Questions The Smart Way.

Why are You Majoring in CS, in the First Place?

Sesekali ada pula pertanyaan mengenai Tugas Akhir atau yang sejenisnya. “Sedemikian pelik dan membingungkan-kah masalah tersebut?” Pertanyaan itu bila kita coba ulur ke akar permasalahan, akan berubah menjadi “Seberapa banyakkah ilmu yang telah Anda serap selama bertahun-tahun mengikuti perkuliahan?”.

Kalau kita mengamati kronologi perkembangan teknologi informasi dunia, terlepas dari yang bersifat eksperimental dan akademis, mungkin ia kurang-lebih seperti perkembangan dunia fashion (Seventies back in style! Punk rules the world once more!): pemrograman fungsional perlahan kembali mendapat tempat di hati pemrogram melalui – antara lain – fungsi lambda Python; garbage-collection dan pemrograman berorientasi objek – yang diperkenalkan Lisp (“Benarkah?” :-) ) namun tidak digunakan dalam ALGOL dan bahasa-bahasa turunannya – mulai digunakan oleh industri lewat C++, sementara OOP menjadi istilah populer yang sedikit berubah dari makna asalnya; dari zaman Aad van Wijngaarden (grammar van Wijngaarden & ALGOL68) sampai Yukihiro Matsumoto (Ruby), bahasa pemrograman baru terus bermunculan namun industri berganti bahasa pemrograman seperti berganti pakaian mengikuti trend mode. Intinya, banyak permasalahan menarik yang belum sepenuhnya dipahami esensinya dan digunakan secara optimal dalam dunia industri perangkat lunak. Materi TA tidak harus topik yang potensial mengguncang dunia. Kenapa tidak berkonsentrasi pada yang sederhana dulu?

Topik-topik menarik tersebar dalam aplikasi yang dihadapi sehari-hari. Harapan bisa membuat framework aplikasi web sendiri sehingga tidak perlu belajar framework buatan orang lain yang kompleks (dalam hal Zope, super-kompleks) dan belum tentu sesuai kebutuhan, khayalan bisa membuat game sejenis Hitman dengan musuh yang kewaspadaannya lebih realistis sehingga lebih menegangkan, keinginan mencoba membuat DBMS sederhana agar suatu hari nanti dapat membuat versi commercial-grade (siapa tahu ada prospek pekerjaan atau bisnis), atau ide lainnya, dapat dengan mudah muncul di kepala bila seseorang mencintai apa yang ia lakukan atau memahami apa yang ia pelajari (lebih-lebih apabila di antara apa yang dipahami ada juga yang benar-benar disukai – sebelum saatnya menulis TA sudah mengumpulkan materi tentang topik yang ingin didalami).

Memang Teknik Informatika / Ilmu Komputer adalah jurusan yang populer, memang tidak sedikit orang yang memilihnya karena janji kemakmuran a-la Bill Gates dan tidak benar-benar berminat pada bidang ini (atau mungkin malah tersiksa?). Tapi kalau untuk topik TA saja si Fulan harus bertanya pada orang lain, ia akan mengerjakannya tidak dengan sepenuh hati, asal bisa lulus dan dapat kerja, sudah merasa cukup bila mendapat pekerjaan yang memakmurkan namun tidak secara langsung terkait dengan ilmu komputer dan tidak memberi kesempatan mengembangkan ilmu yang sudah ia pelajari (dengan segala hormat bagi yang mengalami keadaan seperti itu – saya tahu mencari pekerjaan itu sulit *-| ). Dan kalau ujungnya hanya seperti itu, Fulan, why are you majoring in CS, in the first place?

Penutup

“Penutup? Singkat sekali...” Ya, artikel ini memang tidak ditujukan sebagai daftar dosa, atau mencari keributan. Ia lebih didorong oleh keinginan saya untuk mendapat lingkungan belajar yang lebih kondusif, dengan lebih banyak tantangan dan persaingan di sekitar, membuat otak menjadi semakin aktif dalam menyerap dan memberi, dan juga karena kecintaan dan minat saya yang besar pada ilmu komputer teoretis. Segala pendapat yang saya utarakan di atas tidak bertujuan untuk menyerang siapapun secara individual ataupun kolektif (meski gaya presentasinya kurang dipoles); hanya sebagai tindak lanjut dari harapan agar sebanyak mungkin orang yang menyadari: ada banyak prinsip, cara pandang dan kebiasaan kurang baik yang dibiarkan terjadi dalam forum-forum diskusi ilmu komputer kita khususnya dan dunia keilmuan secara umum, yang mungkin sudah membudaya (saya harap tidak).

Saya bukan siapa-siapa. Sendirian, saya tidak dapat menghasilkan perubahan apapun. Namun pada akhirnya, saya yakin, masyarakat secara luas-lah yang nantinya mendapatkan manfaat dari budaya belajar yang baik, dan ada banyak orang yang menerapkan dan bersedia turut menyebarkan budaya-budaya positif seperti itu.


All contents of this site are made by me, Adhi Hargo, unless noted otherwise.
Seluruh halaman dalam situs ini dibuat oleh Adhi Hargo, kecuali orangnya bilang sebaliknya.