Mari beralih ke compiler baru

Saya gemes, sampai tahun ini (2008) saya melihat masih ada dosen yang menyarankan mahasiswanya memakai Visual Basic 6, Turbo C++ 3.0, Turbo Pascal 7, atau software sejenis yang sudah sangat ketinggalan jaman. Saran ini bisa dalam bentuk praktikum di kelas, atau untuk tugas akhir.

VB 6 versi terakhir adalah tahun 1998, dan sudah tidak disupport lagi (untuk siapapun juga) oleh microsoft pada tahun 2008. Turbo C++ 3.0 dirilis tahun 1991 (17 tahun yang lalu), dan Turbo Pascal 7 dirilis tahun 1992 (16 tahun yang lalu).

Mungkin sebagian akan bertanya, mengapa harus pakai software yang baru? yang lama kan masih bisa dipakai?. Ada banyak alasan mengapa sebaiknya pindah ke compiler yang baru.

Alasan pertama adalah: pembajakan. Software-software tersebut memang sudah tua, dan tidak dijual lagi, tapi bukan berarti boleh disebarkan secara bebas. Perusahaan-perusahaan pembuat software itu masih memiliki hak cipta atas software-software tersebut. Dulu mungkin belum banyak alternatif pengganti compiler, tapi sekarang sudah ada banyak. Jika bisa memakai yang legal, kenapa harus membajak?. Turbo C++ bisa digantikan dengan GCC, atau jika perlu IDE, bisa memakai Micosoft Visual C++ versi gratis. Turbo Pascal bisa digantikan dengan FreePascal, atau jika perlu IDE bisa memakai Turbo Delphi Explorer (Turbo Delphi versi gratis) Lazarus. Visual Basic bisa digantikan dengan Gambas, atau Visual Basic .NET (versi gratis).

Alasan kedua adalah: masalah standar. Aneka compiler awal tidak mendukung standar bahasa dengan baik (kecuali VB yang tidak ada standar bahasanya). Misalnya penanganan template C++ di Turbo C++ 3.0 masih kurang baik. Penanganan scope variabel di loop “for” pada MS Visual C++ 6.0 juga tidak memenuhi standar ISO untuk C++.

Alasan ketiga adalah masalah teknologi. Sekarang ini hampir semua prosessor baru untuk desktop sudah mendukung 64 bit, dan sistem operasi 64 bit mulai banyak digunakan (baik Linux, Windows, maupun OS X). Turbo Pascal 7 dan Turbo C++ 6 adalah produk 16 bit. Visual Basic 6.0 dan Visual C++ 6.0 juga hanya mendukung 32 bit. Memprogram dengan teknologi kuno tersebut membuat kita tidak bisa memanfaatkan mesin yang canggih. Segala macam instruksi prosessor terbaru tidak bisa digunakan.

Sekarang vista sudah tidak bisa menjalankan software 16 bit, kecuali Anda menjalankannya menggunakan virtualisasi (dengan virtual pc/vmware/virtual box/dosbox, atau yang lain). Aneka macam fitur sistem operasi yang baru juga tidak bisa dipakai, misalnya nama file untuk Turbo C++ 3.0 dan Turbo pascal 7.0 hanya bisa 8 karakter (plus ekstensi 3 huruf). IDE Visual Basic 6 sudah tidak bisa dijalankan di Vista 64 bit (di Vista 32 bit masih bisa). Microsoft tidak berjanji bahwa di versi Windows berikutnya, Visual Basic 6 masih bisa dijalankan (jadi ada kemungkinan tidak bisa lagi dijalankan).

Saat ini OS yang populer bukan hanya Windows. Mac OS X dan Linux secara total sudah mengambil 10% pasar Desktop, dan pasar server makin banyak dikuasai Linux. Memprogram menggunakan tools yang hanya ada di OS tertentu akan membuat kita terjebak di OS tersebut.

Alasan keempat adalah masalah pola pikir. Siswa akan dipaksa berpikir dengan aneka keterbatasan tools, yang mungkin saat ini sudah bukan hal penting lagi di tools yang baru.

Masih banyak alasan-alasan lain mengapa sebaiknya tidak mengajar dengan tools yang kuno. Satu-satunya alasan mengapa tools itu dipakai adalah karena kemalasan dosen, yang tidak mau belajar tools baru. Kasihan sekali jika kemalasan seorang dosen merugikan banyak mahasiswa.  Jika Anda mahasiswa, coba pertanyakan alasan dosen Anda jika masih menggunakan atau menyarankan menggunakan tools yang sudah kuno.

