Teoría de los lenguajes de programación
Bienvenido al curso Comprender la lógica subyacente a los lenguajes de programación es vital para entender los conceptos de la informática, desde la programación hasta el diseño de sistemas. Este curso está diseñado para familiarizarle con la materia y proporcionarle una base para estudios posteriores.
En cada lección hay un objetivo en la parte superior de la página, revise estos puntos y téngalos en cuenta a medida que avanza en la lección. Al final hay una tarea para poner a prueba su comprensión y explicar mejor el material. Una vez que haya terminado todo el curso puede pasar al siguiente curso de la categoría de informática.
Los prerrequisitos son cursos que se sugiere que entiendas antes de intentar este curso. Si tienes dificultades para entender el material de este curso, asegúrate de entender primero estos prerrequisitos.
Lenguaje de programación Scheme
Publicado por primera vez en 1998, este libro de texto es un estudio amplio pero riguroso de las bases teóricas para el diseño, definición e implementación de lenguajes de programación y de sistemas para especificar y probar el comportamiento de los programas. Abarca tanto la programación imperativa como la funcional, así como las formas de integrar estos aspectos en lenguajes más generales. Reconociendo la unidad de la técnica bajo la diversidad de la investigación en lenguajes de programación, el autor presenta un tratamiento integrado de los principios básicos de la materia. Identifica un número relativamente reducido de conceptos, como la semántica composicional, la estructura de enlace, los dominios, los sistemas de transición y las reglas de inferencia, que sirven de base al campo. Suponiendo sólo conocimientos elementales de programación y matemáticas, este texto es perfecto para cursos avanzados de licenciatura y cursos iniciales de posgrado en teoría de lenguajes de programación, y también resultará atractivo para investigadores y profesionales del diseño o la implementación de lenguajes informáticos.
Cronología de los lenguajes de programación
Bienvenido al curso Entender la lógica subyacente a los lenguajes de programación es vital para comprender los conceptos de la Informática, desde la programación hasta el diseño de sistemas. Este curso está diseñado para familiarizarle con la materia y proporcionarle una base para estudios posteriores.
En cada lección hay un objetivo en la parte superior de la página, revise estos puntos y téngalos en cuenta a medida que avanza en la lección. Al final hay una tarea para poner a prueba su comprensión y explicar mejor el material. Una vez que haya terminado todo el curso puede pasar al siguiente curso de la categoría de informática.
Los prerrequisitos son cursos que se sugiere que entiendas antes de intentar este curso. Si tienes dificultades para entender el material de este curso, asegúrate de entender primero estos prerrequisitos.
Lenguaje de programación C
Versión resumida: ya está disponible el texto completo de mi libro Introducción a la teoría de los lenguajes de programación (segunda edición, 1991). Esta página contiene más detalles, incluida la tabla de capítulos, y un enlace al PDF (3,3 MB, 448 + xvi páginas).
El libro es un estudio de los métodos de descripción del lenguaje, en particular de la semántica (operacional, traslacional, denotacional, axiomática, complementaria) y sirve también de introducción a los métodos formales. Obviamente, hoy se escribiría de otra manera, pero aún puede tener su utilidad.
Hace unos días publiqué el capítulo de Semántica axiomática del libro, y el capítulo que introduce las notaciones matemáticas. En ese momento parecía que no podría publicar fácilmente el resto de forma limpia, porque es imposible o muy difícil utilizar las herramientas originales de procesamiento de texto (troff y similares). Podía hacerlo para estos dos capítulos porque los había convertido hace años para mis clases de verificación de software en la ETH.
Sin embargo, revisando archivos antiguos, me di cuenta de que más o menos en la misma época (principios de la década de 2000) también pude producir versiones en PDF de los demás capítulos, incluso integrando correcciones de erratas comunicadas después de la publicación. (No tengo ni idea de cómo lo conseguí entonces, pero el resultado es idéntico, salvo las correcciones, a la versión impresa).