Kalau ditanya, "Software lo pentingnya apa sih?" kebanyakan ilmuwan jawab, "Ya performa lah, bro!" Mereka pengen software-nya ngebut---mungkin biar bisa ngerender data sebelum kopi dingin. Tapi ternyata, productivity, maintainability, dan portability juga mulai naik daun.
Artinya, ilmuwan makin sadar bahwa bikin software yang bisa dipelihara dan dipindahin ke berbagai platform itu nggak kalah penting dari sekadar cepat. Keren! Tapi tunggu dulu...
Validation-nya? Ehm... Masih Banyak yang Asal Nulis
Salah satu sisi ironis dari studi ini adalah: banyak banget paper yang ngomongin praktik SE, tapi... nggak divalidasi secara empiris. Alias, "katanya sih gitu." Dari 359 studi, sekitar 33% nggak punya bukti kuat soal praktik yang mereka klaim efektif. Jadi ya, kita harus baca dengan sedikit garam.
Yang lebih menyedihkan, cuma segelintir studi yang bicara soal trade-off. Padahal, dalam dunia nyata, jarang banget ada keputusan yang "semuanya bagus." Misal, lo bikin software lo super cepat tapi jadi susah banget dipelihara. Atau lo bikin arsitektur super modular tapi malah lambat banget. Sayangnya, studi-studi yang bahas konflik semacam ini hampir nggak ada. Hmm... padahal drama tuh selalu menarik, kan?
Bahasa Pemrograman Favorit? Fortran Masih Nongkrong di Sana!
Siapa sangka, di tengah era Python dan JavaScript, Fortran masih hidup dan sehat di dunia scientific computing. Ya, meskipun bukan pilihan anak startup kekinian, Fortran tetap dipakai buat perhitungan besar-besaran di simulasi ilmiah. Selain itu, C++ dan C juga dominan, jelas karena mereka cepat dan efisien. Tapi Python mulai naik daun juga karena... ya, siapa sih yang nggak suka sintaks Python?
Saran Buat Ilmuwan (dan Developer-nya Juga)
Kalau kamu ilmuwan yang suka ngoding: anggap serius software engineering. Bukan karena kamu harus jadi software engineer, tapi karena software-mu bakal dipakai terus, di-maintain, dan (semoga) dikembangkan orang lain.
Kalau kamu developer yang kerja sama ilmuwan: nggak usah terlalu nyinyir. Emang mereka bukan lulusan teknik informatika, tapi mereka ngerti kebutuhan domain-nya. Kolaborasi itu kuncinya.
Dan buat peneliti SE: mulailah bahas trade-off, bro. Jangan semua studi isinya "praktik A bagus buat kualitas X." Kadang praktik A bisa ngerusak kualitas Y, dan itu penting untuk disampaikan.
Penutup: Dari Lab ke Production
Artikel ini secara nggak langsung ngomong bahwa dunia scientific software udah makin sadar pentingnya praktik SE. Tapi perjalanannya masih panjang. Banyak yang masih trial-and-error, banyak yang belum divalidasi, dan banyak yang belum mengadopsi praktik SE secara menyeluruh.
Namun, satu hal yang jelas: masa depan software ilmiah itu nggak cuma soal algoritma yang hebat, tapi juga kode yang bisa dipelihara, diuji, dan dipakai lagi. Karena ujung-ujungnya, meskipun kamu pakai software buat simulasi ledakan bintang atau pola genetik langka... kalau kodenya berantakan, ya tetap aja bikin pusing.
Jadi, yuk mulai biasakan SE meski kamu ilmuwan. Karena seperti kata pepatah modern:
"Behind every great discovery, there's a frustrated postdoc debugging bad code."