Lua (İngilizce telaffuz: LOO-ə, Portekizce: lua Portekizce telaffuz: anlamı ay), ağırlıklı olarak gömülü sistemler ve istemciler için tasarlanmış hafif paralel bir programlama dilidir. Lua, ANSI C'de yazılmış olduğu için çapraz platform destekli bir dildir ve nispeten basit bir C API'sine sahiptir.
Paradigması | : Yordamsal, prototip tabanlı, betik dili, nesne yönelimli, fonksiyonel |
---|---|
İlk çıkışı | 1993 | )
Tasarımcı | Roberto Ierusalimschy Waldemar Celes Luiz Henrique de Figueiredo |
Kararlı sürüm | 5.3.3 (6 Haziran 2016 ) |
Önizleme sürümü | 5.3.3 RC3 (30 Mayıs 2016 ) |
, , | |
Lua, LuaJIT, LLVM-Lua | |
Metalua, Idle, GSL Shell | |
Etkilendikleri | , , Modula, , SNOBOL |
Etkiledikleri | , , , JavaScript, , , , Ruby, , MoonScript |
Uygulama dili | ANSI C |
İşletim sistemi | Çapraz platform |
Lisans | MIT Lisansı |
Olağan dosya uzantıları | .lua |
Web sitesi | lua.org |
Lua başlangıçta 1993 yılında özelleştirmeye olan artan talebi karşılamakta yazılım uygulamalarını genişletmek için bir dil olarak tasarlandı. Çoğu yordamsal programlama dillerinin temel olanaklarını sağlamış ancak daha karmaşık veya alana özgü özellikler dahil edilmemiştir; bunun yerine, programcının bu özellikleri uygulamasına imkân tanıyan, dilin genişletilmesi için mekanizmalar içermekteydi. Lua, genel gömülebilir bir uzantı dili olarak tasarlandığından, Lua tasarımcıları, hızını, taşınabilirliğini, genişletilebilirliğini ve geliştirilmesinde kullanım kolaylığını geliştirmeye odaklanmışlardır.
Geçmiş
Lua 1993 yılında 'nde Bilgisayar Grafik Teknoloji Grubu (Tecgraf) üyesi olan Roberto Ierusalimschy, Luiz Henrique de Figueiredo ve Waldemar Celes tarafından Brezilya'da geliştirilmiştir.
1977'den 1992'ye kadar Brezilya, bilgisayar donanımı ve yazılımı konularında güçlü ticaret engelleri ("piyasa ihtiyatları" şeklinde tanımlanır) politikalarına sahipti. Bu ortamda Tecgraf'ın müşterileri, politik ya da finansal açıdan yurtdışından özel yazılımlar satın almaya muktedir değildi. Bu gibi nedenlerden dolayı Tecgraf, ihtiyaç duyduğu temel araçları sıfırdan sağlamaya başlamıştı.
Lua'nın öncülleri veri tanımlama/yapılandırma dilleri olan SOL (Simple Object Language, Basit Nesne Dili) ve DEL (data-entry language, veri giriş dili) idi. 1992-1993 yılları arasında iki farklı projeye esneklik kazandırmak için (her ikisi de Petrobras şirketindeki mühendislik uygulamaları için etkileşimli grafiksel programlardı) Tecgraf'ta bağımsız olarak geliştirilmişlerdi. SOL ve DEL'de herhangi bir akış denetim yapısı eksikliği vardı ve Petrobras, onları tam anlamıyla artan bir programlama gücüne eriştirme ihtiyacı hissetmişti.
Lua Evrimi (The Evolution of Lua) adlı çalışmada, dil yazarları şunları yazdı:
“ | 1993'te, gerçek şu ki, Tcl, açıkça uygulamalara gömülmek için tasarlanmıştı. Bununla birlikte, Tcl, bilmediğiniz sözdizimlerine sahipti, veri açıklamaları için iyi bir destek sağlamıyor ve yalnızca Unix platformlarında çalışıyordu. Düşmanca sözdizimi nedeniyle LISP'yi veya 'i düşünmedik. Python henüz emekleme aşamasındaydı. Tecgraf'da hüküm süren ücretsiz, kendi başımıza ortamımızda, kendi betik dilimizi geliştirmeye çalışmamız doğaldı ... Dilin pek çok olası kullanıcısı deneyimli programcılar olmadığından dil, şifresiz sözdizimi ve anlambiliminden kaçınmalıydı. Tecgraf'ın müşterileri çok çeşitli bilgisayar yapıları derlemelerine sahip olduğundan, yeni dilin uygulanması oldukça taşınabilir olmalıydı. Son olarak, diğer Tecgraf ürünlerinin bir betik dili gömmek zorunda kalmasını beklediğimizden, yeni dil SOL örneğini takip etmeli ve C API'li bir kütüphane olarak sağlanmalıydı. | „ |
Lua 1.0, nesne yapıcılarının, daha sonra mevcut geçerli hafif ve esnek tarzdan biraz farklı olması nedeniyle SOL'nin veri açıklaması sözdizimini ekleyecek şekilde tasarlanmıştı (Bu nedenle Sol "Güneş" anlamında Portekizce kullanılan bir sözcüktü ve Lua "Ay" kelimesine karşılık geliyordu). Kontrol yapıları için Lua yapıları çoğunlukla Modula'dan alındı (if
, while
, repeat
/until
), aynı zamanda CLU'dan (çoklu atamalar ve işlev çağrılarından çoklu geri dönüş, örnek parametrelerine veya açık işaretçilere daha basit değişik bir yorum olarak) etki etmişti, ("yerel bir değişkenin yalnızca ihtiyaç duyduğumuz yerde alenileşmesine izin veren düzgün bir fikir") SNOBOL ve AWK (ilişkilendirilebilir diziler). Dobb's Journal'da yayınlanan bir makalede, Lua'nın yaratıcıları ayrıca LISP ve Scheme'in tek, her yerde bulunan veri yapısı işleyişi (liste) ile Lua'nın temel veri yapısı olarak tabloyu geliştirme kararı üzerinde büyük bir etkiye sahip olduklarını belirtmektedir.
Lua semantiği, özellikle anonim işlevlerin ve tam sözlü skopingin uygulanması ile zamanla Scheme tarafından gittikçe artan bir şekilde etkilenmiştir. Birçok özellik yeni Lua sürümlerine eklendi.
Sürüm 5.0'dan önceki Lua sürümleri, BSD lisansına benzer bir lisansla yayınlandı. Lua, 5.0 sürümünden itibaren MIT Lisansı ile lisanslanmıştır. Her ikisi de izin verilen ve hemen hemen çoğu konuda aynıdır.
Kaynakça
- ^ Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Filho, Waldemar Celes (Haziran 1996). . Software: Practice and Experience. Cilt 26. ss. 635-652. doi:10.1002/(SICI)1097-024X(199606)26:6<635::AID-SPE26>3.0.CO;2-P. 23 Ekim 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Ekim 2015.
- ^ . Lua.org. 2 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ağustos 2011.
- ^ a b c Ierusalimschy, R.; Figueiredo, L. H.; Celes, W. (2007). "The evolution of Lua". Proc. of ACM HOPL III. ss. 2-1-2-26. doi:10.1145/1238844.1238846. ISBN . 14 Aralık 2019 tarihinde kaynağından .
- ^ . 2001. 14 Ekim 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Aralık 2008.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Lua Ingilizce telaffuz ˈluːe LOO e Portekizce lua Portekizce telaffuz ˈlu w ɐ anlami ay agirlikli olarak gomulu sistemler ve istemciler icin tasarlanmis hafif paralel bir programlama dilidir Lua ANSI C de yazilmis oldugu icin capraz platform destekli bir dildir ve nispeten basit bir C API sine sahiptir LuaParadigmasi Yordamsal prototip tabanli betik dili nesne yonelimli fonksiyonelIlk cikisi1993 31 yil once 1993 TasarimciRoberto Ierusalimschy Waldemar Celes Luiz Henrique de FigueiredoKararli surum5 3 3 6 Haziran 2016 2016 06 06 Onizleme surumu5 3 3 RC3 30 Mayis 2016 2016 05 30 Lua LuaJIT LLVM LuaMetalua Idle GSL ShellEtkilendikleriC Modula SNOBOLEtkiledikleri JavaScript Ruby MoonScriptUygulama diliANSI CIsletim sistemiCapraz platformLisansMIT LisansiOlagan dosya uzantilari luaWeb sitesilua org Lua baslangicta 1993 yilinda ozellestirmeye olan artan talebi karsilamakta yazilim uygulamalarini genisletmek icin bir dil olarak tasarlandi Cogu yordamsal programlama dillerinin temel olanaklarini saglamis ancak daha karmasik veya alana ozgu ozellikler dahil edilmemistir bunun yerine programcinin bu ozellikleri uygulamasina imkan taniyan dilin genisletilmesi icin mekanizmalar icermekteydi Lua genel gomulebilir bir uzanti dili olarak tasarlandigindan Lua tasarimcilari hizini tasinabilirligini genisletilebilirligini ve gelistirilmesinde kullanim kolayligini gelistirmeye odaklanmislardir GecmisLua 1993 yilinda nde Bilgisayar Grafik Teknoloji Grubu Tecgraf uyesi olan Roberto Ierusalimschy Luiz Henrique de Figueiredo ve Waldemar Celes tarafindan Brezilya da gelistirilmistir 1977 den 1992 ye kadar Brezilya bilgisayar donanimi ve yazilimi konularinda guclu ticaret engelleri piyasa ihtiyatlari seklinde tanimlanir politikalarina sahipti Bu ortamda Tecgraf in musterileri politik ya da finansal acidan yurtdisindan ozel yazilimlar satin almaya muktedir degildi Bu gibi nedenlerden dolayi Tecgraf ihtiyac duydugu temel araclari sifirdan saglamaya baslamisti Lua nin onculleri veri tanimlama yapilandirma dilleri olan SOL Simple Object Language Basit Nesne Dili ve DEL data entry language veri giris dili idi 1992 1993 yillari arasinda iki farkli projeye esneklik kazandirmak icin her ikisi de Petrobras sirketindeki muhendislik uygulamalari icin etkilesimli grafiksel programlardi Tecgraf ta bagimsiz olarak gelistirilmislerdi SOL ve DEL de herhangi bir akis denetim yapisi eksikligi vardi ve Petrobras onlari tam anlamiyla artan bir programlama gucune eristirme ihtiyaci hissetmisti Lua Evrimi The Evolution of Lua adli calismada dil yazarlari sunlari yazdi 1993 te gercek su ki Tcl acikca uygulamalara gomulmek icin tasarlanmisti Bununla birlikte Tcl bilmediginiz sozdizimlerine sahipti veri aciklamalari icin iyi bir destek saglamiyor ve yalnizca Unix platformlarinda calisiyordu Dusmanca sozdizimi nedeniyle LISP yi veya i dusunmedik Python henuz emekleme asamasindaydi Tecgraf da hukum suren ucretsiz kendi basimiza ortamimizda kendi betik dilimizi gelistirmeye calismamiz dogaldi Dilin pek cok olasi kullanicisi deneyimli programcilar olmadigindan dil sifresiz sozdizimi ve anlambiliminden kacinmaliydi Tecgraf in musterileri cok cesitli bilgisayar yapilari derlemelerine sahip oldugundan yeni dilin uygulanmasi oldukca tasinabilir olmaliydi Son olarak diger Tecgraf urunlerinin bir betik dili gommek zorunda kalmasini bekledigimizden yeni dil SOL ornegini takip etmeli ve C API li bir kutuphane olarak saglanmaliydi Lua 1 0 nesne yapicilarinin daha sonra mevcut gecerli hafif ve esnek tarzdan biraz farkli olmasi nedeniyle SOL nin veri aciklamasi sozdizimini ekleyecek sekilde tasarlanmisti Bu nedenle Sol Gunes anlaminda Portekizce kullanilan bir sozcuktu ve Lua Ay kelimesine karsilik geliyordu Kontrol yapilari icin Lua yapilari cogunlukla Modula dan alindi if while repeat until ayni zamanda CLU dan coklu atamalar ve islev cagrilarindan coklu geri donus ornek parametrelerine veya acik isaretcilere daha basit degisik bir yorum olarak etki etmisti C yerel bir degiskenin yalnizca ihtiyac duydugumuz yerde alenilesmesine izin veren duzgun bir fikir SNOBOL ve AWK iliskilendirilebilir diziler Dobb s Journal da yayinlanan bir makalede Lua nin yaraticilari ayrica LISP ve Scheme in tek her yerde bulunan veri yapisi isleyisi liste ile Lua nin temel veri yapisi olarak tabloyu gelistirme karari uzerinde buyuk bir etkiye sahip olduklarini belirtmektedir Lua semantigi ozellikle anonim islevlerin ve tam sozlu skopingin uygulanmasi ile zamanla Scheme tarafindan gittikce artan bir sekilde etkilenmistir Bircok ozellik yeni Lua surumlerine eklendi Surum 5 0 dan onceki Lua surumleri BSD lisansina benzer bir lisansla yayinlandi Lua 5 0 surumunden itibaren MIT Lisansi ile lisanslanmistir Her ikisi de izin verilen ve hemen hemen cogu konuda aynidir Kaynakca Ierusalimschy Roberto de Figueiredo Luiz Henrique Filho Waldemar Celes Haziran 1996 Software Practice and Experience Cilt 26 ss 635 652 doi 10 1002 SICI 1097 024X 199606 26 6 lt 635 AID SPE26 gt 3 0 CO 2 P 23 Ekim 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 24 Ekim 2015 Lua org 2 Ocak 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 11 Agustos 2011 a b c Ierusalimschy R Figueiredo L H Celes W 2007 The evolution of Lua Proc of ACM HOPL III ss 2 1 2 26 doi 10 1145 1238844 1238846 ISBN 978 1 59593 766 7 14 Aralik 2019 tarihinde kaynagindan 2001 14 Ekim 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 18 Aralik 2008