Read/WriteWeb membuat sebuah artikel menarik yang berjudul “The Future of Software Development“. Pada artikel tersebut dibahas bagaimana pengembangan perangkat lunak di masa depan dengan sedikit meninjau kembali metode software development yakni waterfall dan agile. Rasanya seperti kuliah RPL lagi. Kesimpulan yang diambil pada tulisan tersebut adalah pengembangan perangkat lunak di masa depan akan menggunakan bahasa pemrograman high level, dukungan library, dan metode agile.

Untungnya, berbeda dengan kuliah RPL, kali ini saya nggak ngantuk.

Sepertinya, apa yang ada di tulisan tersebut mulai saya rasakan di lingkungan sekitar.

Mengenai pemilihan bahasa pemrograman high level, menurut saya banyak benarnya. Mengambil contoh diri sendiri, saat ini saya lebih tertarik ‘bergaul’ dengan Java atau C# daripada memakai C lagi. Sepanjang mata memandang, teman-teman saya sepertinya juga begitu. Mainan teman saya C# kok. Pemrograman high level itu rasanya seperti memakai fasilitas mewah.

Kalau ditarik lebih luas lagi, saya melihat ada kecenderungan kurangnya peminat untuk mempelajari hal-hal yang low level pada teman-teman saya. Kuliah Pemrograman Sistem, Jaringan Komputer, Sistem Operasi, Organisasi dan Arsitektur Komputer jadi momok. Saya nggak tahu apakah ada ‘faktor lain’. Tapi yang jelas, salah seorang dosen di kampus saya pernah mengeluhkan hal itu di kelas. Apa hal ini disebabkan oleh perkembangan zaman atau karena mahasiswa sekarang malas-malas? Mungkin ini menjadi sesuatu yang harus disayangkan. Tapi apa perlu? Saya suka bertanya-tanya sendiri. Emang perlu ya mendalami semua itu? Kalau berpikir secara ideal sih, pasti perlu. Setiap ilmu pasti ada manfaatnya. Lihat tulisan saya di sini mengenai pentingnya kuliah Informatika.

Kembali ke topik awal, bagaimana dengan library yang udah banyak tersedia? Menurut saya itu bener banget. Mengambil contoh diri sendiri lagi, kemarin saya baru aja minta kode sebuah aplikasi bikinan temen saya, Apung, buat suatu bagian di program buat tugas akhir. Saya berpikir, daripada bikin sendiri, mending pakai yang udah ada. Contoh lain, saat tulisan ini dibuat, teman saya yang lain, Ridwan, juga menemukan framework yang bakal ngurangin sebagian besar kerjaannya. Hal-hal seperti ini sering terjadi. Sepertinya segalanya udah ada diciptakan, tinggal bagaimana kita membuat kolaborasinya dan nambah-nambahin sedikit.

Terakhir, terkait agile, saya gak terlalu banyak komentar. Agile erat kaitannya dengan iterasi. Saya belum pernah merasakan iterasi yang bener-bener iterasi, tapi mengenai requirement yang terus berubah saya beneran pernah ngerasain. Dari situ saya kenal refactoring. Senang rasanya melihat fitur itu kepasang di sejumlah tools.

Untuk tugas kuliah, saya belum pernah benar-benar melakukan iterasi. Ga ada perencanaan kok. Yang ada reverse engineering. Hehehe.. Tugasnya juga baru beres beberapa jam sebelum pengumpulan (atau berapa menit?) dengan satu iterasi. Begitulah… Kami adalah para deadliners.

Melihat tulisan tersebut, saya jadi berpikir bahwa open source bakal sangat penting. Penggunaan bahasa high level jadi lebih penting daripada low level, untuk kepraktisan. Tapi jangan sampai kehilangan konsep dasar yang penting. Selain itu, kemampuan kita untuk mempelajari teknologi baru juga jadi penting banget. Kita harus bisa cepat belajar.

Gimana menurut Anda?