Nim – Python, Go ve Rust’ı Bir Araya Getiren Programlama Dili
Eskiden Nimrod olarak bilinen Nim, statik olarak yazılan, çalışma zamanı verimliliğinden ödün vermeyen ve güçlü bir programlama dilidir. Python’a benzer bir sözdizimine(syntax) sahip olan bu program Go, Python, Rust ve Lisp‘in en iyi özelliklerini kapsüllemektedir. Küçük geliştirici topluluğundan dolayı karşılaşılan zorluklara rağmen, Nim, sağlam ve hızlı bir yazılım oluşturmasına olanak tanır.
Her geçen gün yeni programlama dilleri türemektedir. Peki, onların arkasındaki ilham kaynağı nedir? Şüphesiz, mevcut programlama dillerinin yeteneklerini büyütme veya yeni özellikler geliştirme isteği olabilir. Klasik programlama dillerinin eksiklikleri üzerine çalışarak, Swift ve Go gibi nispeten daha yeni diller geliştiricilerin desteğini kazanmıştır.
Bu yazıda sizlere Nim adlı yeni bir dilden bahsedeceğim. 2008 yılından beri geliştirme aşamasında olan Nim’in en son sürümü 0.16 olup, 2017 yılı Ocak ayı itibariyle kullanıma sunulmuştur.
Nim’in söz dizimi, bazı durumlarda girintili kod bloklarını ve benzer söz dizimini kullandığı için Python’u anımsatmaktadır. Tıpkı Rust ve Go gibi birinci sınıf fonksiyonlar ve güçlü türler kullanılmaktadır. Nim, nesne yönelimlidir fakat kalıtım üzerinde tercih edilen kompozisyona sahiptir.
Önceden Nimrod olarak bilinen, kendisine statik olarak yazılan Nim, “programcıya çalışma zamanı verimliliği olmaksızın nihai gücü veren” mecburi programlama dili olarak anlaşılır. Bu demek oluyor ki Nim’in çeşitli biçimlerde derleme zamanı mekanizmalarına odaklandığı anlamına geliyor. Semantik bir model, iş parçacığı yerel yığınlarında yumuşak gerçek zamanlı GC(Garbage Collector)’yi destekler
Nim, iş parçacığı yerel yığınları ve ileti arasında geçirilen iletiler üzerinde yoğunlaşmaktadır. Her birinin GC’ye ayrılmış olması nedeniyle “stop the world” mekanizmasına gerek yoktur. Kıyaslama anlamında konuşacak olursak C ile karşılaştırılabilir.
Nim derleyicisi varsayılan olarak C kodu üretir. Farklı derleyici arka uçlarının(back-end) yardımıyla birlikte bir de JavaScript, C++ veya Objective-C elde edebilirsiniz.
Nim derleyicisi ve kütüphanesi MIT lisanslıdır. Böylece, bu Nim’i kullanan programlarımız için herhangi bir lisans kullanmanıza imkan sağlar.
Daha fazla bilgi için, Nim’in web sitesini ziyaret edebilirsiniz.
Arkadaşlar görüş ve düşüncelerinizi aşağıda bulunan yorum alanına belirtebilirsiniz. Bir sonraki yazıda görüşmek dileğiyle. Hoşçakalın 🙂