A EVOLUÇÃO DA LINGUAGEM LUA. Roberto Ierusalimschy, PUC-Rio. Lua
Texto
(2) A S FASES DE L UA. O In´ıcio. Os primeiros anos: 1993–1996. ˜ Internacional: 1996–2000 A Exposic¸ao. O Outro Lado de Lua: 2001 —. 2.
(3) O I N´I CIO. No princ´ıpio, D’s criou o Tecgraf . . .. 3.
(4) O I N´I CIO. ˜ “industrial” dupla: PGM e ED Motivac¸ao. ´ ˜ PGM (Programa Grafico Mestre) necessitava de uma linguagem de “descric¸ao de dados”. XML seria uma otima ´ ˜ mas isso era 1993 . . . opc¸ao,. ˜ ED: programa de entrada de dados, ja´ tinha uma linguagem de “descric¸ao”, mas precisava de facilidades operativas. Problema ainda recorrente em XML. 4.
(5) ´ P ROGRAMA G R AFICO M ESTRE. 5.
(6) S OL. ˜ para o PGM: uma linguagem de descric¸ao ˜ de dados Primeira opc¸ao. Sol: Simple Object Language. . x:number, y:number=23, z=0 t:@track=@trackx=8, z:number*. type @track type @line. . . t1 = @track y=9, x=10, z="hi!" l = @line t=@trackx=t1.y, y=t1.x, z=[2,3,4]. . 6.
(7) L UA. ˜ de dados e uma linguagem de programac¸ao ˜ Uma linguagem de descric¸ao. ˆ em extensibilidade: framework para linguagens de dom´ınio espec´ıfico Enfase. ´ ´ pequena, extens´ıvel Requisitos basicos: simples, portatil,. Sem muitas (outras) novidades como linguagem. 7.
(8) ˜ 1.0 L UA VERS AO. ˜ 1.0 a posteriori Batizada de Versao. The simplest thing that could possibly work. ˜ “padrao”, ˜ Implementac¸ao com yacc/lex. Sucesso de publico ´ (no Tecgraf). . usada com sucesso no PGM e no ED, logo usada em outros projetos ´ tambem. 8.
(9) ˜ 1.1 — 1994 L UA VERS AO. Mais eficiente. ˜ publica Primeira distribuic¸ao ´ via Internet. ftp. ˆ Licenc¸a livre para uso academico, restritiva para uso comercial. problemas com a concorrencia ˆ (Perl, Python, Tcl, . . . ). 9.
(10) L UA 2. Lua 2.1 (Fevereiro 1995) — 2.5 (Novembro 1996) ˜ com licenc¸a livre (“free software”) Primeira versao Formato simplificado para tabelas. em uso ate´ hoje. ˜ fallbacks: mecanismo de extensao. suporte para programac¸ao ˜ OO. Pattern-matching. via biblioteca. ˜ entre 1994–1995 CGILua (HTML Lua): primeira versao. 10.
(11) ˜ I NTERNACIONAL E XPOSIC¸ AO. No in´ıcio de 1995, criamos a primeira homepage de Lua. ´ ´ ´ ˜ Troca de mensagens com varios usuarios em varias instituic¸oes. Em junho de 1996, sai artigo na Software: Practice & Experience (junho 1996). Em dezembro de 1996, artigo na Dr. Dobb’s. ˜ No in´ıcio de 1997, criamos a lista de discussao. ˆ Em meados de 1997, premio COMPAQ. 11.
(12) L UA EM J OGOS. From: Bret Mogilefsky <[email protected]> To: "’[email protected]’" <[email protected]> Subject: LUA rocks! Question, too. Date: Thu, 9 Jan 1997 13:21:41 -0800 Hi there... After reading the Dr. Dobbs article on Lua I was very eager to check it out, and so far it has exceeded my expectations in every way! It’s elegance and simplicity astound me. Congratulations on developing such a well-thought out language. Some background: I am working on an adventure game for the LucasArts Entertainment Co., and I want to try replacing our older adventure game scripting language, SCUMM, with Lua. [...] 12.
(13) E SCAPE F ROM M ONKEY I SLAND. 13.
(14) L UA 3. Lua 3.0 (Julho 1997) — Lua 3.2 (Julho 1999). tag methods. ˜ funcional Facilidades para programac¸ao. Func¸oes ˜ anonimas ˆ. upvalues: suporte parcial para visibilidade lexica ´ Preprocessador estilo C (ja´ defunto). 14.
(15) L UA 3 the l. ge gua an. Em 1998, surgiu o logo de Lua:. Lua. ´ em 1998, Cameron Laird (que mantinha uma coluna sobre linguagens Tambem de script na SunWorld) escreveu sobre Lua: Its user base is also small; there might be only a few tens of thousands of Lua programmers in the world. They’re very fond of this language, though, and the imminent explosion of ubiquitous embedded processing (computers in your car, in your plumbing, and in your kitchen appliances) can only work in favor of Lua. ´ essa “pequena” base de usuarios ´ Para nos, era muito maior do que ima´ ginavamos. 15.
(16) L UA 4. Lua 4.0 (Novembro 2000) Nova API com C. Multiplos ´ estados Uso de pilha para comunicac¸ao ˜ entre Lua e C Mais eficiente. Comandos for e break Mais eficiente ´ ˜ entre C e C++) Codigo em “clean C” (intersec¸ao. 16.
(17) L UA 4. ´ Final de 2000, serie de reportagens no Brasil. trabalho da assessoria de comunicac¸ao ˜ do decanato. Em marc¸o de 2001, novo enderec¸o em www.lua.org. cortesia de um usuario ´. ´ Pouco depois, site dos usuarios de Lua (lua-users.org). wiki. gerenciado sem nossa participac¸ao ˜. 17.
(18) L UA 5. Corotinas. ´ Visibilidade lexica. ´ Melhores facilidades para modulos. ´ for generico (via geradores). ˜ com varias ´ Implementac¸ao novidades:. maquina ´ virtual via registradores novo algoritmo para tabelas. 18.
(19) L UA ATUALMENTE. ´ Site com mais de 500 visitas diarias. vindas de mais de 80 pa´ıses. Lista com mais de 700 participantes. 15% do Brasil, 6% da PUC mais de 30 pa´ıses. media ´ de mais de dez mensagens por dia Usada em centenas de produtos. em especial jogos, e.g. Microsoft, LucasArts, Bioware. ˆ Manual traduzido para coreano e japones. 19.
(20) . ---. Lua.
(21) . http://www.etl.go.jp/etl/divisions/~ueno/lua/docj/indexjp.html. Lua. . http://www.tecgraf.puc-rio.br/lua/. "! $#&% '(. english | portugues | download | documentation | notes | quotes | mailing list | news | copyright | authors | links | uses | add-ons | faq | paper | manual. )+* ,.-0/13245 6&798;:' <=>[email protected]=+*G H"IJ KMLNO;. `
(22) . &%CP<Q(SR=+*TUV%6W$XV' <YSZ.-FZ 7[]\+I6^_&
(23) a a Ic bed_;%Sf<Q( Lua )Qg h fji kl &%M* Pascal m?Fn =QopSO5qr]7sVt(&u IM*vw$xy.7[]\+I4z]{5O|CZj}$~]7i k&%Sf<M%O H*8;:$c?A`@C B. DFEI <Q(SR=+*WV O+l$m* Y eM 07[]\M= #* "W.5 - I C F 1¨ 324O.A)+*&m-5&; F 1M$$CF}¡$¢ £*m C¤C¥¦" eZ5Y&¤ ?F§ %CP<Q( © cF@CB?ª<«$!V O CA¬V )+* mu &b4?F® HF37¯$°V' <%C) O ¸ H*z]{5OQ37¯$°V' <=>± ²cQ³ ´m7+t H< ` © ` %CP<Q( = `µ¶ * Lua c) · O¹&º »$ ½¼S¾Q &%C)O$¿M*¦ 6 À$Á \M=Q³$Â&ÃV7¯ Ä ' <A³ ´mM¿CP <Q( Lua ?FÅ$Æ DFEa =Q³ ´ )+*VÇ Ã?F® HÈ$`É379µ ÊË' < © ` O H* opSO+ cR$R5% ]798;:$c? I$ª * Lua 4Ì&\M=Í Î <Q( umÏ \M= c« Ðm?FÑ µ IM* ,.-0/© ` 13245 6 ` |CZ 7AÒÓ a = * Lua &Ô Õ C &%6Ö ÔE= 6&7+ר ? Ù\+I43798;:C%Sf<FÚ¿6¯_C %CP<Q( u Qg h f5) API( ,.-0/13245 6© ` YSZMCL»MY ) `a I6d_ ` %CP * Lua ) .-0/13245 6;?Â&ÃQÛÇ %Sf<5|CZ9Ü$£$ Ýc6 O;<Q¨(¦DR Þ , RO ßML 9àÝ;,$1M$$Cá âm?ªIM*|CZ9Ü$£ $=> ]7u á âm?F§ ?A} ã ' <=>4äå ?O;<b4%CP<Q( Lua ) ANSI-C &%6¯ Ä DFE=CjJm æO YCº ¦-%M*® HFçc?Fè$é DFE © I` ;<Q(o ` Lua. 20.
(24) L UA ATUALMENTE. ˜ Quase dez anos de evoluc¸ao Compromissos fortes com estabilidade. Ultima ´ ˜ oficial (4.0) tem dois anos . . . versao . . . e menos de dez bugs. Requisitos originais mantidos. simplicidade. portabilidade extensibilidade pequeno tamanho. 21.
(25) R ESULTADOS. ˆ Experiencia unica ´ no desenvolvimento de uma linguagem real. unica ´ linguagem “real” desenvolvida fora do primeiro mundo. ˆ ´ Experiencia em varios aspectos de projeto de linguagem nunca vistos em toy languages: O outro lado de Lua. evoluc¸ao ˜ ñ compatibilidade documentac¸ao ˜ corretude eficiencia ˆ. mensagens e tratamento de erros comunidade. 22.
(26)
Documentos relacionados
Esta aula teve como objetivo mostrar que as que as fases da Lua est˜ao associadas as posic¸˜oes relativas no sistema Sol-Lua-Terra e que “o formato (ou fase) da Lua que vemos no
Multithreading Non-Preemptive -- sequential version function Receive(connection) return connection:receive(2^10) end -- concurrent version function Receive(connection)
Este Decreto considera área impermeável toda superfície que não permita a infiltração da água para o subsolo e direciona que sejam utilizadas as regras de dimensionamento
Para as comparações entre estas situações e também entre os agrupamentos de dados para período diurno, período noturno, lua nova, lua crescente, ano 1, ano 2 e ano 3, foram
[r]
Se não houvesse rotação da Lua, após meio ciclo lunar teríamos a situação 2, note que a face que estava voltada para a Terra agora não está mais. Para que a Lua tenha sempre
Coordenador Líder, o J.P. Morgan e o UBS BB, “Coordenadores da Oferta”), vêm a público comunicar o encerramento, em 17 de junho de 2021, da oferta pública de distribuição
Como resultado, no espectro de função resposta do detector a uma fonte monoenergética com energia na faixa utilizada em raios X para diagnóstico, aparecerá um