Julia (bahasa pemrograman)

bahasa pemrograman dinamis berperforma tinggi
Revisi sejak 3 Desember 2024 02.50 oleh NikolasKHF (bicara | kontrib) (Dibuat dengan menerjemahkan halaman "Julia (programming language)")
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

Julia adalah bahasa pemrograman tingkat tinggi, tujuan umum, dan dinamis.[1] Bahasa pemrograman ini didesain agar cepat dan produktif,[2] dan digunakan untuk ilmu data, kecerdasan buatan, pemelajaran mesin, modeling dan simulasi, dan biasanya digunakan dalam analisis numerik dan ilmu komputasi.[3][4][5]

Aspek yang membedakan Julia adalah sistem tipe dengan polimorfisme parametrik dan penggunaan pengiriman ganda sebagai paradigma pemrograman utama. Selain itu, Julia juga menggunakan kompilator just-in-time (JIT)[1][6], dukungan kompilasi sebelumnya[7][8][9] dan pengumpulan sampah yang efisien.[10] Julia juga tidak mendukung kelas dengan metode terwadahi dan mengandalkan structs dengan fungsi atau metode umum yang tidak terikat pada struktur tersebut.

Secara bawaan, Julia berjalan seperti bahasa scripting, menggunakan waktu eksekusinya dan memperbolehkan interaksi.[7] Namun, program atau kode sumber Julia dapat juga secara opsional dikirim ke pengguna dalam satu berkas yang siap dijalankan, tanpa perlu apa pun untuk dipasang di komputer pengguna.[11] Program Julia juga dapat dikompilasi secara terpisah menjadi program yang dapat dieksekusi, tanpa perlu distribusi kode sumber. Kompilasi tersebut tidak dibutuhkan untuk kecepatan eksekusi, tapi dapat mengurangi biaya eksekusi awal. Hal ini karena program Julia juga dikompilasi ketika dijalankan secara interaktif.

Program Julia dapat menggunakan kembali pustaka dari bahasa lain, seperti C atau Rust, dengan cara memanggilnya. Selain itu, pustaka Julia juga dapat dipanggil melalui bahasa lain, seperti Python dan R, dengan beberapa paket Julia telah dibuat dalam bentuk pustaka dalam bahasa tersebut. Pemanggilan pustaka dalam dua arah juga telah diimplementasikan dalam banyak bahasa, termasuk C++.

Referensi

  1. ^ a b Fischer, Keno; Nash, Jameson (19 Februari 2019). "Growing a Compiler - Getting to Machine Learning from a General Purpose Compiler". Julia Hub. Diarsipkan dari versi asli tanggal 23 Februari 2024. Diakses tanggal 16 November 2022. 
  2. ^ "'Why We Created Julia' Turns Ten Years Old". JuliaHub. Diarsipkan dari versi asli tanggal 16 November 2022. Diakses tanggal 16 November 2022. 
  3. ^ Bryant, Avi (15 Oktober 2012). "Matlab, R, and Julia: Languages for data analysis". O'Reilly Strata. Diarsipkan dari versi asli tanggal 26 April 2014. 
  4. ^ Krill, Paul (18 April 2012). "New Julia language seeks to be the C for scientists". InfoWorld. Diarsipkan dari versi asli tanggal 13 September 2014. Diakses tanggal 4 Juli 2021. 
  5. ^ Finley, Klint (3 Februari 2014). "Out in the Open: Man Creates One Programming Language to Rule Them All". Wired. Diarsipkan dari versi asli tanggal 20 Desember 2016. Diakses tanggal 8 Maret 2017. 
  6. ^ "Sysimages · PackageCompiler". julialang.github.io. Diarsipkan dari versi asli tanggal 10 April 2023. Diakses tanggal 10 April 2023. 
  7. ^ a b "GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package". The Julia Language. 14 Februari 2019. Diarsipkan dari versi asli tanggal 23 Maret 2019. Diakses tanggal 15 Februari 2019. 
  8. ^ "julia/doc/src/devdocs/aot.md at master · JuliaLang/julia". GitHub (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 3 Oktober 2023. Diakses tanggal 3 Oktober 2023. 
  9. ^ "System Image Building · The Julia Language". docs.julialang.org. Diakses tanggal 3 Oktober 2023. 
  10. ^ "Suspending Garbage Collection for Performance...good idea or bad idea?". (Web link).
  11. ^ "AppBundler.jl". PeaceFounder. 13 Desember 2023. Diarsipkan dari versi asli tanggal 18 Desember 2023. Diakses tanggal 18 Desember 2023. 

Bacaan lebih lanjut

Pranala luar