Языки программирования концепции и принципы кауфман

/ИТ-книги

Р е ц е н з е н т:
О. Н. Перминов

Формат 60×88 1/16. Бумага типографская №2. Печать офсетная ключевые слова — язык, программир, фортран, пл/1, алгол, симул, смолток, рефал, модула-2, оберон, оккам, реляционн, параллельн, объектно-ориентир, наслед, трансл, сложност, транспьютер, семант, компиляц, семафор, дейкстр, нейман, маркова-турчин, бэкус, хоар, гомоморф

Рассмотрены основные концепции и принципы, воплощённые в современных и перспективных языках программирования (Фортран, Паскаль, ПЛ/1, Алгол-68, Симула-67, Смолток, Рефал, Ада, Модула-2, Оберон, Оккам-2, Турбо Паскаль 5.5 и др.), представлены разные стили программирования (операторный, ситуационный, функциональный, реляционный, параллельный, объектно-ориентированный), освещены тенденции и перспективы развития языков и стилей программирования.

Впервые удалось разработать и представить в одной книге цельную систему концепций и принципов, создающих достаточно чёткие ориентиры в области языков программирования. На основе этой системы сформулированы оригинальные положения, указывающие перспективы развития языков программирования (модули исключительных ситуаций, модули управления представлением, входовые типы и др.).

Новые подходы применены при изложении известных фактов (пошаговая модификация нормальных алгоритмов Маркова сначала до Рефала, а затем до реляционных языков, систематическое сопоставление концепции параллелизма в Аде и Оккаме-2, концепций создания Ады, Модулы-2 и Оберона, развитие концепции наследуемости от модульности до объектной ориентации и др.).

Для научных работников, будет полезной программистам, а также преподавателям и студентам, серьёзно интересующимся языками программирования.

Ил. 5 Библиогр. 64 назв.

Эта книга возникла из курса лекций «Языки программирования», читаемого автором в МГУ. Стимулом для написания книги послужило отсутствие доступной литературы, в которой были бы систематически изложены, во-первых, ключевые принципы, концепции и понятия, составляющие основу предмета и поэтому претендующие на относительную стабильность, и, во-вторых, перспективные идеи и тенденции, помогающие ориентироваться в огромном и быстро меняющемся мире современных языков программирования (ЯП).

Автор столкнулся с немалыми проблемами несмотря на то, что становление современных ЯП происходило, можно сказать, на его глазах. Пришлось пережить и восторги от изобретения первых «языков высокого уровня», быть среди тех, кто увлекался их «усовершенствованием» и созданием первых трансляторов, опираясь только на здравый смысл и собственную смекалку, пришлось пережить и надежды на создание «универсального ЯП» объединёнными усилиями международного программистского братства, и разочарования от бездарной траты сил и средств на бесперспективные начинания.

Когда в результате преодоления части этих проблем выяснилось, что удаётся существенно прояснить суть дела (частично отбирая, частично изобретая принципы, концепции и понятия), фрагменты книги, к удивлению автора, оказались интересны не только студентам и коллегам-преподавателям, но и программистам-профессионалам, и специалистам по ЯП. По-видимому, проблемы, с которыми столкнулся автор, осмысливая один из важнейших аспектов информатики, оказались жизненно важными проблемами для существенно более широкого круга потенциальных читателей, а отражение опыта их преодоления в тексте книги — достаточно интересным и поучительным.

Заметив это обстоятельство, автор уже сознательно стал иногда рассчитывать не только на студенческую аудиторию, но и на более искушённого читателя, позволяя себе намёки и аналогии, подразумевающие личный опыт программирования и даже экспертной деятельности в области ЯП. Более того, стало очень трудно отделить то, что известно, признано, устоялось, от того, что удалось только что понять, систематизировать, придумать. В результате жанр книги стал менее определённым, «поплыл» от первоначально задуманного учебного пособия в сторону монографии.

