bylge-logo

    Bylge

    Yeni Programlama dili (Öğretici içerik)

    Merhaba bugün yeni bir dilden MOJO dan bahsedicem. Mojo bir programlama dilidir. Onu ilginç kılan birkaç özelliği var.  1 - Mojo python ekosistemini destekle

    Picture of the XIORXA

    XIORXA

    @xiorxa

    Merhaba bugün yeni bir dilden MOJO dan bahsedicem. Mojo bir programlama dilidir. Onu ilginç kılan birkaç özelliği var.


    


    1 - Mojo python ekosistemini destekler


    Pythondaki tüm kodlarınızı çalıştırabilirsiniz hatta pythondaki istediğiniz bir modülü içeri aktarabilir ve kullanabilirsiniz. Mojo pythonun topluluğu için kolaylıklar sağlıyor. Fakat mojo aynu zamanda kendi başına bir dildir. Birçok farklılıkları var ve geliştirme aşamasında.


    2 - İlginç fakat Mojo, c ve c dillerinden daha hızlı olduğunu iddia ediyor.


    Evet, yalnış okumadın C ve C++ dan daha hızlı olduğunu iddia ediyor. Yani pythondan 35.000x daha hızlı.


    


    3 - Mojo derleyici bir dil


    Sistem programcıları ve python kullanan/kullanmayan yapay zeka geliştiricileri için mükemmel olabilir. Mojo kendi temel syntaxında sistem programcıları için birçok seçenek ve özellik getirir.


    


    4 - Chris lattner ve ekibi tarafından geliştiriliyor


    Evet swift ve llvm gibi projeleriyle adını sıkça duyuran zeki bir isim tarafından geliştiriliyor


    4 - Gözünüzü korkutmasın! Mojonun temel syntaxı gayet anlaşılır ve kolay


    Önceden de belirttiğim gibi, pythondaki herhangi bir kodu mojoda da çalıştırabilirken Sözdizimi pythona benziyor.


    5 - Mojo, Python'ın bir üst kümesidir. Yani, Python'da yazdığınız kodlar Mojo'da da çalışır. Ancak, Mojo'da Python'da olmayan bazı özellikler vardır. Örneğin, Mojo'da değişkenlerin tipini belirtmek için `:` kullanılır. Ayrıca, Mojo'da fonksiyonlar `def` yerine `func` ile tanımlanır.


    6 - Mojo, statik olarak yazılır ve dinamik olarak çalıştırılır. Yani, kodunuzu yazarken değişkenlerin tipini belirtmeniz gerekir, ancak kodunuzu çalıştırdığınızda tip kontrolü yapılmaz. Bu sayede, kodunuzun hızını ve güvenliğini artırabilirsiniz.


    7 - Mojo, çoklu paradigma destekler. Yani, Mojo'da nesne yönelimli, işlevsel veya prosedürel programlama yapabilirsiniz. Ayrıca, Mojo'da eş zamanlılık (concurrency) ve paralellik (parallelism) gibi özellikler de vardır.


    8 - Mojo, yapay zeka için optimize edilmiştir. Yani, Mojo'da yapay zeka modellerini kolayca oluşturabilir, eğitebilir ve çalıştırabilirsiniz. Mojo'da TensorFlow, PyTorch gibi popüler kütüphaneleri kullanabilirsiniz. Ayrıca, Mojo'da GPU veya TPU gibi donanımları da destekler.


    Mojo'nun sözdizimi Hakkında kısa ve öz bilgiler:


    - Değişken tanımlama: `var x: int = 10` veya `let y: str = "Hello"`


    - Fonksiyon tanımlama: `func add(a: int, b: int) -> int { return a + b }`


    - Sınıf tanımlama:


    - `class Person(name: str, age: int) { func greet() { print("Hello, I am \(name) and I am \(age) years old.") } }`


    - Modül tanımlama:

    `module math { export func square(x: int) -> int { return x * x } }`


    - Operatör tanımlama:

    - `operator + (a: Point, b: Point) -> Point { return Point(a.x + b.x, a.y + b.y) }`


    - Döngü tanımlama:

    - `for i in 0..<10 { print(i) }` veya `while x > 0 { x -= 1 }`


    - Koşul tanımlama:

    - `if x > 0 { print("Positive") } else if x < 0 { print("Negative") } else { print("Zero") }`


    - Hata yakalama:

    - `try { let result = divide(a, b) } catch error as DivisionByZeroError { print(error.message) }`


    Mojo'nun kullanımı şöyledir:


    - Bir dosyaya `.mojo` uzantısı ile kaydedin. Örneğin, `hello.mojo`

    - Dosyanızı çalıştırmak için `mojo run hello.mojo` komutunu kullanın.


    - Dosyanızı derlemek için `mojo compile hello.mojo` komutunu kullanın. Bu, dosyanızı `.mexe` uzantılı bir dosyaya dönüştürür. Bu dosyayı başka bir bilgisayarda çalıştırabilirsiniz.


    - Dosyanızı test etmek için `mojo test hello.mojo` komutunu kullanın. Bu, dosyanızda yazdığınız test fonksiyonlarını çalıştırır.


    Son söz:


    Mojo diğer programlama dillerinin tepkileri ve keşkelerini örnek alarak oluşturulmuş bir dil diyebilirim. Yakında mojoyu indirip yerel makinanızda kullanabileceksiniz (Hala geliştiriliyor fakat az kaldı!:)) ) İçeriklerimi beğenmeyi unutmayın okuduğunuz için teşekkür ederim.




    Published Date:

    August 22, 2023

    Updated Date:

    December 06, 2023