Baru-baru ini saya membaca posting dari R-Blogger, yang terhubung dengan posting blog ini dari John Myles White tentang bahasa baru bernama Julia . Julia mengambil keuntungan dari kompiler just-in-time yang memberikannya waktu lari cepat jahat dan menempatkannya pada urutan yang sama besarnya kecepatan seperti C / C ++ ( urutan yang sama , tidak sama cepat). Selain itu, ia menggunakan mekanisme looping ortodoks yang kita kenal yang memulai pemrograman pada bahasa tradisional, alih-alih R menerapkan pernyataan dan operasi vektor.
R tidak akan pergi dengan cara apapun, bahkan dengan timing yang luar biasa dari Julia. Ini memiliki dukungan luas dalam industri, dan banyak paket bagus untuk melakukan apa saja.
Ketertarikan saya pada dasarnya adalah Bayesian, di mana vektorisasi seringkali tidak memungkinkan. Tentu saja tugas serial harus dilakukan menggunakan loop dan melibatkan perhitungan berat pada setiap iterasi. R bisa sangat lambat pada tugas-tugas pengulangan serial ini, dan C / ++ bukanlah jalan untuk menulis. Julia sepertinya merupakan alternatif yang bagus untuk menulis dalam C / ++, tetapi masih dalam masa pertumbuhan, dan tidak memiliki banyak fungsi yang saya sukai dari R. Ini hanya masuk akal untuk mempelajari Julia sebagai meja kerja statistik komputasi jika mendapat cukup dukungan dari komunitas statistik dan orang-orang mulai menulis paket yang bermanfaat untuknya.
Pertanyaan saya ikuti:
Fitur apa yang perlu dimiliki Julia agar memiliki daya pikat yang menjadikannya bahasa statistik de facto?
Apa kelebihan dan kekurangan dari belajar Julia untuk melakukan tugas-tugas yang berat secara komputasional, dibandingkan dengan belajar bahasa tingkat rendah seperti C / ++?
Jawaban:
Saya pikir kuncinya adalah apakah perpustakaan mulai dikembangkan atau tidak untuk Julia. Semuanya baik dan bagus untuk melihat contoh mainan (bahkan jika itu mainan rumit) yang menunjukkan bahwa Julia meniup R keluar dari air pada tugas-tugas R yang buruk.
Tapi loop yang dilakukan dengan buruk dan algoritma kode tangan tidak mengapa banyak orang yang saya tahu yang menggunakan R menggunakan R. Mereka menggunakannya karena untuk hampir semua tugas statistik di bawah matahari, seseorang telah menulis kode R untuk itu. R adalah bahasa pemrograman dan paket statistik - saat ini Julia adalah yang pertama.
Saya pikir mungkin untuk sampai di sana, tetapi ada banyak bahasa yang lebih mapan (Python) yang masih berjuang untuk menjadi alat statistik yang dapat digunakan.
sumber
pisum
(di github.com/JuliaLang/julia/blob/master/test/perf/perf.R ) membutuhkan waktu 7,76 detik sedangkan penulisan ulang sederhana menggunakan R idiomatik (replicate(500, sum((1 / (10000:1))^2))[500]
) membutuhkan 0,137 detik, lebih dari kecepatan 50 kali lipat.Saya setuju dengan banyak komentar lainnya. "Berharap"? Tentu. Saya pikir Julia telah belajar banyak dari apa yang R dan Python / NumPy / Pandas dan sistem lainnya telah melakukan yang benar dan salah selama bertahun-tahun. Jika saya lebih pintar daripada saya, dan ingin menulis bahasa pemrograman baru yang akan menjadi substrat untuk lingkungan pengembangan statistik di masa depan, itu akan sangat mirip dengan Julia.
Ini mengatakan, itu akan menjadi 5 tahun sebelum pertanyaan ini bisa dijawab di belakang. Sampai sekarang, Julia tidak memiliki aspek kritis berikut dari sistem pemrograman statistik yang dapat bersaing dengan R untuk pengguna sehari-hari:
(daftar diperbarui dari waktu ke waktu ...)
Untuk bersaing dengan R, Julia dan paket statistik tambahan harus cukup bersih dan cukup lengkap sehingga non-programmer yang pintar, kata mahasiswa pascasarjana dalam ilmu sosial, dapat menggunakannya secara wajar. Ada banyak pekerjaan untuk sampai ke sana. Mungkin itu akan terjadi, mungkin akan gagal, mungkin sesuatu yang lain (R 3.0?) Akan menggantikannya.
Memperbarui:
Julia sekarang mendukung DataFrames dengan data / NAs yang hilang, modul / ruang nama,
formula
jenis danmodel.matrix
infrastruktur, merencanakan (sorta), dukungan basis data (tetapi belum ke DataFrames), dan menyampaikan argumen dengan kata kunci. Sekarang juga ada IDE (Julia Studio), dukungan Windows, beberapa tes statistik, dan beberapa dukungan tanggal / waktu.sumber
literate programming/reproduce-able analysis support
-> lihat IJulia .Bagi saya, satu hal yang sangat penting untuk bahasa analisis data adalah memiliki fungsi aljabar kueri / relasional dengan default yang wajar dan desain yang berorientasi interaktif, dan idealnya ini harus menjadi bahasa yang terintegrasi. IMO, tidak ada bahasa FOSS yang saya gunakan melakukan ini secara efektif, bahkan R.
data.frame sangat kikuk untuk bekerja secara interaktif - misalnya, ia mencetak seluruh struktur data saat pemanggilan, $ sintaks sulit untuk bekerja secara programatik, kueri membutuhkan referensi diri yang berlebihan (mis.
DF[DF$x < 10]
), gabungan dan agregasi adalah canggung. Data.table memecahkan sebagian besar gangguan ini, tetapi karena ini bukan bagian dari implementasi inti, sebagian besar kode R tidak menggunakan fasilitasnya.Panda dalam python menderita kesalahan yang sama.
Keluhan-keluhan ini mungkin kelihatan seperti rewel, tetapi kesalahan ini menumpuk dan pada akhirnya signifikan secara agregat karena akhirnya menghabiskan banyak waktu.
Saya percaya jika Julia ingin berhasil sebagai lingkungan analisis data, upaya harus dikhususkan untuk mengimplementasikan operator tipe SQL (tanpa bagasi sintaks SQL) pada tipe data tabel ramah pengguna.
sumber
Saya bisa masuk di bawah apa yang Dirk dan EpiGrad katakan; namun ada satu hal lagi yang membuat R menjadi bahasa yang unik dalam ceruknya - sistem tipe berorientasi data.
R's dirancang khusus untuk menangani data, itu sebabnya ia berpusat pada vektor dan memiliki hal-hal seperti data.frame, faktor, NAs, dan atribut.
Sedangkan tipe Julia berorientasi pada kinerja numerik, sehingga kami memiliki skalar, mode penyimpanan, serikat pekerja dan struct yang jelas.
Ini mungkin terlihat jinak, tetapi semua orang yang pernah mencoba melakukan statistik dengan MATLAB tahu bahwa itu sangat menyakitkan.
Jadi, setidaknya bagi saya, Julia tidak dapat menawarkan apa pun yang tidak dapat saya perbaiki dengan beberapa baris C dan membunuh banyak ekspresi yang sangat berguna.
sumber
data.frame
fasilitas seperti di Python telah lama mengganggu saya, tetapi sekarang Pandas tampaknya telah menyelesaikan masalah ini. Formula adalah beberapa ekstensi yang direncanakan dari statsmodels (well, kita tahu bahwa kadang-kadang lebih baik untuk menghindari antarmuka rumus di R). Ada proposal data.frame untuk Julia (cukup cepat dibandingkan dengan Python!), (...)Saya bisa melihat Julia menggantikan Matlab, yang akan menjadi layanan besar bagi kemanusiaan.
Untuk mengganti R, Anda harus mempertimbangkan semua hal yang telah disebutkan Neil G, Harlan, dan lainnya, plus satu faktor besar yang saya tidak percaya telah ditangani: instalasi mudah aplikasi dan perpustakaannya.
Saat ini, Anda dapat mengunduh biner R untuk Mac, Windows, atau Linux. Ini bekerja di luar kotak dengan banyak pilihan metode statistik. Jika Anda ingin mengunduh paket, ini adalah perintah sederhana atau klik mouse. Itu hanya bekerja.
Saya pergi untuk mengunduh Julia dan itu tidak sederhana. Bahkan jika Anda mengunduh biner, Anda harus menginstal gfortran untuk mendapatkan perpustakaan yang tepat. Saya mengunduh sumber dan mencoba
make
dan gagal tanpa pesan yang sangat berguna. Saya memiliki gelar sarjana dan pascasarjana dalam ilmu komputer, jadi saya bisa melihat-lihat dan membuatnya bekerja jika saya memang cenderung. (Aku tidak.) Akankah Joe ahli statistik melakukan itu?R tidak hanya memiliki banyak pilihan paket, ia memiliki sistem yang cukup canggih yang membuat biner aplikasi dan hampir semua paket, secara otomatis. Jika, karena alasan tertentu, Anda perlu mengkompilasi paket dari sumber, itu tidak terlalu sulit (selama Anda memiliki kompiler yang sesuai, dll, diinstal pada sistem Anda). Anda tidak dapat mengabaikan infrastruktur ini, melakukan semuanya melalui github, dan berharap adopsi luas.
EDIT: Saya ingin bermain-main dengan Julia - itu terlihat menarik. Dua masalah:
1) Ketika saya mencoba menginstal paket tambahan (lupakan apa yang mereka sebut dalam Julia), gagal dengan kesalahan yang tidak jelas. Jelas Mac saya tidak memiliki alat make-like yang mereka harapkan. Tidak hanya gagal, tetapi juga meninggalkan hal-hal yang harus saya hapus secara manual atau instalasi lain akan gagal.
2) Mereka memaksa spasi tertentu dalam satu baris kode. Saya tidak memiliki detail di depan saya, tetapi itu ada hubungannya dengan makro dan tidak memiliki ruang antara makro dan tanda kurung membuka argumennya. Pembatasan semacam itu benar-benar mengganggu saya, karena saya telah mengembangkan pemformatan kode saya selama bertahun-tahun dan bahasa dan saya benar-benar menempatkan spasi antara fungsi / nama makro dan tanda kurung buka. Beberapa batasan pemformatan kode saya mengerti, tetapi spasi dalam satu baris?
sumber
Bahasa Julia cukup baru; waktunya di titik terang dapat diukur dalam beberapa minggu (meskipun waktu pengembangannya tentu saja dapat diukur dalam tahun). Sekarang minggu-minggu dalam sorotan adalah minggu yang sangat menarik --- lihat misalnya pembicaraan baru-baru ini di Stanford di mana "baru saja dimulai" --- tetapi apa yang Anda minta dalam hal infrastruktur yang lebih luas dan dukungan paket akan membutuhkan waktu lebih lama untuk mewujudkan.
Jadi saya akan tetap menggunakan R, dan berhati-hati dengan pengembangan alternatif. Tahun lalu banyak orang pergi ke Clojure; tahun ini Julia adalah citarasa baru yang berkuasa. Kami akan melihat apakah itu menempel.
sumber
Bruce Tate di sini, penulis Seven Languages in Seven Weeks. Berikut ini beberapa pemikiran. Saya sedang mengerjakan Julia untuk buku lanjutannya. Berikut ini hanya pendapat saya setelah beberapa minggu bermain.
Ada dua kekuatan mendasar yang berperan. Pertama, semua bahasa memiliki umur pakai. R akan diganti suatu hari nanti. Kami tidak tahu kapan. Bahasa baru memiliki waktu yang sangat sulit untuk berkembang. Ketika suatu bahasa baru berkembang, ia biasanya memecahkan beberapa titik rasa sakit yang luar biasa.
Dua hal ini saling berkaitan. Bagi saya, kami mulai melihat tema yang terbentuk di sekitar bahasa seperti R. Itu tidak cukup cepat, dan itu lebih sulit daripada yang seharusnya. Mereka yang dapat hidup di dalam amplop kinerja tertentu dan tetap berada di perpustakaan yang didirikan baik-baik saja. Mereka yang tidak dapat membutuhkan lebih banyak, dan mereka mulai mencari lebih banyak.
Masalahnya, arsitektur komputer berubah, dan untuk memanfaatkannya, bahasa dan konstruksinya perlu dibangun dengan cara tertentu. Pandangan Julia tentang konkurensi itu menarik. Ini mengoptimalkan hal yang tepat untuk bahasa seperti itu: distribusi yang transparan dan pergerakan data yang efisien antar proses. Ketika saya menggunakan Julia untuk tugas-tugas umum, peta dan transformasi dan sejenisnya, saya hanya memanggil fungsi. Saya tidak perlu khawatir tentang pipa ledeng.
Bagi saya, fakta bahwa Julia lebih cepat pada satu prosesor itu menarik, tetapi tidak terlalu membebani R. Hal yang menarik bagi saya adalah bahwa karena prosesor semakin bergantung pada multicore untuk kinerja, masalah komputasi teknis hampir diposisikan secara ideal. untuk mengambil keuntungan sebaik mungkin, mengingat bahasa yang tepat.
Fitur lain yang akan membantu hal itu adalah makro. Kecepatan bahasa hanya intens sekarang. Makro memungkinkan Anda membangun dengan blok bangunan yang lebih besar dan lebih bersih. Melihat perpustakaan itu menarik tetapi tidak menceritakan keseluruhan gambar. Anda perlu melihat pertumbuhan perpustakaan. Lintasan Julia cukup tepat di sini.
Clojure menarik bagi sebagian orang karena tidak ada bahasa teknis yang melakukan apa yang dapat dilakukan R, jadi beberapa orang mencari bahasa tujuan umum untuk mengisi kekosongan itu. Saya sebenarnya penggemar berat. Tapi Clojure adalah otak yang cukup serius. Clojure akan ada di sana untuk programmer yang perlu melakukan komputasi teknis. Bukan untuk insinyur dan ilmuwan. Terlalu banyak yang harus dipelajari.
Jadi bagi saya, Julia atau sesuatu seperti itu akan benar-benar menggantikan R suatu hari nanti. Ini masalah waktu.
sumber
Setiap kali saya melihat bahasa baru, saya bertanya pada diri sendiri mengapa bahasa yang ada tidak dapat ditingkatkan.
Keuntungan besar Python adalah
Untuk menyalip R, Julia, dll., Python bisa digunakan
sumber
y = 3x+2
dalam Julia dan itu berhasil!Julia tidak akan segera mengambil alih R. Periksa Microsoft R open.
https://mran.revolutionanalytics.com/open/
Ini adalah versi R yang disempurnakan yang secara otomatis menggunakan semua inti komputer Anda. Ini adalah R yang sama, bahasa yang sama, paket yang sama. Saat Anda menginstalnya, RStudio juga akan menggunakannya di konsol. Kecepatan MRO bahkan lebih cepat dari Julia. Saya melakukan banyak komputasi tugas berat dan telah menggunakan Julia lebih dari setahun. Saya beralih ke R baru-baru ini karena R memiliki dukungan yang lebih baik dan RStudio adalah editor yang luar biasa. Julia masih dalam tahap awal dan mungkin tidak mengejar Python atau R segera.
sumber
Berikut ini mungkin tidak pantas menjadi jawaban, tetapi terlalu penting untuk dimakamkan sebagai komentar atas tanggapan orang lain ...
Saya belum banyak mendengar tentang konsumsi memori, hanya kecepatan. Seluruh semantik R yang dilewati-oleh-nilai bisa menyakitkan, dan ini telah menjadi salah satu kritik terhadap bahasa (yang merupakan masalah terpisah dari berapa banyak paket hebat yang sudah ada). Manajemen memori yang baik adalah penting, karena memiliki cara untuk berurusan dengan pemrosesan di luar inti (misalnya, array atau pytable memori yang dipetakan numpy , atau format xdf dari Analytics Analytics). Sementara kompiler JIT PyPy memungkinkan beberapa tolok ukur Python yang mencolok, konsumsi memori bisa sangat tinggi. Jadi, apakah ada yang punya pengalaman dengan Julia dan penggunaan memori? Kedengarannya seperti ada kebocoran memori pada versi "alpha" Windows yang tidak diragukan lagi akan diatasi, dan saya masih menunggu akses ke kotak Linux untuk bermain dengan bahasa sendiri.
sumber
Saya pikir tidak mungkin Julia menggantikan R, karena banyak alasan yang disebutkan sebelumnya. Julia adalah pengganti Matlab, bukan pengganti R; mereka memiliki tujuan yang berbeda. Bahkan setelah Julia memiliki perpustakaan statistik yang lengkap, tidak ada yang akan mengajar kelas Intro ke Statistik di dalamnya.
Namun, area di mana itu bisa luar biasa adalah sebagai bahasa pemrograman kecepatan-dioptimalkan yang kurang menyakitkan daripada C / C ++. Jika itu ditautkan dengan mulus ke R (dalam gaya Rcpp), maka itu akan melihat satu ton digunakan dalam menulis segmen kode kritis-cepat. Sayangnya tidak ada tautan seperti itu saat ini:
https://stackoverflow.com/questions/9965747/linking-r-and-julia
sumber
Saya seorang pemula Julia, dan saya kompeten. Alasan saya menemukan Julia menarik sejauh ini adalah kinerja dan kompatibilitas.
Alat GPU. Saya ingin menggunakan CUSPARSE untuk aplikasi statistik. Hasil CRAN menunjukkan tidak banyak di luar sana. Julia memiliki binding yang tampaknya berfungsi dengan baik sejauh ini.
Alat HPC. Seseorang dapat menggunakan sebuah cluster secara interaktif dengan beberapa node komputasi.
Kompatibilitas python. Ada akses ke ekosistem python. Misalnya, sangat mudah untuk mengetahui cara membaca data pencitraan otak:
Kompatibilitas C. Berikut ini menghasilkan integer acak menggunakan pustaka standar C.
Kecepatan. Pikir saya akan melihat bagaimana paket Distributions.jl dilakukan terhadap R'sorm - yang saya anggap dioptimalkan.
Dalam R:
sumber
Julia 1.0 baru saja keluar dengan IDE yang sangat bermanfaat (Juno). Itu keluar agak terlambat ke pesta karena Python telah mendominasi Machine Learning, sementara R terus mendominasi setiap jenis analisis statistik lainnya. Yang sedang berkata, Julia sudah naik ke menonjol di bidang keuangan dan algoritma perdagangan sebagai waktu pengembangan yang cepat DAN eksekusi adalah suatu keharusan. Menurut pendapat saya, kecuali ada bahasa lain yang jauh lebih baik, kenaikan Julia untuk menonjol mungkin akan terlihat seperti ini:
(1) Mulai makan siang MATLAB. Pengguna MATLAB menyukai sintaks MATLAB tetapi membenci hampir semua hal lainnya. Kelambatan, lisensi yang mahal, cara-cara yang sangat terbatas untuk menangani struktur data kompleks yang bukan matriks. Saya ingat satu kutipan di mana dikatakan bahwa "Jika Julia menggantikan MATLAB, itu akan menjadi layanan besar bagi kemanusiaan". Pengguna MATLAB dapat menjadi mahir dalam Julia dengan sangat cepat dan akan terkesan dengan kemudahannya untuk menulis kode kualitas yang jauh lebih banyak daripada apa yang dapat dilakukan MATLAB (Structs yang cepat yang dapat Anda masukkan ke dalam array dan dengan cepat diulang?). Tidak hanya itu, para peneliti dapat membuat kotak alat serius di Julia (sebuah tim kecil siswa Ph.D. menulis paket persamaan diferensial kelas dunia) yang tidak mungkin dilakukan dengan MATLAB.
(2) Mulai mengambil alih penelitian dalam metode numerik dan simulasi. MIT membuang berat badannya di belakang Julia, dan komunitas riset mendengarkan MIT. Simulasi numerik dan metode numerik baru adalah masalah yang tidak jelas yang tidak memiliki perpustakaan. Di sinilah Julia sebagai bahasa bersinar; jika tidak ada perpustakaan yang tersedia, jauh lebih mudah untuk menulis kode kualitas cepat di Julia daripada bahasa lain. Ini akan menjadi bahasa numerik / simulasi yang ditulis oleh ahli matematika untuk ahli matematika (suara mirip dengan R belum?)
(3) Terobosan lain dalam Pembelajaran Mesin terjadi yang memberi Julia keunggulan. Ini sedikit wildcard yang mungkin tidak terjadi. TensorFlow bagus, tetapi sangat sulit untuk diretas. Python sudah mulai menunjukkan celah-celah dan TensorFlow sudah mulai mengadopsi Swift (dengan Julia mendapatkan penghargaan terhormat). Jika terobosan pembelajaran mesin lain terjadi, akan lebih mudah untuk mengimplementasikan dan meretas paket Julia seperti Flux.jl.
(4) Julia mulai perlahan mengejar R, yang akan memakan waktu cukup lama. Melakukan statistik di MATLAB itu menyakitkan, tetapi Juila sudah jauh di depan dari MATLAB dengan Distributions.jl. Faktanya adalah, alur kerja R dapat dengan mudah diterjemahkan ke Julia. Satu-satunya keuntungan nyata yang dimiliki R adalah kenyataan bahwa ada begitu banyak paket yang ditulis oleh ahli statistik untuk ahli statistik. Namun proses ini, juga mudah dilakukan di Julia. Perbedaannya adalah bahwa Julia cepat sekali dan Anda tidak perlu menggunakan bahasa lain untuk kinerja (paket R yang lebih "serius" ditulis dalam bahasa seperti C). Masalah dengan R adalah paket yang ditulis dalam R terlalu lambat untuk menangani set data yang besar. Satu-satunya alternatif adalah menerjemahkan paket-paket ke dalam bahasa lain yang membuat pengembangan dalam R lebih lambat daripada Julia.
sumber
Saya tertarik dengan janji kecepatan yang lebih baik dan paralisis mudah menggunakan arsitektur yang berbeda. Untuk alasan itu saya pasti akan menonton pengembangan Julia tetapi saya tidak mungkin menggunakannya sampai dapat menangani model campuran linier umum, memiliki paket bootstrap generik yang baik, bahasa model sederhana untuk membangun desain matriks kemampuan setara dengan ggplot2 dan berbagai macam dari algoritma pembelajaran mesin.
Tidak ada ahli statistik yang mampu memiliki sikap fundamentalis terhadap pilihan alat. Kami akan menggunakan apa pun yang memungkinkan kami menyelesaikan pekerjaan dengan paling efisien. Dugaan saya adalah saya akan bertahan dengan R untuk beberapa tahun lagi, tetapi tetapi akan menyenangkan untuk terkejut.
sumber
Kemewahan NA di R tidak datang tanpa penalti kinerja. Jika Julia mendukung NA dengan penalti kinerja yang lebih kecil maka itu menjadi menarik bagi segmen komunitas statistik, tetapi NA juga memaksakan kerja ekstra yang cukup besar ketika menggunakan kode yang dikompilasi dengan R.
Banyak paket di R mengandalkan rutin yang ditulis dalam bahasa lawas (C, Fortran, atau C ++). Dalam beberapa kasus, rutin yang dikompilasi dikembangkan di luar R dan kemudian digunakan sebagai dasar untuk paket R library. Di tempat lain rutinitas pertama kali diimplementasikan dalam R dan kemudian segmen-segmen penting diterjemahkan ke bahasa yang dikompilasi ketika kinerja ditemukan kurang. Julia akan menarik jika dapat digunakan untuk menerapkan rutinitas yang setara. Ada peluang untuk merancang dukungan tingkat rendah untuk NA dengan cara yang menyederhanakan penanganan NA atas apa yang kita miliki saat menggunakan R dengan kode yang dikompilasi.
Sejumlah besar perpustakaan R mewakili upaya banyak pengguna. Ini dimungkinkan karena R memberikan kemampuan yang tidak tersedia / terjangkau. Jika Julia digunakan secara luas, diperlukan sekelompok pengguna yang menemukannya melakukan apa yang mereka butuhkan jauh lebih baik daripada alternatif yang sepadan dengan upaya yang diperlukan untuk memasok hal-hal yang sangat mendasar (misalnya, grafik, kelas tanggal, NA, dll.) ) tersedia dari bahasa yang ada.
sumber
Saya akan berada di depan, saya tidak punya pengalaman dengan R, tetapi saya bekerja dengan banyak orang yang berpikir itu adalah alat yang sangat baik untuk analisis statistik. Latar belakang saya ada di pergudangan data, dan karena model pemrograman Julia yang lebih mudah didistribusikan, tetapi lebih standar, saya pikir itu bisa menjadi pengganti yang sangat menarik untuk bagian transformasi alat ETL tradisional yang umumnya melakukan pekerjaan dengan sangat buruk, sebagian besar tidak memiliki cara untuk melakukannya. dengan mudah membuat transformasi standar, atau menggunakan kembali hasil transformasi yang sudah dilakukan pada set data sebelumnya. Dukungan untuk tupel yang didefinisikan dan diketik dengan ketat menonjol, jika saya ingin membangun kubus OLAP yang pada dasarnya perlu membuat tupel (tabel fakta) yang lebih terperinci dari tupel yang telah dihitung, alat ETL saat ini tidak memiliki 'blok bangunan' untuk berbicara tentang itu bisa membantu, industri ini telah mengatasi masalah ini melalui berbagai cara di masa lalu, tetapi ada trade-off. Bahasa pemrograman tradisional dapat membantu dengan menyediakan transformasi yang ditentukan secara terpusat, dan Julia berpotensi menyederhanakan agregasi dan distribusi non-standar yang umum dalam sistem data warehouse yang lebih kompleks.
sumber
Anda juga bisa menggunakan Julia dan R bersamaan. Ada antarmuka Julia-to-R . Dengan paket ini, Anda dapat bermain dengan Julia sambil menelepon R setiap kali memiliki perpustakaan yang dibutuhkan.
sumber
Julia tanpa ragu setiap kesempatan menjadi statistik kekuatan-pengguna mimpi menjadi kenyataan, ambil SAS misalnya, kekuatannya terletak pada banyak procs yang ditulis dalam C - apa yang dapat dilakukan Julia adalah memberi Anda procs dengan kode sumber, dengan matriks sebagai built in dispensing tipe data dengan SAS / iml. Saya tidak ragu bahwa ahli statistik akan berbondong-bondong ke Julia begitu mereka mengetahui apa yang dapat dilakukan anak anjing ini.
sumber
Oh ya, Julia akan menyusul R dengan cukup cepat. Dan alasan utama akan menjadi "makro", 95% dari bahasa diimplementasikan di Julia, dan sintaksinya yang pelit, bebas noise. Jika Anda belum memiliki pengalaman dengan jenis bahasa lisp, Anda mungkin belum memahaminya, tetapi Anda akan melihat dengan cepat bagaimana antarmuka rumus R akan menjadi mekanisme yang usang dan jelek, dan akan digantikan oleh pemodelan bahasa mikro khusus seperti CL lingkaran makro. Akses ke referensi tingkat rendah dari suatu objek juga merupakan nilai tambah yang besar. Saya pikir R masih tidak mendapatkan bahwa menyembunyikan internal dari pengguna sebenarnya menyulitkan daripada menyederhanakan hal-hal.
Seperti yang saya lihat sekarang (setelah bertahun-tahun menggunakan R di belakang, dan baru saja selesai membaca manual Julia), kelemahan utama Julia sehubungan dengan R adalah tidak ada dukungan untuk warisan struktural (ini disengaja). Sistem tipe Julia kurang ambisius daripada S4; ini juga mendukung pengiriman ganda dan pewarisan berganda, tetapi dengan tangkapan - hanya ada satu tingkat kelas beton. Di sisi lain saya jarang melihat hierarki kelas di R lebih dalam dari 3 level.
Waktu akan memberi tahu, tetapi itu akan lebih cepat daripada yang dipikirkan sebagian besar pengguna :)
sumber
Kasus penggunaan target pertama Julia adalah masalah numerik. Pada dasarnya, Anda dapat memecah bidang analisis dan ilmu komputasi ini menjadi ilmu data (data driven) dan ilmu simulasi (model driven). Julia berurusan dengan kasus penggunaan sains simulasi pertama. Mereka juga menangani kasus-kasus sains data, tetapi lebih lambat. R tidak akan pernah sangat berguna untuk ilmu simulasi, tetapi Julia akan sangat berguna untuk keduanya dalam beberapa tahun.
sumber
Itu harus dapat menerapkan fungsi apa pun ke kumpulan data besar yang tidak sesuai pada memori secara transparan bagi pengguna.
Itu termasuk setidaknya menjalankan model efek campuran, model bertahan hidup atau MCMC pada dataset yang sesuai pada disk tetapi tidak pada memori. Dan jika memungkinkan pada dataset yang didistribusikan di beberapa komputer.
sumber