Breaker

Julia Programlama Dili

Bir süredir takip ettiğim Julia Programalama Dilini takip ediyorum ve dil hakkında düşündüklerimi kısaca aktarmaya çalışacağım.

Julia, Bilimsel Hesaplamalarda (veya Hesaplamalı Bilimlerde) birden fazla programalama diline olan ihtiyacı gidermek için geliştirilmiş bir programlama dilidir. Bilimsel çalışmalarda bir problemin çözümü zaman zaman birden fazla programlama diline ihtiyaç duyabilmektedir. Bazen hız ön planda olur ve C/C++ gibi daha hızlı ama kolay hata yapabileceğiniz dillere, bazen de hızlı bir prototip oluşturacağınız ve çıktıları güzel grafiklere dönüştürebileceğiniz Python yada R gibi dinamik dillere gereksinim duyarsınız. Julia’yı geliştiren ekip, C kadar hızlı, Ruby gibi dinamik, Python / R gibi kolay istatistik, Matlab gibi notasyona sahip bir dile ihtiyaç duydukları için ortaya böyle bir dil çıkmış.

Julia dinamik bir dil olmasının yanına oldukça hızlı çalışmasını sağlayan bir JIT derleyiciye sahiptir. Makine öğrenmesi gibi eğitimsel süreçleri zaman alan durumlarda veya karmaşık algoritmaların çözülmesinde bariz bir zaman avantajı sağlamaktadır. C kadar hızlı çalışmasının yanı sıra söz dizimi ve kolay öğrenme eğrisi, probleme hızlı odaklanmayı sağlamaktadır.

# Julia örnek fonksiyon tanımı
function pwr(x, p)
    result = x^p
end
% Matlab örnek fonksiyon tanımı
function result = pwr(x,p)
    result = x^p;
end

Söz dizimi açısından Matlab’a benzediğini söyleyebiliriz.

# Julia örnek matris tanımı ve transpozu
M = [1 2 3; 4 5 6] 
M' 
# Matlab örnek matris tanımı ve transpozu
M = [1 2 3; 4 5 6]
M'

Julia’nın bir diğer güzel yanı ise unicode karakter desteği sayesinde Matematiksel semboller ile program yazmanız mümkündür.

# Julia örnek unicode fonksiyon tanım
function ∑(x)
    result = 0
    for i in x
        result += i
    end
    return result
end
# Julia örnek unicode fonksiyon çağrısı
∑([1 2 3])

Henüz, Julia dili ile gerçek bilimsel bir problem üzerinde çalışma fırsatım olmadı fakat, gelecekte daha çok karşımıza çıkacağını düşünüyorum. Hesaplamalı Bilimlerde Python, R ve hatta Matlab gibi dillerin tahtını sarsması mümkün.

Julia için geliştirilmiş dedike bir IDE bulunmamakta, hızlı prototip için Jupyter veya Pluto gibi Notebook kullanılabilir. Büyük bir kod tabanına sahip bir proje için Matlab veya PyCharm gibi bir geliştirme ortamı şart.

merturk

Leave a Reply

Your email address will not be published. Required fields are marked *