Friday, November 26, 2010

"Don't use the language that have hidden behavior.."

"Don't use the language that have hidden behavior.."

Begitulah kiranya kata-kata yang terucap dari Lee Chuk Munn, pembicara pada acara Oracle Technology Network, 25 Noveber 2010. Pada saat itu, beliau sedang menjelaskan bahwa,
jika suatu bahasa pemrograman di buat, harus mempunyai dasar yang kuat. Bukan hanya lengkap saja, tetapi juga harus mudah. Contohnya dalam bahasa pemrograman Visual Basic, ada Link Queue, Sedangkan di Java tidak ada. Lalu muncul pertanyaan, "Kenapa link queue tidak di masukkan juga ke Java?". Jawabannya seingat saya adalah, belum tentu jika link queue jika di masukkan ke dalam bahasa pemrograman Java, bahasa Java akan menjadi sempurna. Jika memang beberapa bagian menjadi sempurna dan yang lain menjadi masalah, apa jadinya?

Untuk saat ini, bahasa pemrograman Java, tetap teguh pada prinsip awal bahasa ini di bangun, yaitu memenuhi beberapa keriteria di bawah ini:
  • Reading is more important than writing
  • One language with the same meaning everywhere
  • Simplicity matters
  • Changing demographics

Yang saya ingin komentari adalah pada point ke 2. Contohnya pada Visual Basic. Disaat variable int di tambahkan dengan variable String, perlakuannya menjadi berbeda. Disinilah yang Lee Chuk Munn maksud. "Jangan ada perlakuan yang tersembunyi". Sedangkan pada Java, hm.. sudah di pastikan error : incopatible types

Silahkan compile file Javadi bawah ini untuk percobaan:


/**
* @(#)TestStringDanInteger.java
*
*
* @author Jembroz
* @version 1.00 2010/11/25
*/

public class TestStringDanInteger {

/**
* Creates a new instance of TestStringDanInteger.
*/
public TestStringDanInteger() {
//Mendeklarasikan variable String dan integer terlebih dahulu.
String karakter = "ABC";
int angka = 12;

//Deklarasi variable hasil untuk String dan Integer
String hasilString = null;
int hasilAngka = 0;

//Kita gunakan try-catch untuk menangkap error pada saat proses(jika ada)
try{
//Prosesnya nee...
hasilString = karakter + angka;
System.out.println("Hasil dari hasilString adalah: "+hasilString);

hasilAngka = karakter + angka;
System.out.println("Hasil dari hasilAngka adalah: "+hasilAngka);

}catch(Exception e){
System.out.println(e.getMessage());
}
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
TestStringDanInteger ts = new TestStringDanInteger();
}
}


So? apa yang harus kita lakukan..? Simple! "Don't user the language that have hidden behavior.!" Ha..! :-)

No comments:

Post a Comment