Language Binding, Language Convergence

Language Binding, Language Convergence

Convergence

Yes, kita bertemu lagi di Jumat Tekno alias JuTek. Kali ini kita akan coba membahas tentang tren language binding. Language binding adalah suatu proses untuk mengakses fitur suatu bahasa/pustaka pemrograman dengan bahasa/pustaka pemrograman yang lain. Contohnya, Plasmoid di KDE yang ditulis dengan bahasa C++, kini bisa ditulis dengan sintaksis Javascript, dan Ruby. Pengguna Java pun bisa menulis program Qt dengan sintaksis Java lewat QtJambi. Sementara di Gnome/GTK ada GTK# yang menjadi bahasa pilihan dalam menulis program selain PyGTK, alih-alih memakai C.

Keuntungan yang ditimbulkan agaknya sudah gamblang, sekarang pembuat aplikasi tak lagi terkungkung dengan bahasa. Seseorang yang lebih luwes dengan javascript bisa mengimplementasikan ide Plasmoid keren yang dipunyainya. Tanpa harus khawatir harus belajar C++ dan pusing dengan pointer atau kompilasi program. 

Dunia programming pun menjadi flat. Bukan datar dan membosankan, tapi datar dalam artian tidak ada lagi barrier yang mengkotak-kotakkan programmer berdasarkan bahasa. Karena dengan satu bahasa sebenarnya dia juga bisa menulis dalam bahasa lain, lewat language binding.

Tentu saja, tidak semua bahasa bisa mengalami language binding. Entah karena sangat berbeda dalam hal konsep atau arsitektur. Membuat language binding bahasa fungsional dalam bahasa procedural tentunya agak hopeless. 

Pertanyaannya adalah seberapa setuju Anda dengan adanya tren binding ini? Seberapa besar dampaknya kira-kira pada perkembangan produk orisinil dan pasar pengembangan software secara  keseluruhan? Any specific binding you like most or expecting? 

Tak akan saya lupakan pada para praktisi dan pemerhati marketing di NavinoT. Language binding ini bisa kita ibaratkan dengan membuat sarung tangan yang mengijinkan kita untuk memegang segala macam benda panas. Atau adapter colokan kaki dua ke kaki tiga dan sebaliknya. Seperti  VoIP yang membuat orang bisa menelpon ke PSTN lewat internet. Apa kira-kira yang bisa ditimbulkan oleh tren semacam ini? Adakah kerugian yang mungkin muncul? Dalam konteks produk dan pasar tentunya.

8 thoughts on “Language Binding, Language Convergence

  1. kayaknya itu udah jadi kebutuhan deh. jaman skrg kalo terlalu eksklusif malah tidak laku kecuali pasar yg dituju memang eksklusif.

    kalo efeknya kayaknya cuman satu, ubiquity.

    siapa sih yg ndak mau dikenal?

    1. Ubiquity, hehe, keren bahasanya.

      Untuk yang belum tahu, kalau dari kamus begini artinya:

      ubiquity n : the state of being everywhere at once (or seeming to be everywhere at once)

  2. language binding memang menguntungkan karena kita bisa mengakses API yang dibuat dengan bahasa pemrograman lain dengan bahasa pemrograman yg kita kuasai.

    tapi tetap saja, bahasa seperti c, java, ruby, c#, dsb adalah general purpose programming language. sehingga masih tetap painful ketika digunakan mentah2. kita masih harus meng-extend bahasa2 tersebut sesuai domain yang dihadapi supaya lebih mudah digunakan, misalnya dengan menggunakan bantuan framework
    tertentu.

    yang menarik saat ini adalah DSL (domain specific language). dengan DSL seharusnya membuat program menjadi jauh lebih mudah lagi. karena bahasa yg digunakan dirancang secara spesifik sesuai domain yang dihadapi.

    1. Iya sih, kemungkinan besar masih harus mengandalkan bantuan framework untuk melakuan hal besar.

      BTW, untuk DSL ini contohnya apa saja ya? Saya tidak terlalu terupdate di topik tersebut. Something like next generation of SQL gitu?

  3. Bukannya Microsoft dengan .NET-nya sudah melakukan sejak dahulu (IronPython, Ruby.NET, dll)

    Setiap bahasa dibangun dengan pola pikir berbeda dan menyelesaikan masalah yang berbeda. Jika masalahnya sama, biasanya filosofi dan cara mereka menyelesaikan masalah berbeda.

    Setiap bahasa yang kita pelajari, kita menjadi punya wawasan baru untuk menyelesaikan masalah.

    Kalau disamakan sih… Gimana ya? Bukankah perbedaan itu indah?

  4. Resikonya nambah 1 sumber eror lagi. Klo ada yg nggak jalan meski syntaks beres, bisa jadi fasilitas multilanguage itu yg jd penyebabnya. Nampaknya sulit bikin yg bener2 multibahasa, misal bisapun di task2 tertentu aja. Kayaknya sih…, ndak yakin juga aku, hehe

    1. Biasanya, dari yang saya baca, language binding ini dimulai dari kompleksitas inti. Misalnya untuk Qt for Gtk, dimulai dari translasi GObject ke QObject (trust me I don’t really get it either). Dimana GObject dan QObject adalah unit terkecil dalam dua pustaka tersebut. Dari sini, sudah hampir bisa dipastikan the rest will follow. Analoginya: Asal sudah tahu caranya menyendok nasi, makan yang lain pasti tidak akan kesulitan.

      Tapi bener juga, berarti ada point of failure yang dikenalkan dengna adanya fasilitas “multilanguage”. Untuk hal ini sih, testing kontinu sudah pasti jadi proses wajib sewaktu membuat language binding.

Comments are closed.

Comments are closed.