İçeriğe atla

Nim (programlama dili)

Nim
Nim taç logosu
ParadigmasıÇok paradigmalı: derlenen, eş-zamanlı, prosedürel, zorunlu, fonksiyonel, nesne-yönelimli, meta
İlk çıkışı2008 (16 yıl önce) (2008)
TasarımcıAndreas Rumpf
GeliştiriciNim Lang Team[1]
Kararlı sürüm2.2.0[2] Bunu Vikiveri'de düzenleyin (2 Ekim 2024 (17 gün önce) (2 Ekim 2024))
Önemli uygulamalarıSözcüksel
EtkilendikleriAda, Modula-3, Lisp, C++, Object Pascal, Python, Oberon, Rust, ParaSail[3]
Uygulama diliNim (öz-barındırılan)
PlatformuIA-32, x86-64, ARM, AArch64, RISC-V, PowerPC ...[4]
LisansMIT Lisansı[5] Bunu Vikiveri'de düzenleyin
Olağan dosya uzantıları.nim, .nims, .nimble
Web sitesinim-lang.org
forum.nim-lang.org

Nim (eski adıyla Nimrod), Andreas Rumpf tarafından tasarlanan ve geliştirilen, genel amaçlı, çok paradigmalı, statik tipli, derlenen[6] bir programlama dilidir. Derleme zamanı kod sentezi, cebirsel veri türleri, mesaj iletme gibi çeşitli özellikler ile meta programlama, işlevsel, prosedürel ve nesne yönelimli programlama stillerini desteklemenin yanı sıra C / C++ dillerine yabancı fonksiyon arayüzü katmanı sunarak ve C, C++, Objective-C ve JavaScript dillerine derlenerek "verimli, etkileyici ve zarif",[7] olmayı hedefleyen bir tasarıma sahiptir.

Tarihçe

Nim projesi 2005 yılında Andreas Rumpf tarafından başlatılmış ve ilk olarak 2006 yılında GitHub üzerinden yayımlanmıştır. Nim derleyicisinin ilk sürümü Pascal'da Free Pascal derleyicisi kullanılarak yazılmış[8] 2008 yılında ise derleyicinin Nim'de yazılmış sürümü yayınlanmıştır.[9] Ücretsiz ve açık kaynaklı bir yazılım olan Nim derleyicisi Andreas Rumpf ile çalışan bir grup gönüllü (Nim Topluluğu) tarafından geliştirilmektedir.[10] Dilin ismi Aralık 2014 yılında 0.10.2 sürümü ile Nimrod'dan Nim'e değiştirilmiştir.[11]

Kaynakça

  1. ^ "Contributors to nim-lang/Nim". GitHub. 23 Mart 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Mart 2022. 
  2. ^ Hata: Referans düzgün görüntülenemiyor. Bilgi için belgeleme sayfasına bakınız.
  3. ^ Rumpf, Andreas (19 Ekim 2017). "Nim without GC". Araq's Musings. 15 Ekim 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Eylül 2020. 
  4. ^ "Packaging Nim". 13 Ağustos 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Mart 2022. 
  5. ^ "copying.txt". GitHub. 
  6. ^ Rumpf, Andreas (11 Şubat 2014). "Nimrod: A new systems programming language". Dr. Dobb's Journal. 27 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Temmuz 2014. 
  7. ^ "The Nim Programming Language". Nim-lang.org. 8 Mayıs 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Temmuz 2014. 
  8. ^ "Nim Pascal Sources". GitHub. Erişim tarihi: 5 Nisan 2013. 
  9. ^ "News". Nim-lang.org. 22 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Haziran 2016. 
  10. ^ "Contributors". GitHub. Erişim tarihi: 5 Nisan 2013. 
  11. ^ Picheta, Dominik (29 Aralık 2014). "Version 0.10.2 released". Nim-lang.org. 27 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ekim 2018. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Programlama dili</span>

Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

<span class="mw-page-title-main">Scala (programlama dili)</span>

Scala, hem nesne yönelimli programlamayı hem de fonksiyonel programlamayı destekleyen, statik olarak yazılmış güçlü bir genel amaçlı programlama dilidir. Kısa ve öz olacak şekilde tasarlanan Scala'nın tasarım kararlarının çoğu Java eleştirilerini ele almayı amaçlıyor.

<span class="mw-page-title-main">GNU Compiler Collection</span>

GNU Compiler Collection, GNU Projesi tarafından üretilen ve çeşitli programlama dillerini destekleyen bir derleyici sistemidir. GCC, GNU araç zincirinin önemli bir parçasıdır. Henüz tamamlanmamış GNU işletim sisteminin resmî derleyicisi olmanın yanı sıra, diğer birçok modern Unix benzeri işletim sistemleri tarafından standart derleyici olarak benimsenmiştir. GCC, çok çeşitli işlemci mimarilerine taşınmış; ticari, perakende ve kapalı kaynak yazılım geliştirme ortamlarında yaygın bir araç olarak konuşlanmıştır. Windows'ta GCC kodlarını derlemek ve çalıştırmak için Cygwin, MinGW ve Tiny C Derleyici (TCC) gibi derleyiciler kullanılabilir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

Yorumlanan programlama dili bilgisayar programlamada yazılan programların çalışabilmeleri için kaynak kodlarının bir yorumlayıcı tarafından yorumlanması gerektiğini ifade etmektedir. "Interpreted programming language" olarak da geçmektedir.

