Questo libro analizza in modo sistematico i linguaggi di programmazione, fornendo criteri per comprendere, valutare, confrontare e scegliere tra diversi linguaggi. Un accento particolare è posto sui linguaggi come «strumenti per lo sviluppo di applicazioni». In tal senso i linguaggi vengono valutati facendo riferimento alla qualità del software prodotto, e in particolare alla sua affidabilità e facilità di modifica.
Il successo di questo approccio è testimoniato dalla grande diffusione a livello mondiale del libro, edito in inglese, spagnolo, portoghese, tedesco e olandese. In un'analisi comparata con altri volumi sui linguaggi di programmazione apparsa sul Computing Reviews, della prestigiosa associazione americana A.C.M. (Association for Computing Machinery), viene definito «splendido nel fornire una rassegna e una introduzione all'argomento». L'opera emerge anche come il trattato più completo e come «il più vivace e il meglio scritto».
Carlo Ghezzi è titolare della cattedra di ingegneria del software presso il Dipartimento di elettrotecnica del Politecnico di Milano. In precedenza ha svolto la propria carriera didattica e scientifica presso lo stesso Politecnico di Milano, l'Università della California a Los Angeles, l'Università della North Carolina a Chapel Hill e l'Università di Padova. Autore di oltre 60 articoli scientifici e di 5 libri pubblicati a livello nazionale e internazionale, ha svolto (e svolge) attività di ricerca nell'ambito dei linguaggi di programmazione, della teoria dei linguaggi e dell'ingegneria del software, con particolare riguardo agli ambienti per la specifica formale e alla riusabilità del software.
Mehdi Jazayeri è ricercatore presso i laboratori di ricerca della Hewlett Packard a Palo Alto, California. In precedenza ha partecipato ad alcune iniziative di lancio di aziende high-tech nella zona di San Francisco. E' stato anche professore di Computer Science presso l'Università della North Carolina a Chapel Hill. La sua attuale attività di ricerca è nell'ambito dei linguaggi di programmazione e dei metodi di progetto di software per sistemi distribuiti. In precedenza si è dedicato ai linguaggi di programmazione e, in particolare, alle tecniche di tradizione basate sulle «grammatiche ad attributi»; in questi settori ha prodotto numerose importanti pubblicazioni.