Языки программирования. Концепции и принципы
Книга В. Ш. Кауфмана «Языки программирования. Концепции и принципы» представляет собой фундаментальное исследование, посвященное базовым концепциям и принципам, лежащим в основе современных и перспективных языков программирования. Автор рассматривает различные стили программирования, включая операционный, ситуационный, функциональный, реляционный, параллельный и объектно-ориентированный, предлагая читателю целостную систему знаний в этой области.
Отличительной особенностью издания является многопозиционный анализ базовых концепций, который проводится с технологической, авторской, математической, семиотической и реализаторской точек зрения. Такой подход позволяет глубже понять природу языков программирования и механизмы их работы. Теоретические положения иллюстрируются примерами из таких языков, как Паскаль, Симула-67, Смолток, Рефал, Ада, Модула-2, Оберон, Оккам-2, Турбо Паскаль и C++.
Автор выделяет сложность как основополагающую проблему программирования, а абстракцию-конкретизацию и прогнозирование-контроль — как основные ортогональные методы борьбы с этой сложностью. На этой общей базе в книге впервые представлена цельная система концепций и принципов, создающая четкие ориентиры в области языков программирования. На основе этой системы сформулированы оригинальные положения, указывающие перспективы развития в этой области, многие из которых в последние годы стали реальностью.
В книге применены новые подходы к изложению известных фактов: пошаговая модификация нормальных алгоритмов Маркова до Рефала и реляционных языков, сопоставление принципов «сундука» и «чемоданчика» при создании Ады, Модулы-2 и Оберона, развитие концепции наследуемости от модульности до объектной ориентации, систематическое сопоставление концепции параллелизма в Аде и Оккаме-2.
Издание адресовано всем, кто серьезно интересуется программированием: научным работникам, профессиональным программистам, преподавателям и студентам, стремящимся к глубокому пониманию фундаментальных принципов создания и эволюции языков программирования.
