REBOL – Melawan Kompleksisasi dan Gendutisasi Pemrograman Masa Kini
Entah berapa total ruang yang dibutuhkan setelah proses instalasi. Kalau pada distro yang saya gunakan yakni wattOS R8 dengan repository yang saya arahkan ke penyedia Debian Jessie, paket program fpc membutuhkan 282MB, fpc-source membutuhkan 102MB dan lazarus membutuhkan 992MB. Total jendral ketiganya membutuhkan ruang harddisk 1376MB atau sekitar 1,4GB.
Kecil untuk ukuran harddisk sekarang.
Betul. Tapi bukan perbandingan antara ukuran software dengan kapasitas harddisk yang ingin saya kemukakan, tapi masalah KOMPLEKSITASdevelopment tools masa-kini yang untuk membuat aplikasi HALO DUNIA saja susah atau bahkan susah minta ampun.
Jika Anda belajar secara otodidak pemrograman JAVA atau belajar pemrograman C/C++ menggunakan ANJUTA atau belajar pemrograman Android, maka saya yakin Anda mengerti yang saya maksudkan.
Dan sebagian dari Anda pun mungkin menyadari bahwa dari segudang library atau SDK yang terinstalasi dan segudang fitur dan fasilitas yang tersedia, hanya sebagian kecil saja yang termanfaatkan. Semisal mengacu pada lazarus dan freepascal tadi, dari 1,4GB yang terinstalasi, hanya sebagian kecil saja yang kita pakai.
Yang mestinya bisa sederhana, mestinya tidak perlu dibikin kompleks sehingga untuk membuat aplikasi sederhana saja banyak hal yang harus dipelajari. Jadi sebelum kita bisa mengimplementasikan solusi masalah, kita sudah dihadapkan kepada masalah lagi yakni menguasai tools. Tanpa menguasai tools, kita tidak dapat mengimplementasikan solusi. Iya kalau menguasai tools-nya gampang, inilah KOMPLEKSISASI.
Yang mestinya bisa langsing, kenyataannya gendut. Yang mestinya bisa ringan, kenyataannya berat. Untuk membuat aplikasi sederhana pun, bergiga-giga yang harus kita instalasi. Inilah GENDUTISASI.
Namun demikian, bagi programmer, bergelut dengan tools yang kompleks dan gendut adalah sebuah kehidupan yang harus dijalani. Mau tidak mau, suka tidak suka, programmer harus menguasai segala kompleksitas itu agar bisa tetap bersaing dan tetap terpakai.
Adakah pilihan lain yang tidak kompleks dan tidak gendut?
Ada. REBOL.
Nostalgia Masa Jaya DOS
Jika Anda mulai belajar pemrograman pada saat komputer masih dirajai oleh sistem operasi DOS (MS-DOS dan IBM PC DOS), maka sangat boleh jadi Anda mengenal interpreter BASIC seperti BASICA, GW-BASIC dan QBASIC. Anda juga akan mengingat dominasi Borland dengan produk-produknya seperti kompiler Turbo Pascal 5.5/6.0/7.0, kompiler Turbo C 2.0 dan juga Turbo Assembler 2.0.
Teringat oleh saya ketika memamerkan program aplikasi Diary yang saya buat menggunakan GW-BASIC. Distribusi aplikasi sangatlah mudah, tinggal meng-copy file DIARY.BAT, GW-BASIC.EXE dan DIARY.BAS saja dan aplikasi bisa running di komputer DOS manapun. Dengan satu file GW-BASIC.EXE, kita bisa membuat berbagai aplikasi baik mode teks maupun grafis. Beda dengan sekarang, bikin installer untuk aplikasi yang kita buat sendiri pun masih perlu belajar lagi.
Btw, gambar di atas bukanlah program Diary yang dulu saya buat melainkan program yang baru saya buat untuk ilustrasi saja karena program Diary saya tentunya sudah hilang bersama disket-disket saya.
Software Tak Harus Kompleks dan Gendut