Sebenarnya ada tipe dosen  yang lain, yang terlalu menyarankan tools terbaru dari perusahaan yang kurang dikenal hanya karena tools tersebut mengandung satu fitur tertentu. Aneka perusahaan jatuh bangun dalam jangka waktu beberapa tahun. Siapa dulu yang pernah belajar dBase? meski dulu sangat terkenal, sekarang dBase sudah hampir tidak dikenal orang. Ketika mengajarkan  sesuatu, sebaiknya ajarkanlah yang standar, dan sudah dikenal bertahun-tahun (lebih baik lagi jika sudah puluhan tahun), yang didukung banyak pihak. Jangan sampai tools yang dipuji-puji dan diajarkan sekarang, perusahaannya tutup ketika muridnya lulus.

Tambahan 26 Maret 2018,  lebih dari 9 tahun sejak artikel asli ditulis.

Hampir 10 tahun yang lalu saya menuliskan bahwa masih banyak universitas di Indonesia yang mengajarkan pemrograman memakai Turbo Pascal, Turbo C++, Visual Basic (bukan .NET) dan berbagai teknologi kuno lainnya.

Salah satu  pembelaan yang saya dengar adalah: yang penting kan bisa dipakai buat menguji program kecil.  Sekarang coba lihat di SD, apakah masih ada yang memakai Sabak untuk belajar menulis? Kenapa harus memakai pensil dan kertas? Kan kalau sekedar belajar menulis, Sabak juga masih bisa dipakai untuk belajar menulis? yang penting kan bisa menuliskan alfabet. Bisa dipikirkan sendiri bahwa buku tulis memiliki banyak kelebihan: mudah dicari, permanen, teknik menulis dengan pensil/pulpen lebih terpakai di dunia nyata. Sama halnya dengan programming: mengajarkan dengan tool lama sama seperti memakai Sabak di jaman modern.

Belum lagi di mata kuliah berikutnya, mereka harus mengimplementasikan program tertentu, dan bingung bagaimana membuat programnya agar mengakses memori 16 GB yang mereka miliki karena program Turbo Pascal maksimum 1 blok memori hanya 64 Kilobyte. Belum lagi masalah kecepatan yang sangat lambat karena kode 16 bit di prosessor 64 bit kurang optimal.

Ditambah lagi masalah dengan kontinuitas ketika bekerja. Beberapa mahasiswa mengira mereka tahu C++ karena pernah belajar Turbo C++, tapi ternyata sangat berbeda dengan C++ modern. Bahasa C++ masih berkembang terus, saat ini sudah ada 5 standar C++ sejak Turbo C++ dirilis. Saya sendiri adalah programmer C++ yang selama 15 tahun terakhir menggunakan C dan C++.

Sabak

Ada yang menyangka tool kuno seperti Turbo C++/Turbo Pascal masih praktis, bisa cepat dipakai untuk belajar, tidak rumit instalasinya. Mungkin jaman dulu seperti itu (sama seperti sabak yang dulu gampang dicari), tapi sekarang untuk menjalankan berbagai tool lama harus pakai Virtual Machine atau DOSBox, dan untuk mengcopy file saja repot menggunakan mount point DOSBox dan namanya harus 8 huruf, dengan ekstensi 3 karakter. Bahkan hal-hal kecil seperti shortcut untuk copy/paste juga berbeda dari Windows/Mac/Linux, dan bahkan repot sekali untuk copy kode dari dan ke aplikasi lain (misalnya untuk keperluan membuat laporan). Menurut saya kebanyakan mahasiswa yang pemula akan tambah bingung dan bukannya merasa praktis.

Sekarang ini berbagai IDE modern sudah gampang dipakai. Bandingkan misalnya dengan Free Pascal yang IDE-nya sangat mirip Turbo Pascal, tapi berjalan di Windows, Linux, dan bahkan OS X. Instalasinya juga sangat mudah (ada installernya). Tidak perlu repot mengcopy file ke dalam VM ataupun DOSBox, nama file juga bisa panjang.

Ini Free Pascal IDE Versi Linux, bukan Turbo Pascal.

Tapi tentunya di jaman modern ini akan lebih nyaman lagi memakai IDE yang modern juga, yang tidak berbasis teks tapi menggunakan GUI modern, yang shortcutnya juga lebih mudah karena sama dengan semua aplikasi lain.

Sebagai catatan tambahan, dulu saya sebagai asisten mata kuliah pemrograman (sekaligus admin jaringan) berinisiatif mengganti Turbo C dengan GCC, Pascal dengan FreePascal, dan Turbo Prolog dengan gprolog, tentunya setelah berdiskusi dengan dosen dan asisten lain.

Di Informatika ITB, yang diajarkan dikelas adalah konsep pemrograman, jadi tidak ada perubahan dalam cara mengajar. Tentang panduan praktis cara mengedit, mengkompilasi, menjalankan dsb dijelaskan asisten waktu praktikum. Jadi kalau di kampusnya masih menggunakan teknologi kuno, mungkin sebaiknya asisten/mahasiswa yang mengambil inisiatif.

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.