Di majalah info linux edisi maret 2003 lalu, saya membaca sebuah artikel di bagian opini berjudul "kelemahan programer muda". artikel ini ditulis oleh bapak Budi Raharjo. Isi artikel tersebut lebih kurang begini:
"Salah satu kesalahan yang banyak ditemui terhadap programer baru yang masih muda adalah kurangnya wawasan tentang teori dan apa-apa yang sudah dikerjakan oleh orang lain. Seringkali ketika diberikan sebuah tugas, sang programer ini dengan gagahnya langsung cepat-cepat melakukan pengodean (coding). Dia tidak mau mencari informasi tentang berbagai solusi yang mungkin telah ditemukan orang untuk mengatasi masalah atau tugas yang diberikan kepadanya.
"Salah satu kesalahan yang banyak ditemui terhadap programer baru yang masih muda adalah kurangnya wawasan tentang teori dan apa-apa yang sudah dikerjakan oleh orang lain. Seringkali ketika diberikan sebuah tugas, sang programer ini dengan gagahnya langsung cepat-cepat melakukan pengodean (coding). Dia tidak mau mencari informasi tentang berbagai solusi yang mungkin telah ditemukan orang untuk mengatasi masalah atau tugas yang diberikan kepadanya.
Saya ambil sebuah contoh, pencarian (searching) sebuah data tertentu dalam sebuah kumpulan data. Sebagian besar programer muda ini langsung membuat loop “for” atau “while” yang menelusuri kumpulan data tersebut. Dia tidak peduli tentang struktur data dari kumpulan data tersebut (yang bisa jadi berupa array, tree, graph). Strategi yang dipilihnya pun asal-asalan. Dia tidak mau memikirkan apakah lebih baik menggunakan Depth First Search (DFS) atau Breadth First Search (BFS). Padahal di luar sana sudah banyak literatur yang membahas tentang search beserta aplikasi-aplikasinya. Selain masalah pencarian, masalah lain yang mirip adalah pengurutan (sorting).
Akibat dari ketidaktahuan ini seringkali sang programer membutuhkan waktu yang lama untuk menemukan solusinya. Jika sudah berhasil membuat solusinya pun, ternyata solusi yang dibuat oleh sang programer ini tidak efisien. Programnya bisa jalan untuk data yang jumlahnya sedikit. Begitu jumlah data dinaikkan, program menjadi tidak jalan, atau membutuhkan waktu yang lama untuk menyelesaikan tugasnya. Bayangkan, ada aplikasi yang membutuhkan waktu berjam-jam hanya untuk melakukan sorting. Hal ini sering disebabkan kesalahan dalam pemilihan struktur data beserta algoritma yang digunakan untuk memproses data tersebut. Solusinya, sering-sering baca bukubuku, jurnal, dan teori-teori pemrograman untuk menemukan solusi yang lebih baik. Jika kesalahan di atas disebabkan karena kurang pemahaman tentang teori, maka kesalahan lain yang sering dilakukan oleh programer muda adalah kurang seringnya praktik membaca atau melihat source code orang lain. Ketika dia diminta untuk membuat program dalam bahasa C, maka programnya seperti di bawah ini:
============================================
#include
Banzai !!!