Kalau ada yang bertanya apakah saya selalu menyukai Python, jawaban jujurnya adalah tidak. Ada fase dalam perjalanan saya sebagai seorang programmer di mana saya benar-benar tidak tahan dengan bahasa ini. Saya anggap Python terlalu longgar, terlalu "permisif", dan terlalu jauh dari cara saya berpikir tentang pemrograman waktu itu.
Latar belakang saya adalah Java. Saya dibesarkan secara teknis dalam ekosistem yang sangat terstruktur — setiap variabel harus dideklarasikan tipenya, setiap kelas punya hierarki yang jelas, dan compiler akan berteriak keras kalau ada yang salah sebelum kode bahkan sempat dijalankan. Bagi saya waktu itu, itu adalah cara yang benar untuk menulis perangkat lunak. Disiplin. Terstruktur. Tegas.
Kemudian saya berkenalan dengan Python.
Pertama kali melihat kode Python, reaksi saya adalah skeptis. Tidak ada kurung kurawal? Indentasi yang menentukan blok kode? Tipe data yang bisa berubah-ubah sesuka hati? Ini terasa seperti anarki bagi seseorang yang terbiasa dengan ketertiban Java. Saya coba Python sebentar, tidak cocok, dan kembali ke zona nyaman saya.
Perubahan itu datang bukan karena saya memilih Python dengan sadar, melainkan karena saya terpaksa menggunakannya. Sebuah proyek analisis data yang saya tangani mengharuskan saya bekerja dengan tim yang seluruhnya menggunakan Python. Tidak ada pilihan lain — ikut atau ketinggalan.
Selama beberapa minggu pertama, saya masih resisten. Saya menulis Python dengan cara berpikir Java — verbose, kaku, tidak idiomatis. Hasilnya tentu saja jelek dan tidak efisien. Tapi kemudian, perlahan-lahan, saya mulai menyerah pada cara Python berpikir. Saya mulai memahami mengapa list comprehension itu elegan, bukan ceroboh. Saya mulai menghargai bagaimana duck typing justru memberikan fleksibilitas yang kadang lebih berguna daripada type safety yang kaku. Saya mulai melihat bahwa "permisif" yang saya benci itu sebenarnya adalah kepercayaan pada programmer untuk membuat keputusan yang tepat.
Yang paling mengubah pandangan saya adalah produktivitas. Sesuatu yang di Java butuh tiga file, dua interface, dan satu abstract class, di Python selesai dalam dua puluh baris. Waktu yang biasanya habis untuk boilerplate bisa saya gunakan untuk memikirkan logika bisnis yang sebenarnya. Itu bukan hal kecil — itu perubahan cara kerja yang fundamental.
Saya juga harus jujur soal ekosistem. Tidak ada bahasa lain yang bisa menandingi Python dalam hal ketersediaan pustaka untuk data science dan machine learning. Ketika saya mulai serius mendalami bidang itu, tidak ada perdebatan yang perlu dilakukan. Python adalah habitatnya, dan semua alat terbaik hidup di sana.
Tapi perubahan terbesar bukan soal teknis. Perubahan terbesar adalah soal cara pandang. Saya belajar bahwa tidak ada bahasa yang secara objektif "terbaik" untuk semua konteks. Yang ada adalah bahasa yang paling tepat untuk masalah tertentu, tim tertentu, dan tujuan tertentu. Dan keangkuhan saya yang dulu — merasa bahwa cara Java adalah satu-satunya cara yang benar — adalah hambatan terbesar untuk berkembang.
Python mengajarkan saya untuk lebih pragmatis. Dan dalam dunia teknologi yang bergerak secepat ini, pragmatisme sering kali jauh lebih berharga daripada ideologi.
Kalau Anda sekarang sedang di posisi yang sama seperti saya dulu — skeptis, resisten, merasa bahwa bahasa yang Anda kuasai sudah cukup — saya tidak akan memaksa Anda untuk berubah pikiran. Tapi saya akan menyarankan satu hal: berikan Python kesempatan yang adil. Bukan sekadar coba sebentar lalu kembali ke zona nyaman. Benar-benar masuk ke dalamnya, pahami filosofinya, dan biarkan ia mengubah cara Anda berpikir.
Siapa tahu, beberapa tahun dari sekarang Anda juga akan menulis opini seperti ini.
Rian Septian Anwar adalah praktisi teknologi dengan pengalaman lebih dari sepuluh tahun di bidang pengembangan perangkat lunak dan rekayasa data.