Veri biliminin son derece yıkıcı dünyasında hiçbir şey kalıcı değildir. Her yeni araç ve yazılım ortaya çıktığında, mevcut teknolojik statükoyu zorlayabilir. Bu dinamik, özellikle programlama dillerinin dünyasında gözle görülür. Veri bilimi için oldukça uygun birçok programlama dili vardır. Veri alanı şu anda bir avuç çok popüler dille domine edilse de, daha yeni ve iddiaya göre daha güçlü diller ivme kazanıyor. En umut verici örneklerden biri Julia’dır.
İlk kez 2012’de yayımlanan Julia, veri biliminin yükselen yıldızlarından biri olarak görülebilir. Görece yeni olmasına rağmen, Julia yüksek performansı ve rakipsiz hesaplama hızıyla sayısal hesaplama dünyasını çoktan etkilemiştir. Yıllar içinde olgunlaşan Julia, bugün sıklıkla veri bilimi ve yapay zekânın “gelecek dilleri” arasında gösteriliyor.
Julia öğrenmeye başlamak için birçok güçlü neden var. Ancak, geçiş yolu bildiğiniz programlama dillerine bağlı olarak değişebilir. Çoğu makale ve kurs, MATLAB’dan veri biliminin en popüler iki dili olan Python ve R’a geçişe odaklanırken, diğer dillerden gelip Julia’ya ilerlemek isteyen kullanıcılar için de kaynak sağlamak önemlidir.
Bu makalenin amacı, MATLAB programcılarına Julia’yı tanıtmaktır. İki dil arasındaki fark ve benzerlikleri inceleyecek, veri analizi ve görselleştirme için MATLAB’den Julia’ya geçişe dair bazı ipuçları vereceğiz. Hadi başlayalım!
MATLAB ne için kullanılır?
MATLAB, özellikle sayısal hesaplama için tasarlanmış bir programlama dilidir. 1984’teki lansmanından bu yana MATLAB (“MATrix LABoratory”nin kısaltması), akademide ve bilimsel araştırmalarda yaygın şekilde benimsenmiştir. Nispeten eski olmasına rağmen hâlâ son derece popüler bir programlama dilidir. Ekim 2022’de hem PYPL Endeksi hem de TIOBE Endeksi’nde 14. sırada yer almıştır.
MATLAB dili, gelişmiş matematiksel ve istatistiksel işlemler de dahil olmak üzere üst düzey hesaplama görevlerinde mükemmeldir. Dil ayrıca çizim ve algoritma uygulama yeteneklerini de içerir; bu da onu veri bilimi için ideal bir aday yapar.
Ancak MATLAB’ın önemli bir dezavantajı da vardır: sahipli bir araçtır. Bu, kurumunuz size erişim vermiyorsa (akademide sıklıkla olduğu gibi), lisans almak için yüksek bir ücret ödemeniz gerekebileceği anlamına gelir. Ayrıca, kullanıcılar kaynak koduna erişemediğinden, MATLAB’ın bazı yeteneklerinin nasıl çalıştığını anlamak zor olabilir.
Bu faktörler, ücretsiz kullanabileceğiniz diğer programlama dillerine kıyasla MATLAB’ı daha az cazip kılabilir.
Julia ne için kullanılır?
Her yeniliğin arkasında, dönemin baskın teknolojilerini iyileştirme veya geride bırakma arzusu vardır. En güçlü programlama dillerinden bazılarından ilham alan Julia’nın arkasındaki itici güç de buydu. Dilin kurucuları Jeff Bezanson, Stefan Karpinski, Alan Edelman ve Viral B. Shah, Julia’yı neden yarattıklarını açıkladıkları bir yazıda şöyle diyorlar:
“Açık kaynak ve esnek lisanslı bir dil istiyoruz. C’nin hızını Ruby’nin dinamizmiyle istiyoruz. Homoikonik, Lisp gibi gerçek makrolara sahip, ama Matlab gibi bariz ve tanıdık matematiksel gösterime sahip bir dil istiyoruz. Genel programlama için Python kadar kullanılabilir, istatistik için R kadar kolay, metin işleme için Perl kadar doğal, lineer cebir için Matlab kadar güçlü, programları birbirine bağlamak için kabuk kadar iyi bir şey istiyoruz. Öğrenmesi son derece basit, ama en ciddi hacker’ları bile mutlu tutan bir dil. Etkileşimli olmasını ve derlenmiş olmasını istiyoruz.”
Bu seçmeci yaklaşımın, en iyi dillerin en iyilerini bir araya getirmesinden doğan benzersiz özellikleri sayesinde Julia hızla ivme kazanıyor.
İlk sürümünden bu yana Julia 40 milyondan fazla kez indirildi ve Julia topluluğu topluluk kullanımı için 8.000’in üzerinde Julia paketi kaydetti. Bunlar arasında çeşitli matematik kütüphaneleri, veri işleme araçları ve genel amaçlı hesaplama paketleri yer alır.
Diğer tüm diller arasındaki popülaritesine bakıldığında, Julia Ekim 2022 PYPL Endeksi’nde 25., TIOBE Endeksi’nde ise 27. sıradadır.
Julia, web geliştirme ve oyun geliştirme gibi birçok yazılım geliştirme görevinde kullanılabilen genel amaçlı bir programlama dilidir; ancak özellikle makine öğrenimi ve istatistiksel hesaplama için çok uygundur. Nitekim Julia meraklıları, veri bilimi için Python ve R’ın varisi olarak nitelendirmeyi sever.
Öyle olsa da, Julia’nın veri biliminin varsayılan dili olması için kat etmesi gereken yol var. Yolculuğa yeni başlayanların yine de önce Python ve R öğrenmek istemeleri muhtemeldir. Ancak mevcut programlama becerilerinize tamamlayıcı olarak Julia mükemmel bir seçim olabilir. Julia’nın ne için kullanıldığına dair daha fazla bilgiyi ayrı bir blog yazısında bulabilirsiniz.
MATLAB Kullanıcılarının Julia Hakkında Bilmesi Gerekenler
Julia’yı benimsemek için güçlü gerekçeler var. Bu bölümde, Julia’yı bu kadar güçlü kılan temel özelliklere yakından bakacak ve MATLAB kullanıcılarının Julia’ya geçişi için neden ideal bir aday olduğunu ele alacağız.
MATLAB ve Julia Hızı
Julia, teknik ve bilimsel kullanıcılar düşünülerek tasarlanmıştır. İş problemlerini çözmek ve karar almayı desteklemek için veri profesyonelleri sıklıkla büyük veri kümeleri ve makine öğrenimi algoritmaları ile yapay sinir ağları gibi karmaşık tekniklerle uğraşmak zorunda kalır.
Bu faaliyetler yalnızca önemli hesaplama kaynakları gerektirmez; aynı zamanda kodu bilgisayarda çok hızlı çalıştırabilen bir programlama dili gerektirir ki, veri profesyonelleri sonuçları için uzun süre beklemesin.
Ancak doğru programlama dilini seçmek zor olabilir. Çoğu programlama dili, performans ile kod okunabilirliği arasında bir ödünleşimle karşı karşıyadır.
Geleneksel olarak, yüksek performanslı dillerin kullanımı daha zordur ve tersi de geçerlidir. Örneğin MATLAB ve Python gibi popüler “yüksek seviyeli” diller, esneklik ve yüksek okunabilirlik uğruna hızdan feragat ederken; C, C++ ve Fortran gibi diller çok hızlı olmalarıyla bilinir, fakat söz dizimleri oldukça karmaşıktır.
Bu da geliştiricilerin bu tür dillerle kod yazmak için daha fazla zamana ve sıklıkla daha fazla programlama deneyimine ihtiyaç duyduğu anlamına gelir.
Tam burada Julia devreye girer. Julia, program yazmayı nispeten kolay ve hızlı kılacak şekilde tasarlanmış, aynı zamanda kodu ve hesaplamaları da çok hızlı çalıştıran bir dildir. C benzeri performansıyla Julia, tarihin en hızlı dillerinden biridir. İki dilin performansını karşılaştırdığımızda MATLAB, Julia’dan belirgin ölçüde daha yavaştır.
Julia’nın rakipsiz performansını örneklemek için aşağıdaki tabloda, verilen bir vektörden matris oluşturmak üzere for döngüsü çalıştırırken Julia ve MATLAB’ın nasıl performans gösterdiğine dair bir kıyaslama bulabilirsiniz. Kıyas testi hakkında daha fazla ayrıntı için şu makaleye bakabilirsiniz.
|
N |
Julia (tek iş parçacığı) |
Julia (çok iş parçacığı) |
MATLAB (tek iş parçacığı) |
MATLAB (çok iş parçacığı) |
|
1000 |
0.035s |
0.007s |
0.067s |
0.0367s |
|
2000 |
0.126s |
0.031s |
0.255s |
0.034s |
|
3000 |
0.289s |
0.062s |
0.543s |
0.073s |
|
4000 |
0.554s |
0.116s |
0.965s |
0.123s |
|
5000 |
0.831s |
0.215s |
1.510s |
0.189s |
|
6000 |
1.108s |
0.274s |
2.161s |
0.268s |
|
7000 |
1.489s |
0.304s |
2.936s |
0.364s |
|
8000 |
1.948s |
0.402s |
3.830s |
0.478s |
|
9000 |
2.460s |
0.505s |
4.847s |
0.610s |
|
10000 |
3.039s |
0.616s |
5.977s |
0.753s |
MATLAB ve Julia Sözdizimi
Önceki bölümde belirtildiği gibi, Julia performans ve okunabilirlik tartışmasını bitirdi. Dilin sözdizimi İngilizceye benzer okunur ve dinamik tiplidir; bu da onu MATLAB veya Python kadar öğrenmesi ve yazması kolay kılar; fakat derlenen bir dil olduğu için C veya Fortran gibi statik tiplendirilmiş diller kadar hızlı olmayı başarır.
Ayrıca şunu da ekleyelim: MATLAB’dan Julia’ya geçmeyi düşünüyorsanız güzel bir haber var: Sözdizimi açısından konuşursak, iki dil birbirine epey benzer. Bu şaşırtıcı değildir; nihayetinde MATLAB, Julia’nın kurucuları için başlıca ilham kaynaklarından biri olmuştur.
İşte MATLAB ve Julia’da temel işlemlere bazı örnekler:
For döngüleri
% for loop in MATLAB
for i = 1:N
% do something
end
# for loop in Julia
for i in 1:N
# do something
end
If / else deyimleri
% if/else in MATLAB
if i <= N
% do something
else
% do something else
end
# if/else in Julia
if i <= N
# do something
else
# do something else
end
UDF fonksiyonları
% function in MATLAB
function out = f(x)
out = x^2
end
# function in Julia
function f(x)
return x^2
end
Benzerliklere rağmen, Julia’nın bir MATLAB klonu olmadığını belirtmek gerekir. Hâlâ önemli sözdizimsel ve işlevsel farklılıklar vardır. Bir sonraki bölümde MATLAB ve Julia arasındaki benzerlik ve farkların bir kısmını ele alıyoruz.
Julia ve MATLAB: Karşılaştırma
Aşağıda Julia ve MATLAB arasındaki farklara dair bir tablo bulabilirsiniz:
|
Julia |
MATLAB |
|
|
Amaç |
Hesaplamalı bilim, veri analizi ve Yapay Zekâ odaklı bir dildir |
Veri analizi ve matematiksel hesaplama için kullanılan bir dil ve bilimsel platformdur |
|
Dil Türü |
Yüksek seviyeli, genel amaçlı, derlenen ve dinamik bir dildir |
Yüksek seviyeli, alan-odaklı, yorumlanan ve dinamik bir dildir |
|
Açık Kaynak mı? |
Evet |
Hayır |
|
Çıkış Tarihi |
2012 |
1984 |
|
Hangi Dille Yazıldı |
C, C++ ve Julia’nın kendisi |
C, C++, Java ve MATLAB’ın kendisi |
|
Kimler Kullanıyor |
Ağırlıklı olarak veri bilimciler ve diğer veri profesyonelleri |
Dünya genelinde mühendisler, bilim insanları, akademisyenler ve veri profesyonelleri |
|
Ekosistem |
8.000+ kayıtlı paket |
Ağırlıklı olarak yerleşik ve özel kütüphaneler |
|
Öğrenme Kolaylığı |
Julia, İngilizce benzeri sözdizimine sahip basit bir dildir. |
MATLAB öğrenmesi kolay bir dildir. |
|
Dosya uzantısı |
Kaydedilen dosyanın uzantısı ‘datacamp.jl’dir. |
Kaydedilen dosyanın uzantısı ‘datacamp.m’dir. |
|
Avantajlar |
|
|
|
Dezavantajlar |
|
|
|
Trendler |
PYPL Endeksi ve TIOBE Endeksi’nde sırasıyla 25. ve 27. sıra (Ekim 2022) |
PYPL Endeksi ve TIOBE Endeksi’nde 14. sıra (Ekim 2022) |
MATLAB’den Julia’ya İlerleme
Hazır mısınız? MATLAB’den Julia’ya ilerlerken yardımcı olacak bazı adımlar şunlardır:
Julia’nın Temellerini Öğrenin
Yeni bir programlama dilini öğrenmenin en iyi yolu kod yazmaktır. Julia ile başlangıç yapmak için pek çok kaynak var, ancak özellikle Julia’ya Giriş Kursumuza göz atmanızı öneririz.
Julia’ya yeni başlayanlar ve daha genel olarak veri bilimi alanındaki yeni başlayanlar için geliştirilen kurs, dilin en temel öğeleriyle başlar ve kademeli olarak daha ayrıntılı unsurlara ilerler. Kurs sonunda Julia’da kod yazmaya aşina olacak; veri tipleri ve yapıları, fonksiyonlar ve paketler ile tablo verilerle çalışmak için DataFrames kullanımının temellerini anlayacaksınız.
Ayrıca başlangıç seviyesindeki Julia eğitimimizi ve kullanışlı Julia el kartımızı da bulabilirsiniz.
Veri Projelerinizde Julia Kullanın
Bilginizi pekiştirmenin ve Julia ile temel düzeyde uygulamalı deneyim kazanmanın harika bir yolu, sevdiğiniz veri projelerinde bu dili kullanmaktır. Julia’yı kendi projelerinizde kullanmak, Julia’nın tüm potansiyelini keşfetmenize yardımcı olur ve etkileyici bir veri bilimi portföyü oluşturmanıza katkı sağlar.
Profesyonel Projelerinizde Julia Kullanın
Julia’ya aşina olduktan sonra, onu günlük işlerinizde kullanmanın zamanı gelmiştir. Julia’nın yüksek performans ve okunabilirliği birleştirmesi, profesyonel ortamlarda oyunun kurallarını değiştirebilir. İlaç modellemeden uzay görevleri planlamaya kadar, bugün her türden sektörde profesyoneller Julia programlamayı kullanıyor. Uygulamalarınızı ve veri bilimi görevlerinizi bir üst seviyeye taşımak için güçlü bir araçtır.
Julia ile Bir Sonraki İşinizi Arayın
Julia öğrenmek için harika bir zamandayız. Ari Joury’nin yazısında belirttiği gibi, veri biliminde yeni norm haline gelmeden önce Julia’yı öğrenmeye başlarsanız bu, geleceğe açılan altın biletiniz olabilir. Dünyanın dört bir yanında giderek daha fazla şirket veri projeleri için Julia’yı benimsiyor; bu da (şimdilik) az sayıdaki deneyimli Julia programcısını çekmek için ellerinden geleni yapacakları anlamına geliyor. Yeterli beceri düzeyine ulaştığınızda, hem Julia hem de MATLAB bilgisi gerektiren rollere bakmaya başlayabilirsiniz.
Julia ile bir sonraki kariyer adımınızı DataCamp’in veri işleri platformu ile keşfedin.
Sonuç
Julia, veri alanının yükselen yıldızlarından biridir. İlk sürümünden bu yana geçen on yılda dil olgunlaşmış ve bugün çok az dilin sunabildiği olağanüstü özellikler sergilemektedir.
MATLAB hâlâ güçlü olsa da, hızla evrilen veri bilimi dünyasında hiçbir programlama dili güvende değildir. Bugün popüler olan, yarın daha modern ve güçlü araçlar tarafından geride bırakılabilir.
Son yıllarda Julia’nın başlıca dezavantajı gençliğiydi. Ancak bugün, veri bilimi sektörünün en heyecan verici yeni dillerinden biridir. Öyleyse Julia öğrenmeye değer mi? Ve MATLAB’den Julia’ya ilerlemek mümkün mü? Bu iki sorunun da yanıtı kesinlikle evet.
MATLAB’den Julia’ya SSS
MATLAB nedir?
MATLAB, özellikle sayısal hesaplama için tasarlanmış yüksek seviyeli bir programlama dilidir.
Julia nedir?
Julia, yüksek seviyeli, derlenen bir programlama dilidir. Özellikleri, sayısal analiz ve hesaplamalı bilim için oldukça uygundur.
Julia ne zaman yayımlandı?
Julia’nın ilk sürümü 2012’de yayımlandı.
Julia’nın başlıca gücü nedir?
Julia’yı benzersiz kılan, yüksek performansı yüksek kod okunabilirliğiyle birleştirmesidir.
MATLAB’dan Julia’ya geçmeli miyim?
Buna Julia’nın hızı, açık kaynak yapısı ve hızla gelişen ekosistemi gibi çeşitli nedenler dahil olabilir. Başlamak için harika bir yol da Julia’ya Giriş Kursumuzdur.
