Belum lama ini, saya menghabiskan waktu dengan membaca artikel-artikel dari blog Cinta Programming. Yang saya kagumi dari blog milik Yohanes Nugroho tersebut bukan saja mengenai pengetahuan beliau tentang hal-hal dalam dunia pemrograman yang oleh kebanyakan programmer (seperti saya) tidak ketahui. Lebih dari itu, saya mengagumi bagaimana kecintaan beliau pada pemrograman.

Programmer seperti saya terlalu dimanjakan oleh berbagai macam IDE, library, framework, packaged application, dan tools lain. Karena itu, saya kurang memahami mengenai Representasi Bilangan Desimal di Komputer, kegunaan tipe data union, dan implementation detail mengenai bagaimana program yang dihasilkan dari suatu bahasa pemrograman tertentu berjalan di komputer.

Mungkin saya bisa berlindung dengan alasan ampuh: “Don’t reinveting the wheel, reuse existing components instead.“. Bagi dunia industri, adalah membuang waktu dan biaya jika kita reinventing the wheel. Wheel yang kita buat pun belum tentu kualitasnya teruji, lain dengan wheel yang sudah ada dan sudah banyak teruji.

Memang, perangkat lunak sekarang tersusun dari banyak lapisan (layer). Perangkat lunak dapat dibuat menggunakan library atau framework yang sudah ada. Perangkat lunak itu sendiri nantinya berjalan di atas perangkat lunak lain, yaitu sistem operasi. Bahkan, aplikasi yang menggunakan interpreter atau virtual machine akan berjalan di atas interpreter/virtual machine tersebut, baru interpreter/virtual machine-nya berjalan di atas sistem operasi.

Saat ini saya masih berada di level application programmer, yang membangun perangkat lunak yang langsung digunakan oleh pengguna akhir (end user). Namun, tentu saja saya berkeinginan untuk naik level dengan mendalami lagi konsep-konsep dasar algoritma, struktur data, dan bahasa pemrograman. Mungkin tidak setinggi Pak Yohanes yang telah mendalami system programming, namun minimal saya ingin lebih memahami bagaimana suatu library atau framework bekerja di balik layar.

Related posts:

  1. Framework membodohi programmer?