С точки зрения ключевых концепций и принципов, определяющих современное состояние и перспективы в области ЯП, конкретные ЯП интересны не сами по себе, а прежде всего как источники примеров при обсуждении излагаемых положений. Поэтому систематически применяется метод моделирования ЯП — изучаются не ЯП в целом, а только их модели. Конечно, автор старался дать необходимый минимум сведений о ЯП, позволяющий понимать написанные на нём примеры без привлечения дополнительной литературы. В качестве основного метода знакомства с ЯП в книге принят метод «погружения», столь популярный при ускоренном обучении иностранным языкам — сведения о ЯП читателю предлагается извлекать непосредственно из примеров написанных на этом ЯП программ (естественно, с подробными комментариями). Опыт показывает, что такой путь обеспечивает достижение основной цели с приемлемыми затратами времени и сил. Поэтому в книге нет подробных описаний конкретных ЯП — желающие могут воспользоваться официальными сообщениями, фирменной документацией или учебниками по ЯП.

Немыслимо в одной книге содержательно обсудить все (даже только важнейшие) концепции и принципы, определяющие современные ЯП. Пришлось выработать критерий отбора. Он касается и проблем программирования в целом, и назначения ЯП, и их выбираемых для обсуждения свойств. Из всех проблем программирования в качестве ключевой выбрана проблема сложности (самих программ, их создания, средств их создания и т.п.). Основным источником сложности считается семантический разрыв — рассогласование моделей мира у потенциального пользователя и потенциального исполнителя программ (компьютера). В качестве основных средств преодоления этого разрыва выделены, с одной стороны, аппарат абстракции-конкретизации (аппарат развития), а с другой стороны, аппарат прогнозирования-контроля (аппарат защиты). Основной объект изучения — это концепции, принципы и понятия, позволяющие строить концептуально-целостные ЯП с мощным аппаратом развития и надёжной защитой.

Книга состоит из двух частей. Первая посвящена основным абстракциям, используемым в современных ЯП. В качестве основного языка примеров здесь фигурирует ЯП Ада. Он удобен в этой роли потому, что в той или иной форме содержит ответы практически на все технологические проблемы. Другими словами, Ада служит примером «максимального» современного ЯП. «Минимальные» ЯП представлены языками Никлауса Вирта — это Модула-2 и Оберон (образца 1988 г.).

Вторая часть рассказывает о перспективных тенденциях в ЯП. В ней рассмотрены ситуационное, функциональное, доказательное, реляционное, параллельное и объектно-ориентированное программирование. Среди языков-примеров — Рефал, функциональный язык Бэкуса, Оккам-2 для программирования транспьютеров, объектно-ориентированный Турбо Паскаль и др.

В книге немало вопросов и упражнений (снабжённых обычно подсказками), призванных помочь читателю управлять своим вниманием и контролировать уровень усвоения материала. Результаты упражнений при дальнейшем изложении не используются.

Так как замысел книги возник восемь лет назад и почти половина материала написана ещё в 1983—1985 гг., закономерно опасение, не устарела ли книга ещё до своего выхода в свет. Конечно, судить об этом читателю, однако автор старался отбирать фундаментальные и, по его мнению, перспективные концепции и принципы, которые по самой своей природе должны быть стабильнее быстро меняющейся конъюнктуры.

Косвенным подтверждением такой стабильности послужил весьма обрадовавший автора факт, что современный всплеск (своеобразный «бум») интереса к объектно-ориентированному программированию — это в сущности всплеск интереса к средствам программирования, обеспечивающим рациональное развитие программных услуг при надёжной защите авторского права. Но именно средства развития и защиты в ЯП и были выбраны в качестве самого интересного аспекта ЯП ещё в начале работы над книгой. Такое знаменательное совпадение придаёт уверенности в правильности выбора и позволяет считать объектно-ориентированное программирование не просто очередной модой, а естественной «закрывающей скобкой» как очередного этапа в осознании системы ценностей в программировании, так и нашего рассмотрения концепций и принципов ЯП.

Ещё одним подтверждением тезиса о фундаментальности рассматриваемых в книге концепций и принципов может служить тот факт, что как в разработанных в конце 1990 г. требованиях на создание обновлённого международного стандарта языка программирования Ада (учитывающих самые современные пожелания интернационального сообщества пользователей языка Ада и самые современные методы их удовлетворения), так и в аванпроекте обновлённого языка, датированном февралем 1991 г., нашли отражение, кроме объектно-ориентированного программирования, и такие рассмотренные в книге проблемы, как развитие концепции управления асинхронными процессами, развитие концепции типа, развитие концепции исключений и др. …

Источник

Языки программирования. Концепции и принципы

