Bulan Juli telah tiba. Mungkin di bulan ini kita akan sibuk mengucapkan ulang tahun kepada teman yang bernama Yuli, Yulia, Julia, atau Yulianto. Omong-omong tentang Julia, ada bahasa pemrograman dengan nama tersebut dan bisa dibilang masih lucu-lucunya karena belum genap berumur setahun sejak stable release versi 1.0 pada Agustus 2018. Yup! Secara de facto Julia lahir di bulan Agustus. Mungkin seharusnya para kreator Julia mulai memikirkan untuk mengganti nama Julia menjadi Agus.

Julia merupakan bahasa pemrograman umum (general purpose) level atas (high level) yang dikembangkan oleh tim dari MIT (Massachusetts Institutes of Technology). Walaupun belum genap setahun, komunitas Julia berkembang secara eksponensial. Pada Januari 2019 saja, Julia telah mencapai 3,2 juta unduhan dan lebih dari 1 juta Docker image dari Julia tersebar di seantero dunia.

 

Latar Belakang Diciptakannya Julia

Julia lahir dari tangan Jeff Bezanson, Stefan Karpinski, Viral B. Shah, dan Alan Edelman. Mereka adalah para ilmuwan komputer di MIT yang memiliki cita-cita menciptakan bahasa pemrograman high-level tapi dengan performa yang cepat untuk siapa saja. Pada tahun 2012, mereka merilis website untuk memberi kabar kepada dunia tentang misi mereka kepada dunia. Julia sendiri sudah rilis di tahun yang sama semenjak para kreator merilis website-nya tapi versi yang dirilis pada saat itu masih merupakan versi alfa dan beta. Sintaks pada versi sebelum versi 1.0 masih sering berubah-ubah sehingga jauh dari kata stabil.

Jika ditanya kenapa memilih nama ‘Julia’, para kreator tersebut hanya memberikan jawaban diplomatis, “Tak ada alasan khusus dalam memberi nama. Kami hanya menerima usulan dari teman kami dan menurut kami itu nama yang cantik.” 

Julia lahir karena para kreator ingin memecahkan masalah klasik yang dialami oleh para programmer. Saat memilih bahasa pemrograman, para programmer selalu dihadapkan pada situasi di mana mereka harus memilih salah satu saja antara performa yang dimiliki oleh bahasa pemrograman low-level atau kemudahan yang ditawarkan oleh bahasa pemrograman high-level.

Edelmen melakukan pengamatan yang dilakukan di organisasi besar bahwa seringkali pengembangan software dilakukan dengan menggunakan bahasa pemrograman high-level di tahap awal kemudian organisasi tersebut kemudian merekrut tim lain untuk menulis ulang kode software-nya dengan bahasa pemrograman low level. Menurutnya, metode ini sangat tidak efektif karena harus memulai siklus baru. Itulah sebabnya dia dan teman-temannya menciptakan Julia.

 

Apa yang Membuat Julia Berbeda

Seperti yang telah dibahas sebelumnya, Julia adalah bahasa pemrograman high-level dengan performa yang dapat menyaingi bahasa pemrograman low level. Julia disebut-sebut sebagai bahasa pemrograman yang memiliki kecepatan seperti C dengan kemudahan seperti Python, dinamis seperti Ruby, kemampuan matematika yang hebat seperti MatLab, dan keahlian statistik seperti R. Memang janji ini terkesan sedikit utopis, akan tetapi dengan angka popularitas Julia yang naik dengan cepat agaknya sebagian besar janji ini berhasil ditepati. 

Julia memang bahasa pemrograman yang dapat digunakan untuk keperluan apapun, akan tetapi para kreator dari Julia mengatakan bahwa Julia lebih menyasar ilmuwan. Dengan performanya yang tinggi, Julia diharapkan dapat membantu para ilmuwan untuk melakukan analitik big data, melakukan penelitian yang memiliki komputasi tinggi untuk penelitian ilmiah, serta simulasi desain rekayasa.

Sama seperti Python dan JavaScript yang populer belakangan ini, Julia merupakan bahasa pemrograman multi-paradigma yang berarti bisa digunakan untuk pemrograman object-oriented maupun pemrograman fungsional. Selain itu, bahasa pemrograman ini juga mendukung penggunaan multi-thread dan multi-core pada CPU secara built-in baik itu dalam sebuah chip ataupun dalam sebuah sistem yang memiliki banyak chip. Ke depannya para kreator dari Julia akan meningkatkan kemampuan Julia dalam menggunakan berbagai macam jenis core seperti Graphic Processing Unit (GPU) dan Tensor Processing Unit (TPU) milik Google. Tentu hal ini akan membantu performa Julia dalam pengembangan AI maupun visualisasi big data.

Core yang ada dalam Julia sendiri menggunakan bahasa C dan C++ dalam LLVM-nya. Yup! Feel dari Julia seperti scripting language yang menggunakan JIT compiler. Akan tetapi, Julia dapat juga di-compile ke berbagai kode natif bahasa pemrograman low-level.

 

Syntax Julia Mirip Dengan Python

Karakter syntax yang digunakan dalam Julia sangat sederhana dan memang dirancang untuk keperluan matematis. Hal ini tentu saja mengingatkan kita dengan bahasa pemrograman Python. Berikut beberapa contoh syntax yang digunakan dalam Julia:

 

1 + 1      # => 2
8 1      # => 7
10 * 2     # => 20
35 / 5     # => 7.0
10 / 2     # => 5.0  
div(5, 2# => 2    
5 \ 35     # => 7.0
2^2        # => 4
12 % 10    # => 2


# Contoh variabel
someVar = 5
if someVar > 10
    println(“someVar is totally bigger than 10.”)
elseif someVar < 10    # Klausa ini opsional
    println(“someVar is smaller than 10.”)
else                    # Klausa ini juga optional.
    println(“someVar is indeed 10.”)
end
# => Mengeluarkan “some var is smaller than 10”


# Membuat fungsi
function add(x, y)
    println(“x is $x and y is $y”)
    x + y
end
add(5, 6)
# => x is 5 and y is 6
# => 11

Untuk dokumentasi lebih lengkapnya,bisa dilihat di situs Julia Programming

 

***

Itulah tadi sekilas tentang bahasa pemrograman baru Julia. Kepopuleran Julia yang langsung meningkat drastis mungkin saja disebabkan oleh semakin umumnya pemakaian machine learning hampir di semua industri. Dengan fitur-fitur yang dimiliki dan yang sedang dikembangkan oleh Julia, bukan tidak mungkin jika Julia juga bisa digunakan untuk game development sehingga game dapat memanfaatkan pemrograman multi-threded secara efisien.

WhatsApp Chat via Whatsapp