<span class="mw-page-title-main">Dennis Ritchie</span> Amerikalı bilgisayar bilimci

Dennis MacAlistair Ritchie, uzun süre birlikte çalıştığı arkadaşı Ken Thompson ile birlikte C programlama dilini ve Unix işletim sistemini yazan saygın Amerikalı bilgisayar bilimcisi. 1983'te Turing Ödülü'nü, 1999'de Ulusal Teknoloji Madalyası ödülünü aldı. 12 Ekim 2011'de ölmüştür.

<span class="mw-page-title-main">Brian Kernighan</span>

Brian Wilson Kernighan, Kanadalı bilgisayar bilimcisidir.

Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.

<span class="mw-page-title-main">Go (programlama dili)</span> programlama dili

Go, statik tipli, derlenen, yüksek seviyeli bir programlama dilidir. Robert Griesemer, Rob Pike ve Ken Thompson tarafından Google'da 2007 yılından itibaren geliştirilmeye başlanmıştır. Sözdizimi C'ye benzerdir fakat hafıza erişimi güvenlidir, kullanılmayan hafıza kaynakları sisteme otomatik olarak geri verilir, interface veri tipleri sayesinde yapısal tip sistemini destekler ve eşzamanlı (concurrent) çalışan işlemlerin (process) ortak hafıza kullanabilmelerinin yanında birbiriyle iletişim kurmalarını sağlayan ögelere sahiptir. Eski alan adı golang.org olduğundan sık sık golang ismiyle anılır ama asıl adı Go'dur.

Yazılım tasarımı, bir sorunun yazılım çözümü için, sorun giderme ve planlama aşamasıdır. Yazılımın özellikleri kararlaştırıldıktan sonra yazılım geliştiricileri sorun için bir çözüm geliştirir. Bu aşama mimarisel görünüm kadar, alt düzey algoritma gerçeklemeyi de içerir. Yazılım tasarımı için programlamanın ilk aşaması da diyebiliriz. Programlama işlemine başlamadan önce mutlaka ön çalışma yapmak ve programın nasıl işleyeceğini ortaya koymak gerekir. Programlama makine dili veya yüksek seviyeli bir programlama dili kullanılarak yapılır.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

Swift, Apple tarafından iOS ve macOS platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dili.

<span class="mw-page-title-main">Rust (programlama dili)</span> sistem programlama dili

Rust; açık kaynak kodlu, çoklu paradigmalı, ilk olarak Mozilla tarafından dizayn edilen ve Rust Foundation tarafından geliştirilmekte olan; performansa, güvenliğe ve eş zamanlı işlem yapabilmeye odaklanmış bir sistem programlama dilidir. Rust, söz dizimi olarak C++ diline benzemektedir. Rust, "güvenli, pratik ve hızlı" bir dil ortaya koymak amacı ile tasarlanmıştır.

IL2CPU, C# programlama dili kullanılarak geliştirilmiş bir Ahead-Of-Time (AOT) derleyicisidir. Bu araç, .NET platformunda kullanılan Ortak Ara Dil kodunu makine koduna dönüştürmek için tasarlanmıştır. IL2CPU, özellikle Cosmos Projesi'nin bir parçası olarak öne çıkar ve bu proje tarafından geliştirilmiştir.

Kotlin, Java sanal makinesi (JVM) üzerinde çalışan ayrıca JavaScript kaynak koduna veya LLVM ile makine koduna derlenebilen, statik tipli bir programlama dilidir. İlk geliştirme Sankt-Peterburg, Rusya merkezli JetBrains programcıları tarafından yapılmıştır. İsmi Kotlin Adası'ndan gelmektedir. Java ile uyumlu sözdizimi olmasa da, Kotlin Java kodu ile birlikte çalışmak üzere tasarlanmıştır. Kotlin, Apple'ın Swift diline benzemektedir.

<span class="mw-page-title-main">V (programlama dili)</span>

V, Haziran 2019'da Alexander Medvednikov tarafından açık kaynaklı bir proje olarak yayınlanan genel amaçlı, statik olarak yazılmış derlenen bir programlama dilidir. Performans, güvenlik ve hızlı derleme için tasarlanmıştır. Derleyici V ile kodlanmıştır ve 1 MB'den küçüktür. Sıfır kütüphane bağımlılığı ile bir saniyeden daha kısa sürede yaklaşık 1 milyon kod satırı derleyebilir.

<span class="mw-page-title-main">Carbon (programlama dili)</span>

Carbon, Google tarafından "C++ Ardıl Dili" olarak oluşturulmuş deneysel bir genel amaçlı programlama dilidir. İlk olarak 2022 yılının Temmuz ayında Carruth Chandler tarafından CppNorth konferansında halka sunuldu. Dil, C++'ın belirlenen çeşitli eksikliklerini düzeltmeyi amaçlar, ancak bunun dışında benzer bir özellik seti de sağlar. Hedeflerinden biri, mevcut C++ kodu ile beraber çift yönlü birlikte çalışabilirliktir. Dil, C++'ın kullandığı ISO sürecinin aksine GitHub üzerinde tasarlanacak ve geliştirilecektir. Dil, Apache Lisansı altında ücretsiz ve açık kaynaklı bir proje olarak geliştirilmiştir.