Download Introducción al Lenguaje de Programación Boo

Document related concepts
no text concepts found
Transcript
Introducción al
Lenguaje de Programación
Boo
http://boo.codehaus.org
Rodolfo Finochietti
Intermediate Language
• Los compiladores .NET generan código
intermedio
– MSIL (o CIL, o simplemente IL)
• Similar al código nativo de las CPUs
– Pero independiente de la CPU/Arquitectura
– Basado en stack (no hay registros)
• Herramientas: ILASM y ILDASM
– Lenguaje “estilo” assembler
Intermediate Language
• En teoría, cualquier lenguaje se puede compilar a IL
– Es “turing-completo”
• Como la mayoría de los lenguajes de
programación
• Incluye algunas construcciones de alto nivel
– Lenguajes orientados a objetos
• Creación de instancias
• Llamadas a funciones virtuales
– Tipos complejos como object y string
– Fundamentos para objetos y reflexión
Boo: Un lenguaje .NET que no
se parece a un lenguaje .NET
• Boo es un lenguaje orientado a objetos
de tipos estáticos escrito para el CLR
• Sintaxis inspirada en Python
• Énfasis en la productividad y
extensibilidad del lenguaje y su
compilador
Características
• "Dinamismo" basado en la inferencia de tipos
– Duck Typing
•
•
•
•
•
•
•
Generadores
Multi-métodos
Macros
Closures
Currificación
Funciones de primera clase
Y muchas otras características
Recursos
• Boo: http://boo.codehaus.org/
• Boo Primer:
http://boo.codehaus.org/Boo+Primer
• Boo Manifesto:
http://boo.codehaus.org/BooManifesto.p
df
Bibliografia
• Compilers: Principles, Techniques, and Tools (2nd
Edition)
– http://tinyurl.com/yj55yg9
• Compiler Construction: Principles and Practice
– http://tinyurl.com/yj8uyo5
• Compiling for the .NET Common Language Runtime
– http://tinyurl.com/yguead4
• Build Your Own .NET Language and Compiler
– http://tinyurl.com/yh2h2vz
• Expert .NET 2.0 IL Assembler
– http://tinyurl.com/yfu4zvl
Preguntas
Rodolfo Finochietti
[email protected]
http://weblogs.shockbyte.com.ar/rodolfof
http://twitter.com/rodolfof