Lua Nedir? Nedir?
Lua, hafif, hızlı ve gömülebilir tasarımıyla öne çıkan minimalist bir betik dilidir.
Lua, 1993 yılında Brezilya'daki Pontifical Catholic University of Rio de Janeiro'da Roberto Ierusalimschy, Luiz Henrique de Figueiredo ve Waldemar Celes tarafından geliştirilmiştir. Adı Portekizce'de 'Ay' anlamına gelen Lua, hafif ve gömülebilir bir betik dili olarak tasarlanmıştır. Lua'nın en güçlü yanı basitliği ve gömülebilirliğidir. C/C++ programlarına kolayca entegre edilebilir ve genişletilebilir. Tüm dil birkaç yüz kilobaytlık bir kütüphane ile uygulanabilir, bu da onu kaynak kısıtlı ortamlar için ideal kılar. Oyun geliştirme dünyasında Lua son derece popülerdir. World of Warcraft, Roblox, Angry Birds, Garry's Mod gibi oyunlar scripting dili olarak Lua kullanır. LÖVE 2D oyun frameworkü tamamen Lua tabanlıdır. Ayrıca Nginx (OpenResty), Redis, Wireshark gibi araçlar eklenti dili olarak Lua'yı destekler. Lua, tek bir tablo (table) veri yapısı üzerine kurulmuş zarif bir tasarıma sahiptir. Tablolar hem dizi hem sözlük hem de nesne olarak kullanılabilir. Coroutine desteği ile işbirlikçi çoklu görev yönetimi sağlar.
Kullanım Alanları
Oyun scripting (World of Warcraft, Roblox), Gömülü sistemler, Nginx eklentileri (OpenResty), Redis scripting, IoT cihazları
Avantajları
Son derece hafif ve hızlı, Kolay C/C++ entegrasyonu, Basit ve öğrenmesi kolay sözdizimi, Düşük bellek kullanımı, Taşınabilir
Dezavantajları
Standart kütüphane çok minimal, Genel amaçlı kullanım için yetersiz, 1-tabanlı indeksleme kafa karıştırıcı, OOP desteği yerleşik değil
İlgili Teknolojiler
Python Nedir?
Python, okunabilirliği ve basit sözdizimi ile öne çıkan, genel amaçlı yüksek seviyeli bir programlama dilidir.
JavaScript Nedir?
JavaScript, web tarayıcılarında çalışan ve web sayfalarına etkileşim katan dinamik bir programlama dilidir.
TypeScript Nedir?
TypeScript, JavaScript'e statik tip sistemi ekleyen ve Microsoft tarafından geliştirilen açık kaynaklı bir programlama dilidir.
Java Nedir?
Java, platform bağımsız çalışabilen, nesne yönelimli ve güçlü tipli bir programlama dilidir.