Mei 15, 2013

IDE dan Pengajaran Pemrograman


Tulisan ini berangkat dari pengalaman saya mengajar pemrograman selama bertahun-tahun (kurang lebih sekitar 13 tahun). Pemrograman memang sering menjadi momok bagi mahasiswa Informatika. Cukup menggelikan, karena kalau tidak mau bertemu dengan pemrograman seharusnya mahasiswa tidak masuk ke Informatika, but you know ...

Selama bertahun-tahun, barangkali para mahasiswa saya mengenal saya sebagai dosen yang "kejam" dalam hal mengajarkan semua hal yang terkait dengan pemrograman. Alasannya apa, akan saya uraikan nanti. Saya sebenarnya prihatin dengan kondisi kemampuan mahasiswa serta rekan-rekan akademisi yang sering menggunakan IDE (Integrated Development Environment) dalam proses pengajaran. Saya tidak anti software IDE karena saya sendiri juga menggunakan software-software tersebut, yang akan saya uraikan disini adalah IDE seharusnya tidak digunakan dalam proses pendidikan.

IDE merupakan software yang mengintegrasikan berbagai macam tools untuk pengembangan software. IDE merupakan software besar monolothic (hence, against UNIX philosophy), biasanya secara minimal akan berisi editor (untuk menulis source code), user interface designer, help / documentation, refactoring tool, build system, debugger, compiler / interpreter, class browser, profiler, dan project management. Mempelajari IDE memerlukan waktu dan biasanya mahasiswa tidak akan memahami sampai dalam.

Saat mengajar, saya memang cenderung keras: saya selalu memakai Linux dan tidak suka melihat para mahasiswa menggunakan IDE. Mahasiswa selalu saya paksa menggunakan text editor biasa (karena kebanyakan memakai Windows, mereka saya suruh memakai NotePad, NotePad++, TextPad, atau yang ngepet-ngepet lainnya). Ketidaksukaan saya terhadap penggunakan IDE ini dilatarbelakangi oleh beberapa alasan:

  1. IDE mengotomatiskan banyak proses yang seharusnya dipahami oleh seseorang yang belajar pemrograman. Ini akan menyebabkan mahasiswa tidak mau memperhatikan internal working, algoritma, optimasi, dan lain-lain. Pernahkah anda menanyakan arti dari build.xml ke mahasiswa yang biasa menggunakan NetBeans? Lihat jawaban mereka. :)
  2. IDE membuat mahasiswa menjadi manja dan cenderung tergantung dengan IDE. Jadi kalau pakai Text Editor biasa, mahasiswa tidak tergantung? ya tetap tergantung, namanya juga menggunakan komputer, mereka harus tergantung pada komputer. Yang saya maksud disini adalah penggunaan IDE tanpa pemahaman konsepsual yang kuat terhadap algoritma dan proses rekayaasa software akan membuat mereka tidak bisa apa-apa saat IDE tersebut tidak ada di komputer.
  3. IDE sering membuat mahasiswa berpikir menurut IDE tersebut, sehingga jika di industri mereka bekerja menggunakan IDE yang lain, tentu akan memerlukan investasi waktu yang signifikan untuk hal tersebut. Cobalah menyuruh mahasiswa yang menggunakan NetBeans untuk berpindah ke Eclipse (standar JSE) jika ingin menguji :). 


IDE biasanya memang digunakan di industri pengembangan software, oleh sebab itu, dalam proses pendidikan seharusnya penggunaan IDE dilarang, tetapi menjelang kelulusan harus ada workshop penggunaan IDE. Saya yakin, jika ini dikerjakan, para mahasiswa yang mendapatkan workshop itu akan mengatakan "nah, lha ini gampang ternyata menggunakan NetBeans untuk proses refactoring". Tidak akan ada lagi (atau kalaupun ada, semoga minimal) mahasiswa yang hobi menggunakan NetBeans, pada saat wawancara kerja ditanyakan "Refactoring itu apa?" dan si mahasiswa hanya diam tidak bisa menjawab, sementara dia sering menggunakan fasilitas itu secara "tidak sadar".

Tantangannya? sederhana: kemampuan SDM (dosen terutama). This one I can not be sure ...

Mei 09, 2013

Add MIME types into LiteIDE editor

This is just simply a note to myself. LiteIDE uses some text files for its configuration. Using View - Options menu, one can update LiteIDE configuration, but not all of its configurations can be changed this way. One example is the MIME types. I use "*.tpl" for my template file's pattern. This extension file name is not exist in MIME Types from View - Options - LiteEditor - File Types menu, so this kind of file is render as a plain text file without syntax coloring while I want them to be rendered as HTML file. You know how painful it is, right?

LiteIDE uses a file to configure file types. It resides in $LITEIDE_HOME//share/liteide/liteapp/mimetype. The file is liteeditor.xml. Change that file:



Very simple indeed. A very nice and good IDE for Go (and Lua also). :)