Esiste un sondaggio sulla semantica delle varie funzioni del linguaggio di programmazione?


12

Esiste un sondaggio (dall'articolo, capitolo del libro, tutorial, collegamenti, ...) della semantica delle varie funzionalità del linguaggio di programmazione? Inizialmente sono stato sopraffatto dalle funzionalità di D qui http://www.digitalmars.com/d/2.0/comparison.html

Mi piacerebbe vedere cosa potrei ottenere da qui, anche se ho fatto una domanda simile su StackOverflow e capire che questi due siti hanno prospettive diverse.

Apprezzo molto la tua risposta! Grazie a Dave Clarke per il suo suggerimento su meta


Penso che questa domanda sollevi un problema interessante: la semantica dei linguaggi di programmazione è ancora un'area di ricerca in laboratorio o è pronta per la luce del giorno? Se è pronto per la luce del giorno, allora ci dovrebbero essere compendi che affermano come descrivere la semantica di ogni caratteristica del linguaggio di programmazione, in modo che i futuri progettisti del linguaggio possano andare a cercarli mentre progettano i loro linguaggi. Penso che valga la pena riflettere su dove vogliamo andare da qui.
Uday Reddy

Risposte:


17

Non conosco alcun sondaggio sulla semantica delle varie caratteristiche del linguaggio, sebbene ci siano molti libri che trattano della semantica dei linguaggi di programmazione. Ecco alcuni dei più completi, che trattano anche di costrutti meno standard:

  • Concetti di design nei linguaggi di programmazione di Franklyn Turbak, David Gifford e Mark Sheldon. Un libro mastodontico pieno di semantica di molti costrutti linguistici diversi.

  • Concetti, tecniche e modelli di programmazione informatica di Peter Van Roy e Seif Haridi. Questo libro si concentra principalmente sui concetti in termini di lingua Oz. Viene eseguito ogni esempio nel libro. Alla fine del libro c'è un capitolo o due che parlano della semantica formale dei costrutti del linguaggio.

Testi più classici che mettono maggiormente l'accento sulle tecniche semantiche, piuttosto che sulla varietà dei costrutti del linguaggio di programmazione, includono:

  • Tipi e linguaggi di programmazione di Benjamin Pierce. Il libro sui sistemi di tipo. Si concentra principalmente su costrutti di linguaggio funzionale, aumentando al contempo la raffinatezza del sistema di tipi. Copre anche Featherweight Java, un calcolo di base di Java.

  • Transizioni e alberi di Hans Huttel. Una bella introduzione alla semantica operativa, che copre una varietà di costrutti linguistici di crescente complessità.

  • Semantica con applicazioni di Hanne Riis Nielson e Flemming Nielson. Un'introduzione a vari stili di semantica, incluse alcune applicazioni non ovvie. Un'ottima lettura!

  • La struttura dei linguaggi di programmazione tipizzati di David A Schmidt. Un solido libro di base.

  • Semantica dei linguaggi di programmazione: strutture e tecniche di Carl A Gunter. Un altro solido libro di base.

Infine, un work-in-progress, generosamente disponibile per il download, Practical Foundations for Programming Languages di Bob Harper copre molte diverse funzionalità del linguaggio di programmazione, garantendo che tutto sia formalizzato lungo il percorso.

Dovrei aggiungere che se fai una domanda più specifica, otterrai una risposta più specifica. Molti articoli scientifici sono là fuori che danno semantica a varie funzioni del linguaggio di programmazione. Se fossi interessato a una funzione specifica, allora potrei scavare un articolo o due su quella funzione.


11

Un altro buon libro sulla semantica operativa è Semantics Engineering con PLT Redex di Matthias Felleisen, Robby Findler e Matthew Flatt. Inizia con un trattamento da manuale di semantica di riduzione e macchine astratte, e copre anche l'uso dello strumento Redex per modellare la semantica dei linguaggi di programmazione.


5
Bello vedere un'altra persona PL a bordo.
Dave Clarke,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.