Carl percaya bahwa dengan bahasa pemrograman yang tepat dan tools yang tepat, software bisa dibuat tanpa mengalami kompleksisasi dan gendutisasi. Dan tak hanya percaya, Carl Sassenrath membuktikannya dengan mendirikan REBOL Technology pada tahun 1998.
Dengan REBOL kita bisa melupakan tentang instalasi IDE yang berukuran besar, mempelajari proses pembuatan software yang kompleks, mempelajari berbagai SDK dan berbagai tools pendukungnya. Dengan REBOL kita bisa kembali ke model pembuatan aplikasi dengan GW-BASIC seperti yang saya ilustrasikan di atas. Distribusi aplikasi pun hanya sekedar meng-copy folder saja dan aplikasi pun siap dijalankan.
Gambar di atas adalah program interface untuk modul relay USB-4REL yang saya buat menggunakan REBOL/VIEW 2.7.8. Besar file kode programnya 1493 byte. Kode programnya adalah sebagai berikut:
Kode Program usb4r.r
REBOL
[
Title: "USB4R Interface"
Date: 23-March-2014
Author: "Chandra MDE"
Email: chandra@teknikelektrolinks.com
Company: "Teknik Elektro Links"
File: %usb4r.r
]
;--Let's make a simple but cool GUI
;------------------------------------
view layout
[
vtext center papaya font-size 18 "USB-4REL Interface Example" bold
bar 258 return
across
vtext papaya font-size 14 bold "ID Module:"
f: field 80
btn 80 green bold "READ ID"
[
s: ""
call/output "./usb4rc ID" s
either find s "ID Modul = USB4REL" [
f/text: last parse s " "
show f
][
alert "USB-4REL not found."
quit
]
]
return
across
btn 120x30 gold bold "RELAY-1 ON" [call "./usb4rc R1"]
pad 10
btn 120x30 silver bold "RELAY-1 OFF" [call "./usb4rc r1"]
return
across
btn 120x30 gold bold "RELAY-2 ON" [call "./usb4rc R2"]
pad 10
btn 120x30 silver bold "RELAY-2 OFF" [call "./usb4rc r2"]
return
across
btn 120x30 gold bold "RELAY-3 ON" [call "./usb4rc R3"]
pad 10
btn 120x30 silver bold "RELAY-3 OFF" [call "./usb4rc r3"]
return
across
btn 120x30 gold bold "RELAY-4 ON" [call "./usb4rc R4"]
pad 10
btn 120x30 silver bold "RELAY-4 OFF" [call "./usb4rc r4"]
below
btn 258x30 beige bold "ALL RELAY ON" [call "./usb4rc RA"]
btn 258x30 tan bold "ALL RELAY OFF" [call "./usb4rc rA"]
btn 258x40 red bold "Q U I T" [quit]
vtext font-size 26 bold blue "Teknik Elektro Links"
]
Yang paling menyenangkan adalah dengan REBOL, kita mempunyai tools pemrograman untuk berbagai platform seperti Windows, Apple OS/X, Linux, FreeBSD dan OpenBSD. REBOL pun telah tersedia untuk versi Linux-ARMv6 dan Linux-ARMv7. Kita bisa membuat aplikasi versi Windows yang runningdengan mulus pada platform lain bahkan nyaris tanpa perlu modifikasi.
Gambar di atas adalah aplikasi Temperature Monitoring & Controlling yang saya buat menggunakan REBOL. Aplikasi ini berkomunikasi melalui port serial dengan board mikrokontroler ATmega8. Gambar sebelah kiri adalah aplikasi yang running pada Windows XP dan gambar sebelah kanan adalah aplikasi yang sama yang running pada Linux.
Gambar berikut ini adalah contoh program interface untuk modul SER-4REL yang saya buat menggunakan REBOL/VIEW 2.7.8 pada platform Windows.
REBOL/CORE dan REBOL/VIEW
REBOL/CORE adalah inti dari REBOL. Untuk aplikasi berbasis console dan web, maka cukup REBOL/CORE yang kita butuhkan. REBOL/CORE adalah aplikasi single-file berukuran 369.128 byte (versi linux).
REBOL/VIEW adalah REBOL dengan kemampuan pemrograman GUI. REBOL/VIEW memiliki VID (Visual Interface Dialect). Dengan VID kita bisa membuat program dengan tampilan GUI dengan mudah dan akan tampak sama pada ketika dijalankan pada platform lain. REBOL/VIEW juga sebuah aplikasi single-file yang berukuran 1.215.652 byte saja (versi linux).
Comments
Post a Comment