Informazioni sulle lingue [chiuso]

3

Sono interessato a saperne di più sui linguaggi di programmazione. In particolare, mi piacerebbe guardare alcuni dei nuovi sviluppi nei linguaggi di programmazione (anche quelli veramente oscuri di cui solo gli accademici si interessano). Devo imparare a leggere anche le specifiche grammaticali. Dove dovrei iniziare?

    
posta syrion 16.01.2011 - 16:56
fonte

3 risposte

9

Un buon posto per iniziare i tuoi studi nella programmazione del linguaggio di programmazione è con Van Roy e I concetti, le tecniche di Haridi e Modelli di programmazione per computer . Ad esempio, Programmazione di paradigmi per principianti: ciò che ogni programmatore dovrebbe sapere .

Lambda the Ultimate è un forum dedicato allo studio dei linguaggi di programmazione, quindi dovrebbe dimostrarsi un buon posto da leggere sul taglio bordo del campo del design del linguaggio.

    
risposta data 16.01.2011 - 17:06
fonte
3

Se sei seriamente interessato all'approfondimento, ti consiglio di guardare MIT OpenCourseWare lezione sull'argomento.

Descrizione del corso:

6.821 teaches the principles of functional, imperative, and logic programming languages. Topics covered include: meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object oriented programming, modules, and multiprocessing. The course involves substantial programming assignments and problem sets as well as a significant amount of reading. The course uses the Scheme+ programming language for all of its assignments.

    
risposta data 16.01.2011 - 17:08
fonte
2

Il libro dei draghi è una grande introduzione pratica.

Non copre ciò che rende un linguaggio di programmazione adatto / utilizzabile per un particolare compito, ed è stato scritto prima della maggior parte dei linguaggi moderni, ma introduce le principali sotto-discipline che si trovano tra codice e un programma in esecuzione. Leggilo e sarai ben preparato a comprendere sviluppi più recenti in sotto-campi come:

  1. Notazione: le notazioni utilizzate per grammatiche come modulo Backus-Naur ,
  2. Teoria grammaticale: un po 'sulla gerarchia di grammatiche di Chomsky e abituarsi a pensare a una lingua come a un set di stringhe con semantica associata .
  3. Lexing : la distinzione tra i lexer (operatori sul token stream) e grammatiche,
  4. Analisi : come le grammatiche vengono convertite in alberi di analisi,
  5. Ispezione: come eseguire le ottimizzazioni su alberi di analisi, derivare tabelle di simboli e simili
  6. Pre-compilazione: come convertire gli alberi di analisi in una varietà di forme intermedie (come modulo a tre operandi ) che avere la struttura di un vero set di istruzioni, ma senza le ipotesi specifiche dell'architettura,
  7. Ottimizzazione : conversione di programmi in programmi più semplici / più efficienti ma equivalenti
  8. Generazione binaria: come convertire questi moduli intermedi in istruzioni reali che possono essere eseguite da un processore o da una macchina virtuale

Il libro del drago non copre i moderni sistemi di tipi, la semantica formale o altri strumenti che aiutano nella correttezza del programma. Per una buona introduzione ai sistemi di tipo e al ragionamento formale, vedi "Tipi e linguaggi di programmazione" di B. Pierce .

Una volta compreso il ruolo svolto da ciascuno dei vari campi secondari, dovresti iniziare a cercare i documenti intitolati "Sondaggio di ... nei linguaggi di programmazione" e "Sviluppi recenti nei linguaggi di programmazione per ...".

    
risposta data 16.01.2011 - 17:38
fonte

Leggi altre domande sui tag