Рассмотрены фундаментальные концепции и принципы, воплощенные в современных и перспективных языках программирования. Представлены разные стили программирования (операционный, ситуационный, функциональный, реляционный, параллельный, объектно-ориентированный).

Базовые концепции и принципы рассмотрены с пяти различных позиций (технологической, авторской, математической, семиотической и реализаторской) и проиллюстрированы примерами из таких языков, как Паскаль, Симула-67, Смолток, Рефал, Ада, Модула-2, Оберон, Оккам-2, Турбо Паскаль, С++ и др.

Сложность выделена как основополагающая проблема программирования, а абстракция-конкретизация и прогнозирование-контроль – как основные ортогональные методы борьбы со сложностью. На этой общей базе в книге впервые представлена цельная система концепций и принципов, создающая четкие ориентиры в области языков программирования.

На основе этой системы сформулированы оригинальные положения, указывающие перспективы развития в этой области (модули исключительных ситуаций, модули управления представлением, входовые типы и др. ). Многие из них в последние годы стали реальностью. Новые подходы применены при изложении известных фактов (пошаговая модификация нормальных алгоритмов Маркова сначала до Рефала, а затем до реляционных языков, сопоставление принципов «сундука» и «чемоданчика» при создании Ады, Модулы-2 и Оберона, развитие концепции наследуемости от модульности до объектной ориентации, систематическое сопоставление концепции параллелизма в Аде и Оккаме-2, и др.

). Для всех серьезно интересующихся программированием, в том числе научных работников, программистов, преподавателей и студентов.

Предлагаем Вам скачать фрагмент для ознакомления произведения «Языки программирования. Концепции и принципы» автора В. Ш. Кауфман в электронном виде в формате FB2 или TXT. Также можно скачать книгу в других форматах, таких как RTF и EPUB (электронные книги). Рекомендуем выбирать для загрузки формат FB2 или TXT, которые на сегодняшний день поддерживаются практически каждым мобильным устроиством (в том числе телефонами / смартфонами / читалками электронных книг под управлением ОС Андроид и IOS (iPhone, iPad)) и настольными компьютерами. Книга вышла в 2010 году в серии «Классика программирования».

Сохранить страничку в социалках/поделиться ссылкой:

Источник

