Logo bahasa pemrograman Julia dengan latar belakang kode program

Julia: Bahasa Pemrograman Niche yang Gagal Gusur Python

Penulis:Nur Hamzah
Terbit:
Diperbarui:
⏱️4 menit membaca
Bagikan:
  • Julia adalah bahasa pemrograman yang dirancang untuk memecahkan "two-language problem" dalam komputasi ilmiah, yaitu menggabungkan kemudahan Python dengan kecepatan C++/Rust
  • Julia gagal menggantikan Python karena tiga alasan utama: ekosistem Python terlalu kuat, belum diadopsi Big Tech, dan bahasa ini lebih cocok sebagai bahasa niche
  • Julia tetap sukses di bidang spesifik seperti komputasi ilmiah kelas berat, digunakan oleh institusi seperti ASML, CERN, dan NASA
  • Bahasa ini juga dipakai dalam penemuan obat (drug discovery) dan pembelajaran mesin tingkat lanjut
  • Konsep Julia terinspirasi dari gagasan Kenneth Iverson tentang notasi sebagai alat berpikir dalam kuliah Turing-nya tahun 1979

Telset.id – Bahasa pemrograman Julia hadir dengan ambisi besar untuk menyatukan ekosistem riset dan produksi, namun hingga kini masih gagal menggantikan dominasi Python. Alih-alih menjadi penerus, Julia justru berkembang sebagai bahasa niche yang sukses di ranah komputasi ilmiah kelas berat.

Julia dirancang untuk memecahkan apa yang disebut sebagai “two-language problem” dalam komputasi ilmiah. Para peneliti biasanya membuat prototipe menggunakan Python yang ramah dan mudah dipelajari, tetapi untuk bagian yang membutuhkan performa tinggi, mereka harus menulis ulang kode dalam bahasa yang lebih cepat seperti C++ atau Rust. Julia hadir sebagai bahasa yang menjanjikan kemudahan Python dengan kecepatan setara C.

Para kreator Julia, yang merupakan pengguna berat Matlab, Lisp, Python, Ruby, dan Perl, menginginkan satu bahasa yang menggabungkan semua kelebihan tersebut. Mereka mendambakan bahasa sumber terbuka dengan lisensi liberal, mudah dipelajari, namun tetap mampu memuaskan para hacker paling serius. Julia lahir sebagai jawaban atas ambisi tersebut.

Namun, kenyataan berkata lain. Julia tidak muncul di survei tahunan Stack Overflow sebagai bahasa paling populer. Ia tidak menggantikan Python, bahkan hampir tidak mendekati angka adopsi Python. Ada tiga alasan utama mengapa Julia gagal menjadi bahasa dominan seperti yang diharapkan.

Pertama, ekosistem dan perangkat pendukung (tooling) Julia masih jauh tertinggal dari Python. Sama seperti bahasa manusia yang bergantung pada korpus teks yang ditulis di dalamnya, bahasa pemrograman hanya sekuat ekosistemnya. Python memiliki ekosistem yang terlalu kokoh untuk digeser begitu saja. Ratusan ribu pustaka, forum diskusi, tutorial, dan proyek sumber terbuka menjadikan Python sebagai pilihan utama bagi peneliti dan pengembang.

Kedua, Julia belum diadopsi oleh perusahaan teknologi besar (Big Tech). Dalam sejarah, bahasa-bahasa minor yang naik daun biasanya berkat dukungan korporasi. Objective-C diangkat oleh Apple untuk pengembangan iOS, sementara Kotlin didorong oleh Google untuk pengembangan Android. Tanpa patronase semacam itu, Julia kesulitan menembus pasar mainstream.

Ketiga, dan ini yang paling penting: sebenarnya tidak ada yang salah dengan Julia. Bahasa ini justru cukup sukses di ceruknya. Julia adalah bahasa niche, dan untuk apa yang dilakukannya, ia sangat berhasil. Bahasa ini digunakan untuk pekerjaan-pekerjaan berat di institusi-institusi bergengsi seperti ASML, CERN, dan NASA. Julia juga dipakai dalam penemuan obat (drug discovery) dan pembelajaran mesin tingkat lanjut.

Saya pertama kali menemukan Julia secara tidak sengaja pada tahun 2017, setahun sebelum sintaksnya distabilkan. Saat itu, saya menghadiri kuliah dari Sebastian Seung, seorang ilmuwan saraf yang menggunakan Julia untuk memetakan konektom—peta lengkap jalur saraf di otak. Kesan pertama saya adalah pada nama Julia yang indah dan menarik, sangat kontras dengan nomenklatur kikuk yang umum di dunia pemrograman: PL/I yang tidak elegan, Erlang yang jelek, C++ yang secara tipografis tidak sedap dipandang, atau MUMPS yang secara harfiah patologis—yang jika Anda percaya, menjadi tulang punggung sistem perawatan kesehatan Amerika Serikat.

Desain Julia juga menunjukkan pemikiran serius. Setelah mempelajari banyak jebakan yang dialami bahasa lain, para kreatornya mengumpulkan ide-ide rapi dari berbagai bahasa. Ini menjadi bukti bahwa observasi yang cermat harus dilakukan sebelum memulai usaha sehalus menciptakan bahasa baru. Julia menggabungkan notasi matematis yang ringkas dengan kemampuan komputasi berperforma tinggi, mengingatkan pada gagasan Kenneth Iverson dalam kuliah Turing-nya tahun 1979, “Notation as a Tool of Thought.” Iverson menunjukkan bahwa notasi matematis bukan sekadar singkatan praktis, tetapi juga membuat wawasan baru mudah ditemukan.

Meskipun Julia belum menggantikan Python, kontribusinya terhadap komputasi ilmiah tetap signifikan. Bahasa ini membuktikan bahwa masih ada ruang untuk inovasi di luar ekosistem yang sudah mapan. Para peneliti di institusi besar terus menggunakannya untuk tugas-tugas yang membutuhkan kombinasi kemudahan penulisan dan kecepatan eksekusi.

Lantas, apakah Julia benar-benar bisa memecahkan “two-language problem”? Saya tidak yakin—atau bahwa bahasa apa pun bisa. Masalah ini tidak hanya ada di komputasi ilmiah, tetapi di setiap domain perangkat lunak. Dalam game, mesin ditulis dalam C++ tetapi skripnya ditulis dalam Lua. Di backend server, ada beragam bahasa yang lebih mudah seperti Python, Ruby, dan JavaScript, tetapi ketika performa nyata dibutuhkan, pekerjaan dilakukan dalam Go atau Rust. Sebaliknya, upaya berani menggunakan Go atau Rust untuk pengembangan frontend telah gagal total.

Namun, bukan berarti kita akan terjebak selamanya. Mungkin suatu hari nanti, seseorang yang cerdas seperti Iverson akan menemukan cara untuk menjembatani kesenjangan ini untuk selamanya. Ketika itu terjadi, pastikan untuk menyimak kuliah Turing mereka. Perkembangan bahasa pemrograman terus berlanjut, dan setiap inovasi membawa kita selangkah lebih dekat ke solusi yang lebih elegan.

Bagi pengembang dan peneliti di Indonesia, memahami posisi Julia dalam ekosistem pemrograman sangat penting. Bahasa ini bukanlah pengganti Python, melainkan alat khusus yang unggul di area tertentu. Jika Anda bekerja di komputasi ilmiah kelas berat, Julia layak dipertimbangkan. Namun, untuk pengembangan umum dan pembelajaran mesin mainstream, Python masih menjadi pilihan yang lebih aman dengan ekosistem yang jauh lebih matang.

Julia mengajarkan kita bahwa tidak setiap bahasa harus menjadi bahasa dominan. Terkadang, menjadi bahasa yang dicintai di ceruk kecil sudah merupakan pencapaian yang luar biasa. Seperti yang dikatakan oleh Alfred North Whitehead, “Dengan membebaskan otak dari semua pekerjaan yang tidak perlu, notasi yang baik membebaskannya untuk berkonsentrasi pada masalah yang lebih maju.” Julia adalah contoh nyata dari prinsip tersebut, meskipun ia belum mencapai ambisi awalnya untuk menyatukan dua dunia pemrograman.

Ikuti Telset.id di Google NewsFollow

Komentar

Belum ada komentar.