¿Existe una encuesta sobre la semántica de varias características del lenguaje de programación?


12

¿Hay una encuesta (de papel, capítulo de libro, tutorial, enlaces, ...) de la semántica de varias características del lenguaje de programación? Originalmente estaba abrumado por las características de D aquí http://www.digitalmars.com/d/2.0/comparison.html

Me gustaría ver qué podría obtener de aquí, aunque he hecho una pregunta similar sobre stackoverflow y entiendo que estos dos sitios tienen perspectivas diferentes.

Realmente aprecio tu respuesta! Gracias a Dave Clarke por su sugerencia sobre meta


Creo que esta pregunta plantea un tema interesante: ¿la semántica de los lenguajes de programación sigue siendo un área de investigación en el laboratorio, o está lista para la luz del día? Si está listo para la luz del día, entonces debe haber compendios que indiquen cómo describir la semántica de cada característica del lenguaje de programación, para que los futuros diseñadores de idiomas puedan ir y buscarlos mientras diseñan sus idiomas. Creo que vale la pena reflexionar sobre dónde queremos ir desde aquí.
Uday Reddy

Respuestas:


17

No conozco ninguna encuesta sobre la semántica de varias características del lenguaje, aunque hay muchos libros que tratan sobre la semántica de los lenguajes de programación. Estos son algunos de los más completos, que también se ocupan de construcciones menos estándar:

  • Conceptos de diseño en lenguajes de programación por Franklyn Turbak, David Gifford y Mark Sheldon. Un libro gigantesco lleno de semántica de muchas construcciones lingüísticas diferentes.

  • Conceptos, técnicas y modelos de programación de computadoras por Peter Van Roy y Seif Haridi. Este libro se centra principalmente en los conceptos en términos del lenguaje Oz. Cada ejemplo en el libro corre. Al final del libro hay uno o dos capítulos que discuten la semántica formal de las construcciones del lenguaje.

Los textos más clásicos que ponen más énfasis en las técnicas semánticas, en lugar de en la variedad de construcciones de lenguaje de programación, incluyen:

  • Tipos y lenguajes de programación por Benjamin Pierce. El libro sobre sistemas de tipos. Se centra principalmente en construcciones de lenguaje funcional, al tiempo que aumenta la sofisticación del sistema de tipos. También cubre Featherweight Java, un cálculo central de Java.

  • Transiciones y árboles de Hans Huttel. Una buena introducción a la semántica operativa, que abarca una variedad de construcciones de idiomas de complejidad creciente.

  • Semántica con aplicaciones de Hanne Riis Nielson y Flemming Nielson. Una introducción a varios estilos semánticos, incluidas algunas aplicaciones no obvias de ellos. ¡Una gran lectura!

  • La estructura de los lenguajes de programación mecanografiados por David A Schmidt. Un libro fundacional sólido.

  • Semántica de los lenguajes de programación: estructuras y técnicas por Carl A Gunter. Otro libro fundacional sólido.

Finalmente, un trabajo en progreso, generosamente disponible para descargar, Fundamentos prácticos para lenguajes de programación de Bob Harper cubre muchas características diferentes del lenguaje de programación, asegurando que todo se formalice en el camino.

Debo agregar que si haces una pregunta más específica, obtendrás una respuesta más específica. Muchos artículos científicos están dando semántica a varias características del lenguaje de programación. Si estaba interesado en una función específica, entonces podría desenterrar un documento o dos sobre esa función.


11

Otro buen libro sobre semántica operativa es Ingeniería semántica con PLT Redex de Matthias Felleisen, Robby Findler y Matthew Flatt. Comienza con un tratamiento de libro de texto de semántica de reducción y máquinas abstractas, y también cubre el uso de la herramienta Redex para modelar la semántica de los lenguajes de programación.


55
Es bueno ver a otra persona PL a bordo.
Dave Clarke el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.