Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Le langage Lua
@nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
Sommaire
Présentation
Syntaxe
Usages
Avantages / Inconvénients
Conclusion
@nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
Présentation
● Créé par Roberto Ierusalimschy en 1993
● But du langage :
● Puissant
● Rapide
● Léger
● Intégrable (« embed...
Présentation
● Multi-paradigme (fonctionnel, objet, procédural,
etc.) à typage dynamique
● Environ 20 000 lignes de code d...
Présentation
● « batteries not included »
● Les versions du langage sont parfois
incompatibles entre elles
● Exemple : cer...
Présentation
Artenet.fr / @nicodzilla
Présentation
Artenet.fr / @nicodzilla
Syntaxe
-- ceci est un commentaire
affiche = print
affiche("Silicon Comté") –- Silicon comté
affichage = function (texte)
...
Syntaxe
Nom = « nicolas »
Nombre = 12
If Nombre == 12 then
Print(nom)
Endif
--> fermeture simple
function ajoute(x)
return...
Syntaxe
-- exemple d'une table simple
table = {
"Lua",
"PHP",
"PERL",
"Python",
"Scheme"
}
for cle, valeur in ipairs(table...
Syntaxe
ATTENTION : 
l'index des tables commence à 1 !!!
@nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
Usages
● Avec la commande « lua » (REPL)
● Depuis un autre langage :
● C / C++
● PHP
● Python
● Etc.
● Dans un Framework
●...
Usages : Web
● Apache avec mod_lua
● OpenResty = LuaJIT + Nginx
● Lapis : OpenResty plus simple
● Sailor : MVC Framework
●...
Usages : Jeux
● Löve
● Framework complet,
● Windows, Mac OS X,
Linux
● Jeux 2D uniquement
● Moai
● Windows, Mac OS X,
Linu...
Usages : Jeux & mobile
● Gideros / Corona
● Frameworks pour faire des jeux mobiles
● IOS & Android
● Basés sur C/C++ & Ope...
Usages : Qui ???
● Adobe,
● 3Scale,
● Nginx,
● Wikimedia,
● Blizzard,
● Rovio,
@nicodzilla / nicolas@lorenzon.ovh / lorenz...
Inconvénients
● Librairie (de fonctions) trop minimale
→ productivité compliquée au début sur des
projets complexes
● Vers...
Avantages
● Très rapide avec LuaJIT
● Spécificités pratiques (coroutine, possibilité de
sandbox)
● Langage simple : créer ...
Conclusion
● Débuter facilement :
● Apt-get install lua52
● ZeroBrane IDE
● Langage de script le plus performant : à utili...
Merci
● Merci pour votre attention :)
● La suite : www.lua.org / lua-users.org /
http://learnxinyminutes.com/docs/lua/
● R...
Nächste SlideShare
Wird geladen in …5
×

Introduction au langage de programmation Lua / Digital apéro [03/12/2014]

718 Aufrufe

Veröffentlicht am

« Lua is a powerful, fast, lightweight, embeddable scripting language. »

Dans cette introduction, vous découvrirez quelques particularités ce langage de script brésilien :

La philosophie du langage,
Qui utilise ce langage et pourquoi,
Les usages de ce langage,
Les différences avec les autres langages de script,
Comment ce langage peut vous aider à réaliser vos applications Web, Mobile et même des jeux vidéos.
Des exemples simples et concrets, etc.
A propos de l’intervenant :
Nicolas LORENZON : diplômé de l’UFC en 2004 (DESS, Informatique, systèmes distribués et multimédia), il travaille ensuite à Paris pendant 5 ans dans le monde des ERP pour une boîte de conseil en informatique. De retour en Fanche-Comté, il créée la société ARTENET en 2010 et travaille maintenant essentiellement comme développeur web et mobile. Il est adhérent Silicon Comté.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Introduction au langage de programmation Lua / Digital apéro [03/12/2014]

  1. 1. Le langage Lua @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  2. 2. Sommaire Présentation Syntaxe Usages Avantages / Inconvénients Conclusion @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  3. 3. Présentation ● Créé par Roberto Ierusalimschy en 1993 ● But du langage : ● Puissant ● Rapide ● Léger ● Intégrable (« embedable ») ● Dernière version 5.2.3 (Dec. 2013) ● Prochaine : 5.3 (actuellement beta) ● Licence MIT (open source) @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  4. 4. Présentation ● Multi-paradigme (fonctionnel, objet, procédural, etc.) à typage dynamique ● Environ 20 000 lignes de code de AINSI C ● 200 ko une fois compilé ● Fonctionne sur : Windows, Linux, Mac OS X, iOS, DOS, Nintendo DS, FreeBSD, Amiga, etc. @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  5. 5. Présentation ● « batteries not included » ● Les versions du langage sont parfois incompatibles entre elles ● Exemple : certains programmes 5.1 ne fonctionnent pas avec l'interpréteur 5.2 ● En pratique on complète avec des lib non officielles : Penlight, luarocks, etc. ● LuaJIT : implémentation avec compilation assembleur du code Lua avant exécution @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  6. 6. Présentation Artenet.fr / @nicodzilla
  7. 7. Présentation Artenet.fr / @nicodzilla
  8. 8. Syntaxe -- ceci est un commentaire affiche = print affiche("Silicon Comté") –- Silicon comté affichage = function (texte) affiche("Affichage : " .. texte) end affichage("Silicon comté") -- une boucle simple for i = 1, 10 do affichage(i) end
  9. 9. Syntaxe Nom = « nicolas » Nombre = 12 If Nombre == 12 then Print(nom) Endif --> fermeture simple function ajoute(x) return function (y) return x + y end end f1 = ajoute(2) f2 = ajoute(3) print(f1(10)) --> 12 print(f2(7)) -- > 10
  10. 10. Syntaxe -- exemple d'une table simple table = { "Lua", "PHP", "PERL", "Python", "Scheme" } for cle, valeur in ipairs(table) do print( cle, valeur ) end @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  11. 11. Syntaxe ATTENTION :  l'index des tables commence à 1 !!! @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  12. 12. Usages ● Avec la commande « lua » (REPL) ● Depuis un autre langage : ● C / C++ ● PHP ● Python ● Etc. ● Dans un Framework ● Comme langage de script d'un logiciel @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  13. 13. Usages : Web ● Apache avec mod_lua ● OpenResty = LuaJIT + Nginx ● Lapis : OpenResty plus simple ● Sailor : MVC Framework ● Luvit : LuaJIT + LibUV → 2x à 4x plus rapide que Node.js
  14. 14. Usages : Jeux ● Löve ● Framework complet, ● Windows, Mac OS X, Linux ● Jeux 2D uniquement ● Moai ● Windows, Mac OS X, Linux, iOS, Android
  15. 15. Usages : Jeux & mobile ● Gideros / Corona ● Frameworks pour faire des jeux mobiles ● IOS & Android ● Basés sur C/C++ & OpenGL comme moteur @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  16. 16. Usages : Qui ??? ● Adobe, ● 3Scale, ● Nginx, ● Wikimedia, ● Blizzard, ● Rovio, @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh ● VLC, ● MySQL Workbench, ● Etc.
  17. 17. Inconvénients ● Librairie (de fonctions) trop minimale → productivité compliquée au début sur des projets complexes ● Versions incompatibles entre elles → on garde le code source et on compile si besoin ● Compliqué pour le web @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  18. 18. Avantages ● Très rapide avec LuaJIT ● Spécificités pratiques (coroutine, possibilité de sandbox) ● Langage simple : créer une variante est possible depuis la source ● Grande portabilité @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  19. 19. Conclusion ● Débuter facilement : ● Apt-get install lua52 ● ZeroBrane IDE ● Langage de script le plus performant : à utiliser si besoin de perf. ou env. limité en mémoire ● Si vous avez des utilisateurs qui doivent créer des scripts (exemple : Wikipedia, 3scale) @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh
  20. 20. Merci ● Merci pour votre attention :) ● La suite : www.lua.org / lua-users.org / http://learnxinyminutes.com/docs/lua/ ● Remerciements : Nicolas Grenié, ● Des questions ? @nicodzilla / nicolas@lorenzon.ovh / lorenzon.ovh

×