CodeCamp en Buenos Aires: Intérpretes y Compiladores en .NET

El próximo sábado tendremos CodeCamp en Buenos Aires:

http://www.codecamp.com.ar

Les recomiendo una visita al blog (en la página principal) y a la agenda:

http://www.codecamp.com.ar/agenda.aspx

donde hay actividades y charlas desde la mañana hasta la tarde, sobre Azure, Entity Framework 4, .NET 4, Arquitectura de Software (por @MartinSalias), WPF, IronRuby, DynamicDataCenter, SQL Server, Silverlight, ASP.NET MVC, HyperV, WCF, SQL Azure, HTML5, Windows 7, y demos de las Células (vean por ejemplo el video de Sinergia en una Célula Microsoft)

Gracias a @masaez, que me invitó al evento, en el Track 4 (16:35), Sala Arquitectura, daré una charla sobre Intérpretes y Compiladores en .NET. Los que me leen por aquí, saben que es uno de mis temas preferidos: construir lenguajes con distintos paradigmas de programación, y para usarlos en proyectos (como AjBasic en AjGenesis). La charla es de 75 minutos, con preguntas y respuestas.

Mi idea es visitar temas como:

– Cómo construir un Intérprete, con pasos en detalle, usando TDD.
– Tokens, Lexer, Parser, Expresiones, Comandos
– Ejemplos de intérpretes, de distintos tipos de lenguajes, como AjSharp, AjTalk (bytecodes a la Smalltalk), AjLisp (más funcional), o AjIo, tendré que elegir algunos.
– Comentar los lenguajes que han sido portados a .NET
– Descubrir IL (Intermediate Language) y generar código desde nuestros programas
– Ejemplo de AST (Abstract Syntax Tree)
– La aparición de los lambda. Compilación de Expressions
– Compilación dinámica de expressions
– Dynamic Runtime Library, ejemplos de lenguajes implementados
– Y espero transmitir algo de ¿por qué más lenguajes?

Como siempre, el código, enlace, presentación que prepare, quedaran aquí publicados en próximo post.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 11656, 11699, 11722, 11768, 13671, 1389, 8313, 8596, 8870, 8871, 8926. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *