Lua (bahasa pemrograman): Perbedaan antara revisi

Konten dihapus Konten ditambahkan
ChuispastonBot (bicara | kontrib)
k r2.7.1) (bot Mengubah: en:Lua (programming language)
Jazle (bicara | kontrib)
Tidak ada ringkasan suntingan
Baris 1:
{{under construction}}
 
'''Lua''' ({{IPAc-en|icon|ˈ|l|uː|.|ə}} {{respell|LOO|ə}}; dari {{lang-pt|[[wikt:en:lua#Portugis|lua]]}} yang berarti "[[bulan]]") merupakan [[bahasa pemrograman]] ringkas yang dirancang sebagai [[bahasa skrip]] dengan semantik yang dapat dikembangkan atau ditambahkan. Sebagai bahasa skrip, Lua memiliki [[API]] dalam bahasa [[C (bahasa pemrograman)|C]] yang relatif lebih sederhana dibandingkan bahasa skrip lainnya.
 
Baris 8 ⟶ 6:
Sebelumnya, sejak tahun 1977 hingga tahun 1992, pemerintah Brazil menerapkan kebijakan perdagangan yang membatasi perdagangan termasuk pertukaran baik perangkat keras ataupun perangkat lunak komputer. Dalam atmosfir yang demikian, banyak klien '''Tecgraf''' tidak mampu, baik secara politik maupun finansial, untuk membeli perangkat lunak dari luar. Alasan itulah yang mendorong Tecgraf untuk mengimplementaskan perangkat utilitas dasar yang dibutuhkan.<ref name=hopl2007>{{Cite book| last1 = Ierusalimschy | first1 = R.| last2 = Figueiredo| first2 = L. H. | last3 = Celes| first3 = W.| contribution = The evolution of Lua| contribution-url = http://www.lua.org/doc/hopl.pdf| doi = 10.1145/1238844.1238846| title = Proc. of ACM HOPL III| url = http://www.acm.org/sigs/sigplan/hopl| year = 2007| pages = 2–1–2–26| isbn = 978-1-59593-766-X}}</ref>
 
Secara historis, bahasa pemrograman Lua berawal dari bahasa pemrograman yang digunakan untuk pendeskripsian serta entri data, serta pengkonfigurasian suatu sistem yang masing-masing dikembangkan secara terpisah oleh tecgraf dari tahun 1992 hingga tahun 1993.<ref name=luahist2001>{{cite web|url=http://www.lua.org/history.html|title=The evolution of an extension language: a history of Lua|accessdate=2008-12-18|year=2001}}</ref> Tujuan pengembangan tersebut awalnya merupakan usaha untuk menambahkan fitur serta meningkatkan fleksibilitas atas dua proyek pengembangan perangkat lunak yang sedang mereka kerjakan saat itu. Namun terdapat kekurangan atas alur kontrol atas bahasa tersebut sehingga menumbuhkan ide untuk mengembangkannya lebih lanjut dengan fitur-fitur dasar yang lengkap sebagai sebuah bahasa pemrograman.
<!--- to be translated
 
Secara historis, Lua berasal dari bahasa data-description/configuration
==Fitur==
Lua's historical 'father and mother' were data-description/configuration languages [[Simple Object Language|SOL]] (Simple Object Language) and [[Data-Entry Language|DEL]] (data-entry language).<ref name=luahist2001>{{cite web|url=http://www.lua.org/history.html|title=The evolution of an extension language: a history of Lua|accessdate=2008-12-18|year=2001}}</ref>
Secara umum Lua digambarkan sebagai bahasa pemrograman multi paradigma yang menyediakan seperangkat kecil atas fitur-fitur umum yang dapat dikembangkan lebih lanjut untuk memenuhi ragam kebutuhan yang berbeda-beda, karenanya Lua tidak menyediakan fitur yang lengkap dan kompleks yang hanya berfokus pada satu paradigma pemrograman. Sebagai contoh, Lua tidak secara eksplisit mendukung ''inheritance'' yang merupakan kemampuan untuk penurunan sifat sebuah obyek dalam konsepsi [[pemrograman berorientasi obyek]] namun Lua menyediakan fasilitas metatable yang memungkinkan hal tersebut diimplementasikan relatif cukup mudah.
They had been independently developed at Tecgraf in 1992–1993 to add some flexibility into two different projects (both were interactive graphical programs for engineering applications at [[Petrobras]] company). There was a lack of any flow control structures in SOL and DEL, and Petrobras felt a growing need to add full programming power to them.
 
-->
Secara umum, Lua berusaha untuk menyediakan fitur-fitur abstrak/meta yang lebih fleksibel dan dapat dikembangkan jika dibutuhkan dibandingkan menyediakan seperangkat pustaka yang lengkap untuk memenuhi satu kebutuhan tertentu. Hal tersebut menjadikan Lua sebagai bahasa pemrograman yang ringkas dan dapat secara mudah diadaptasikan untuk memenuhi beragam jenis kebutuhan.
 
Lua merupakan bahasa pemrograman yang dinamis yang ditujukan untuk digunakan sebagai [[bahasa skrip]], dan cukup ringkas untuk disisipkan dalam berbagai jenis platform utama. Lua hanya mendukung beberapa jenis struktur data atomik seperti; boolean, floating point, serta string. Jenis-jenis tipe/struktur data lainnya seperti; larik, set, ataupun list direpresentasikan dalam Lua melalui satu bentuk tipe data, table.
 
==Contoh program Lua==
Contoh klasik sebuah program [[hello world]] dapat ditulis dengan bahasa Lua sebagai berikut:
 
print("Hello World!")
 
Contoh lainnya, fungsi rekursif atas faktorial:
 
function factorial(n)
if n == 0 then
return 1
else
return n * factorial(n - 1)
end
end
 
==Lihat pula==
* [[Interpreter]]
 
==Rujukan==
{{reflist}}
 
==Bacaan lanjutan==
{{software-stub}}
{{refbegin}}
* {{en}} {{Cite book | last1 = Ierusalimschy | first1= R. | last2 = Figueiredo | first2 = L. H. | last3 = Celes | first3 = W. | title = Lua 5.1 Reference Manual | year= 2006 | publisher = Lua.org | isbn= 85-903798-3-3 | url = http://www.lua.org/manual/5.1/ }}
* {{en}} {{Cite book | last1 = Ierusalimschy | first1 = R. | title = Programming in Lua <!-- Blue PiL --> | edition = 2nd | year = 2006 | publisher = Lua.org | isbn = 85-903798-2-5 | url = http://www.inf.puc-rio.br/~roberto/pil2/ }} (1st ed. is available [http://www.lua.org/pil/ online])
* {{en}} {{Cite book| editor-last = Figueiredo | editor-first = L. H. | editor2-last = Celes | editor2-first = W. | editor3-last = Ierusalimschy | editor3-first = R. | title = Lua Programming Gems | publisher = Lua.org | year = 2008 | isbn = 978-85-903798-4-3 | url = http://www.lua.org/gems/ }}
* {{en}} {{Cite book | last1 = Gutschmidt | first1 = T. | title = Game Programming with Python, Lua, and Ruby | year = 2003 | publisher = Course Technology PTR | isbn = 1592000770 }}
* {{en}} {{Cite book | last1 = Schuytema | first1 = P. | last2 = Manyen | first2 = M. | title = Game Development with Lua | year = 2005 | publisher = Charles River Media | isbn = 1-58450-404-8 }}
* {{en}} {{Cite book | last1 = Jung | first1 = K. | last2 = Brown | first2 = A. | title = Beginning Lua Programming | year = 2007 | publisher = Wrox | isbn = 0-470-06917-1 | url = http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470069171.html }}
* {{en}} {{cite journal|last=Quigley|first=Joseph|date=1 June 2007|title=A Look at Lua|journal=Linux Journal|url=http://www.linuxjournal.com/article/9605}}
* {{en}} {{cite web|url=http://www.ibm.com/developerworks/linux/library/l-lua.html|title=Embeddable scripting with Lua|last=Streicher|first=Martin|date=28 April 2006|work=developerWorks|publisher=[[IBM]]}}
* {{en}} {{cite news|url=http://www.computerworld.com.au/article/260022/a-z_programming_languages_lua/|title=The A-Z of Programming Languages: Lua|last=Hamilton|first=Naomi|date=11 September 2008|work=Computerworld|publisher=IDG}} – Interview with Roberto Ierusalimschy
* {{en}} {{cite journal|url=http://queue.acm.org/detail.cfm?id=1983083|title=Passing a Language through the Eye of a Needle|last1=Ierusalimschy|first1=Roberto|last2=de Figueiredo|first2=Luiz Henrique |last3=Celes|first3=Waldemar|date=12 May 2011|journal=[[ACM Queue]]|publisher=[[ACM]]}} – How the embeddability of Lua impacted its design
{{refend}}
 
==Pranala luar==
{{wikibooks|Lua Functional Programming}}
* {{Official|http://www.lua.org| }}
* {{en}} [http://lua-users.org lua-users.org] – Community website for and by users (and authors) of Lua
* {{en}} [http://www.lua.org/papers.html Lua papers and theses]
* {{en}} {{cite web|url=http://www.onlamp.com/pub/a/onlamp/2006/02/16/introducing-lua.html|title=Introducing Lua|last=Fieldhouse|first=Keith|date=16 February 2006|work=ONLamp.com|publisher=O'Reilly Media}}
* {{en}} [http://www.eluaproject.net/en_overview.html eLua – Embedded Lua]
* {{en}} [http://luaforge.net Projects in Lua]
 
{{DEFAULTSORT:Lua (bahasa pemrograman)}}
[[Kategori:Bahasa pemrograman| ]]
[[Kategori:Perangkat lunak bebas| ]]
 
[[ar:لوا (لغة برمجة)]]