Языки программирования концепции и принципы (стр. 1 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

КОНЦЕПЦИИ И ПРИНЦИПЫ

МОСКВА «РАДИО И СВЯЗЬ» 1993

Федеральная целевая программа книгоиздания России

Кауфман программирования. Концепции и принципы — М. : Радио и связь, 1993 — 432 с: ил. ISBN 5-256-00643-6

Рассмотрены основные концепции и принципы, воплощенные в современных и перспективных языках программирования (Фортран, Паскаль, ПЛ/1, Алгол-68, Симула-67, Смолток, Рефал, Ада, Модула-2, Оберон, Оккам-2, Турбо Паскаль 5.5 и др.), представлены разные стили программирования (операторный, ситуационный, функциональный, реляционный, параллельный, объектно-ориентированный), освеще­ны тенденции и перспективы развития языков и стилей программирования.

Впервые удалось разработать и представить в одной книге цельную систему кон­цепций и принципов, создающих достаточно четкие ориентиры в области языков прог­раммирования. На основе этой системы сформулированы оригинальные положения, указывающие перспективы развития языков программирования (модули исключитель­ных ситуаций, модули управления представлением, входовые типы и др.).

Новые подходы применены при изложении известных фактов (пошаговая модификация нормальных алгоритмов Маркова сначала до Рефала, а затем до реляционных языков, систематическое сопоставление концепции параллелизма в Аде и Оккаме-2, концепций создания Ады, Модулы-2 и Оберона, развитие концепции наследуемости от модульности до объектной ориентации и др.).

Для научных работников, будет полезной программистам, а также преподавателям и студентам, серьезно интересующимся языками программирования.

Ил. 5 Библиогр. 64 назв.

Редакция литературы по информатике и вычислительной технике

Моим дорогим родителям

Александре Фоминичне Каревой

Шахно Мордуховичу Кауфману

Эдит Яковлевне Кауфман

Предисловие ко второму изданию

К немалому удивлению автора, это книга оказалась востребованной и через 17 лет после своего официального выхода в свет (насколько известно автору, её используют в МГУ, МАИ и других российских университетах). Это тем более удивительно, что основной её материал подготовлен значительно раньше, примерно в 1985 году.

В Сети также циркулируют (и даже продаются, якобы с разрешения автора J) относительно ранние варианты лекций по курсу «Языки программирования», читанных автором в те же годы на факультете ВМиК МГУ.

Многие уважаемые члены программистского сообщества посчитали нужным поддержать уверенность автора в ценности изложенного в книге материала.

Владимир Ильич Головач в своей рецензии в «Мир ПК» одним из первых предсказал ей долгую жизнь. Андрей Андреевич Терехов, известный знаток компьютерной литературы, также высоко оценил качество книги. Очень хорошо отзывались о ней также Владимир Арнольдович Биллиг, Руслан Петрович Богатырёв, Лев Николаевич Чернышов, а также многие другие. Всем этим людям огромная благодарность за поддержку и стимулирование настоящего издания.

Немало замечательных членов программисткого сообщества, упоминаемых в книге, многих из которых автор имел удовольствие знать лично и даже обсуждать с ними фрагменты книги или читавшегося в МГУ курса, за прошедшие годы покинули этот мир. Среди них Евгений Андреевич Жоголев, Александр Владимирович Замулин, Михаил Романович Шура-Бура. Бесконечная им признательность за бесценный вклад в общее дело и светлая память.

Переиздание книги, несмотря на имеющиеся запросы, совсем недавно представлялось совершенно нереальным с учётом 100% загрузки автора основной работой. Ведь электронная вёрстка книги оказалась утраченной в результате непростых пертурбаций бурных 90-х прошлого века.

К счастью, мир полон чудес. Одно из них – воскрешение полной электронной версии книги с помощью современных средств сканирования с печатного оригинала и последующего ручного редактирования. Эта огромная работа была выполненна целиком по собственной инициативе Ольгой Львовной Бондаренко. Как волшебству, подоспело и предложение Дмитрия Алексеевича Мовчана переиздать книгу в ДМК-пресс.

Автору оставалось только вычитать полученный от Ольги Львовны Word-документ и передать результат ДМК-пресс в надежде помочь людям, желающим глубоко вникнуть в суть проблем, принципов и концепций современного программирования.

Удачи, глубокоуважаемый Читатель!

Эта книга возникла из курса лекций «Языки программирования», читаемого автором в МГУ. Стимулом для написания книги послужи­ло отсутствие доступной литературы, в которой были бы системати­чески изложены, во-первых, ключевые принципы, концепции и по­нятия, составляющие

основу предмета и поэтому претендующие на относительную стабильность, и, во-вторых, перспективные идеи и тенденции, помогающие ориентироваться в огромном и быстро меня­ющемся мире современных языков программирования (ЯП).

Автор столкнулся с немалыми проблемами несмотря на то, что становление современных ЯП происходило, можно сказать, на его глазах. Пришлось пережить и восторги от изобретения первых «язы­ков высокого уровня», быть среди тех, кто увлекался их «усовер­шенствованием» и созданием первых трансляторов, опираясь только на здравый смысл и собственную смекалку, пришлось пережить и надежды на создание «универсального ЯП» объединенными усилия­ми международного программистского братства, и разочарования от бездарной траты сил и средств на бесперспективные начинания.

Заметив это обстоятельство, автор уже сознательно стал иногда рассчитывать не только на студенческую аудиторию, но и на более искушенного читателя, позволяя себе намеки и аналогии, подразу­мевающие личный опыт программирования и даже экспертной деятельности в области ЯП. Более того, стало очень трудно отделить то, что известно, признано, устоялось, от того, что удалось только что понять, систематизировать, придумать. В результате жанр книги стал менее определенным, «поплыл» от первоначально задуманного учебного пособия в сторону монографии.

В книге немало вопросов и упражнений (снабженных обычно подсказками), призванных помочь читателю управлять своим вни­манием и контролировать уровень усвоения материала. Результаты упражнений при дальнейшем изложении не используются.

Так как замысел книги возник восемь лет назад и почти полови­на материала написана еще в 1983-1985 гг., закономерно опасение, не устарела ли книга еще до своего выхода в свет. Конечно, судить об этом читателю, однако автор старался отбирать фундаментальные и, по его мнению, перспективные концепции и принципы, которые по самой своей природе должны быть стабильнее быстро меняющей­ся конъюнктуры.

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Uchenik.top - научные работы и подготовка
0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии