Merhabalar, bu yazımda geliştirmekte olduğum KIPL programlama dilinin detaylarından bahsetmek istiyorum.
İlk olarak KIPL isminin nereden geldiği konusunu açıklığa kavuşturalım. Programlama dili için yorumlayıcıyı yazmaya başladığımda henüz bir isme sahip değildi. Projeyi geliştirme sürecinde (hala geliştiriliyor) ise sürekli bir isim arayışı içerisindeydim. Bu doğrultuda Linux ve Wine gibi havalı isimlere sahip yazılımlarla benzer bir isim yapısının olmasını istedim ve açılımı “Kipl Is Programming Language” olacak şekilde “KIPL” isminde karar kıldım.
Şimdi de Kipl’ın özeliklerinden biraz bahsedelim.
Kipl, MTI lisansı altında geliştirilen, açık kaynak kodl, kar amacı gütmeyen bir proje olarak geliştirilmektedir.
Kipl, yorumlanan bir programlama dilidir. Yani kodlar satır satır okunur ve çalıştırılır. Kipl yorumlayıcısı C programlama dilinin gücünü arkasına alarak geliştirilmektedir. Bu noktada yorumlayıcının neden C ile geliştirildiğini merak edebilirsiniz. Bu tercih sebebini bir kaç sözcükle açıklayacak olursam: Projeyi geliştirmeye başlamadan önce seçeceğim programlama dili için belli kriterlerim vardı. Bu kriterler ise programlama dilinin nesne yönelimli olmaması, dinamik bellek yönetimini tamamen programcıya bırakması ve çöp toplayıcı araçlarının programlama dilinde yer almaması gibiydi. Ve bu koşullarda C programlama dilini seçerek projeyi geliştirmeye başladım.
Kipl, yorumlanan bir programlama dili olduğu için platform bağımsızdır. C programlama dilini kullanabildiğiniz her makinede Kipl programlama dilini de kullanabilirsiniz.
Kipl, Rust ve Go programlama dillerinden doğrudan etkilenmiştir ve modern bir sözdizimine sahiptir.
Kipl gelişmiş bir hata ayıklama mekanizmasına sahiptir. Temelde 3 farklı hata türüne karşı programı durdurur ve ilgili satır ve sütunu işaret ederek programcıya yardımcı olacak hata mesajlarını gösterir. Hata türleri ise “Lexical Error”, “Runtime Error” ve “Syntax Error” dur.
Kipl, tip güvenli bir programlama dilidir. Tanımlanan bir değişkenin türü veya bir fonksiyonun dönüş tipi belirtilmek zorunludur. Bu doğrultuda Kipl, “void” ile birlikte 15 adet veri tipine sahiptir.
Website: kipl-lang.org
Github: github.com/kipl-lang/kipl/
Dökümantasyon: https://github.com/kipl-lang/kipl/blob/master/docs/basics/TR.md