With great pleasure, I accepted the invitation extended to me to write these few lines of Foreword. I accepted for at least two reasons. The ?rst is that the request came to me from two colleagues for whom I have always had the greatest regard, starting from the time when I ?rst knew and appreciated them as students and as young researchers. The second reason is that the text by Gabbrielli and Martini is very near to the book that I would have liked to have written but, for various reasons, never have. In particular,theapproachadoptedinthisbookistheonewhichImyselfhavefollowed when organising the various courses on programming languages I have taught for almost thirty years at different levels under various titles. The approach, summarised in 2 words, is that of introducing the general concepts (either using linguistic mechanisms or the implementation structures corresponding to them) in a manner that is independent of any speci?c language; once this is done, "real languages" are introduced. This is the only approach that allows one to - veal similarities between apparently quite different languages (and also between paradigms). At the same time, it makes the task of learning different languages e- ier. In my experience as a lecturer, ex-students recall the principles learned in the course even after many years; they still appreciate the approach which allowed them to adapt to technological developments without too much dif?culty. Это и многое другое вы найдете в книге Programming Languages. Principles and Paradigms (Maurizio Gabbrielli, Simone Martini)