Julia, Python’ı Yenebilecek mi?

Geçtiğimiz günlerde gözüme çarpan bir detayı sizlerle paylaşmak istiyorum. Aslına bakarsanız Julia programlama dili ile yeni tanışmadım. Gerekli araştırmalarımı detaylıca ancak ele alabildim. Bunları da tabiki siz değerli dostlarımla paylaşmak istedim.

Bunca zaman paylaştığım yazılarımda Python’ ı direten birisiydim fakat artık devir değişiyor olabilir! Çünkü çok daha performanslı ve hızlı programlama dilleri keşfedilmeye devam ediliyor.

Neden Julia?

SlashData verilerine göre dünyada 8.2 milyon kullanıcı Python programlama dilini kullanmaktadır. Ben de bu kullanıcılardan bir tanesiyim. Yazım diline, editörlerine ve bir çok avantajlı durumuna öyle aşinayım ki, benim için bu yazıyı yazmak Python’ a ihanet gibi geliyor.. Biraz daha bana kulak verin ve bakalım şu Julia neyin nesiymiş?

Julia, üst düzey ve yüksek performanslı dinamik bir programlama dilidir. Genel amaçlı bir dil olmasına ve herhangi bir uygulamayı yazmak için kullanılabilmesine rağmen, özelliklerinin çoğu sayısal analiz ve hesaplama bilimi için çok uygundur. Julia ile ilgili detaylı bilgilere erişim için bu bağlantıya tıklayabilirsiniz.

Veri bilimi açısından yaptığımız bir çok çalışmada genellikle Jupyter kullanmıştık. Gerek Kaggle gerek ise Github içerisinde açık kaynak milyonlarca veriye ücretsiz erişim sağlamıştık. Belki de Python’ ın milyonlarca kişi tarafından tercih edilmesinin sebebi budur! Ücretsiz, açık kaynak milyonlarca kod ve basit yazım dili.. Hatta bunlar sadece avantajlarından birkaçı diyebiliriz.

2012 yılında dört kişilik bir ekip tarafından yayınlanan Julia programlama dili, başta Python ve diğer yüksek seviyeli dillerdeki eksiklikleri gidermek amacı ile ortaya konulmuş bir üründür.

Business people meeting to discuss the situation on the market.

Julia’nın sahip olunan basit söz dizimi Python’a benzer biçimde kısa ancak aynı zamanda etkileyici ve güçlü olduğu söylenmektedir. Bu nedenle Julia’ nın daha güçlü bir şekilde sektörde ilerlediği düşünülmektedir.

Aynı zamanda Julia ve Python arasında veri paylaşımı da mümkündür. Bu veri paylaşımının gerçekleşmesi için Pycall kütüphanesinin kullanılması gerekmektedir. “pip install pycall” komutu ile makinenize kütüphaneyi yükleyip işlemleri gerçekleştirebilirsiniz. Benzer şekilde diğer programlama dilleri ile de paylaşım yapılması mümkündür.

Ek olarak sizler için bulduğum bu Github linki içerisinde çok başarılı bir doküman mevcuttur. İçeriğe bağlı olarak Julia ve Python dillerinin paylaşımlarını sağlayabilirsiniz 🔖

Julia Söz Dizimi İncelenmesi

Julia’nın dokümantasyonuna bakıldığında bir fonksiyon oluşumu aşağıdaki gibi gerçekleştirilmektedir.

Yukarıdaki fonksiyona gönderilen X ve Y parametrelerinin fonksiyon içerisinde toplama işlemi gerçekleştirilmiştir. Bu yazım dizimi daha kısa bir şekilde aşağıda verdiğim görseldeki gibi gerçekleşmektedir.

Buradaki f fonksiyonu daha hızlı ve pratik şekilde oluşturulmuştur. Bir sonraki görselde ise fonksiyon çağrılarak X ve Y değişkenlerinin toplama işlemi gerçekleştirilecektir.

Yukarıdaki görselde 2 ve 3 sayılarının toplamı 5 olarak belirtilmiştir. Bu iki programlama dili için bakıldığında bariz farklılıklar bulunmamakta. Öyle ki, diller arası geçişin zor olacağını düşünmüyorum. Bir süre daha Python üzerinde ilerleyecekmiş gibi görünüyorum. Fakat veri bilimi ve derin öğrenme açısından hız performansı düşünüldüğünde başı Julia çekecekmiş gibi görünüyor. Bu durum işleri biraz kızıştırıyor olabilir.

Öğrendiğim bilgilere göre Julia hız konusunda oldukça iddialı görünüyor. Python ise daha çok nesneye yönelik programlamada tercih sebebi olmakta. Aynı zamanda veri bilimi ve makine öğrenimi alanlarında da sıkça kullanılmaktadır. Ancak Julia’ nın hız performansı söz konusu olduğunda gelecekte tahtı kim kapacağı meraklar doğrultusunda.

Sonuç olarak, söz dizimi bir çok programlama diline benzemektedir. Bu sebeple yeni bir dile geçerken geliştiricilerin zorlanacağını düşünmüyorum. Şimdilik akıllarda kalan tek soru, Julia ve Python’ ın savaşı nasıl sonuçlanacak? Bakalım bu mücadelede kim galip gelebilecek? Julia, tabuları yıkabilecek mi?

REFERANSLAR

https://en.wikipedia.org/wiki/Julia_(programming_language)

https://www.zdnet.com/article/programming-languages-python-developers-now-outnumber-java-ones/

https://theiotmagazine.com/julia-vs-python-will-it-unseat-the-king-of-programming-8220e4cd2e0a

https://www.infoworld.com/article/3241107/julia-vs-python-which-is-best-for-data-science.html

https://docs.julialang.org/en/v1/manual/functions/


Leave a Reply

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