OberonCore
https://forum.oberoncore.ru/

Литература по теоретическому программированию
https://forum.oberoncore.ru/viewtopic.php?f=75&t=2140
Страница 2 из 3

Автор:  Илья Ермаков [ Четверг, 08 Апрель, 2010 20:29 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Александр Сергеевич именно Линуксом занимался вроде.

А Явой тоже занимаются, да.

Автор:  Владислав Жаринов [ Четверг, 02 Декабрь, 2010 04:29 ]
Заголовок сообщения:  Теория программирования на Паскале

Возможно, в тему :wink: вот такой курс:
Вложение:
Комментарий к файлу: Круз Р. Структуры данных и проектирование программ. - М.:БИНОМ - Лаборатория знаний, 2008.
Систематический курс программирования от структур данных на базе формализованной постановки задачи. Базовый прогязык - Паскаль.

Круз-СДиПрг-извл(ТЛ+ВД+Огл+Гл1).djvu [261.82 КБ]
Скачиваний: 310

Рассмотрены основные классы алгоритмов, в т.ч. на примере практических задач различной сложности. Изложение наглядное, достаточно хорошо иллюстрировано. Такой своего рода "Вирт, расширенный почти до Кнута" :) (книга почти in folio - хотя полный Кнут со всеми на сегодня допвыпусками всё-таки раза в полтора-два больше будет - но суть не в этом, конечно - из оглавления видно, что также разбираются основные классы :D ).

Автор:  Info21 [ Четверг, 02 Декабрь, 2010 05:22 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Илья Ермаков писал(а):
А Явой тоже занимаются, да.
Про Яву я сказал на основе личных впечатлений от увиденного при посещении института.

Автор:  Валерий Лаптев [ Четверг, 02 Декабрь, 2010 16:48 ]
Заголовок сообщения:  Re: Теория программирования на Паскале

Драконограф писал(а):
Возможно, в тему :wink: вот такой курс:

Круз Р. Структуры данных и проектирование программ. - М.:БИНОМ - Лаборатория знаний, 2008.
Систематический курс программирования от структур данных на базе формализованной постановки задачи. Базовый прогязык - Паскаль.

Рассмотрены основные классы алгоритмов, в т.ч. на примере практических задач различной сложности. Изложение наглядное, достаточно хорошо иллюстрировано. Такой своего рода "Вирт, расширенный почти до Кнута" :) (книга почти in folio - хотя полный Кнут со всеми на сегодня допвыпусками всё-таки раза в полтора-два больше будет - но суть не в этом, конечно :D ).

Добротная книжка. Я ее студентам рекомендую довольно часто.

Автор:  Владислав Жаринов [ Четверг, 14 Апрель, 2011 06:49 ]
Заголовок сообщения:  Снова Круз и не только

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

Кстати, любопытная книга: Камаев, Костерин. Технологии программирования. - М.: КНОРУС, 2006. Собрали помаленьку о подходах к архитектуре (СОМ, АТД и пр.), увязке документирования с ЕСПД, процессах РПО; интересно, что в едином цикле с постановкой задачи. Также для доалгоритмической процедуры (квазиалгоритма в смысле Поспелова) вводится понятие "эвроритм" и интересное определение - как "описания, уточняемого в ходе исполнения человеком за счёт его разумности". Пожалуй, можно принять за основу :)

Автор:  Валерий Лаптев [ Четверг, 14 Апрель, 2011 08:30 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Спасибо, что обратили внимание. Теперь внимательно почитаю... :)

Автор:  Владислав Жаринов [ Четверг, 16 Июнь, 2011 13:21 ]
Заголовок сообщения:  Камаев, Костерин "Технологии программирования"

Валерий Лаптев писал(а):
Спасибо, что обратили внимание. Теперь внимательно почитаю... :)
Кстати, там в Гл. 5 предлагаемая процедура (методика) структуризации процесса решения перекликается с методиками Ляховича.

А у Вас (или у кого-нибудь) есть образ этой книги?

Автор:  Валерий Лаптев [ Четверг, 16 Июнь, 2011 19:42 ]
Заголовок сообщения:  Re: Камаев, Костерин "Технологии программирования"

Драконограф писал(а):
Валерий Лаптев писал(а):
Спасибо, что обратили внимание. Теперь внимательно почитаю... :)
Кстати, там в Гл. 5 предлагаемая процедура (методика) структуризации процесса решения перекликается с методиками Ляховича.

А у Вас (или у кого-нибудь) есть образ этой книги?

Образа - нет. Я всегда предпочитаю бумажные.

Автор:  Владислав Жаринов [ Четверг, 11 Август, 2011 16:52 ]
Заголовок сообщения:  Спецификации и структуры данных

Вот эта работа Бабичева, вероятно, может оказаться небесполезной при разработке сред программирования... в частности, реализации визуального представления деклар-знаний...

Автор:  Владислав Жаринов [ Среда, 31 Август, 2011 06:49 ]
Заголовок сообщения:  Последовательное и параллельное программирование

Вот такая книжка, возможно, послужит расширением Круза на параллелизм:
Вложение:
Вложение:
Книга недавно была в продаже; цена от оптовика порядка 200 р. Главы включены в образ в основном чтобы специалист оценил подход и решил для себя: а стоит ли включать в свой багаж (а также репертуар и реквизит)? :)
    Видно, что для записи информоделей задач используется форма, близкая к Крузу - только вместо реализации на Паскале алгоритм записан на условном языке с английской маршрутной лексикой и действиями на структурированном ЕЯ и/или математическом; типы величин также определены "неабстрагированно", примерно как здесь или здесь. :) Что позволяет считать эти описания спецификациями задач (программ решения).

Автор:  Владислав Жаринов [ Суббота, 24 Декабрь, 2011 16:48 ]
Заголовок сообщения:  Б. Пирс. Типы в языках программирования

Вот нашёл: http://newstar.rinet.ru/~goga/tapl/tapl-toc.html
М.б. надо для чего-то. :)

Автор:  Валерий Лаптев [ Четверг, 01 Март, 2012 20:31 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Еще есть вот такая книга Степанова:http://www.ozon.ru/context/detail/id/6279127/
Цитата:
В настоящей книге применяется дедуктивный подход к программированию, основанный на объединении программ с абстрактными математическими теориями, которые обеспечивают их работу.

Представлены вместе описания этих теорий, алгоритмы, записанные с точки зрения этих теорий, а также теоремы и леммы, описывающие их свойства. Реализация алгоритмов на реальном языке программирования является центральной темой книги.

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

Краткое содержание книги
В главе 1 приведено описание значений, объектов, типов, процедур и концепций. Главы 2–5 посвящены алгоритмам на алгебраических структурах, таких как полугруппы и полностью упорядоченные множества. В главах 6–11 описываются алгоритмы на абстрактных представлениях памяти. В главе 12 рассматриваются объекты, содержащие другие объекты. В послесловии представлены общие размышения о подходе, изложенном в книге.

"Как известно, инженеры-механики, строители и электрики в своей работе опираются на надежные математические основания. С другой стороны, инженеры-программисты часто практикуют свое ремесло, не имея или почти не имея представления о том, на каком математическом фундаменте зиждется то, чем они занимаются. А потом мы не можем понять, почему программное обеспечение печально известно тем, что поставляется с опозданием и содержит много ошибок, тогда как другие инженеры обычно сдают в эксплуатацию готовые мосты, автомобили, электрические приборы и пр. своевременно и с незначительными дефектами. Настоящая книга призвана устранить это неравенство. Члены моего коллектива, занимающиеся сложными разработками в компании Adobe, после прохождения курса по материалам книги получили чрезвычайно положительную отдачу от вложенных усилий. На первый взгляд книга может показаться весьма специализированной, предназначенной только для теоретиков в области компьютерных наук, но в действительности она должна быть обязательно изучена всеми инженерами-программистами, которые ставят перед собой серьезные задачи".

Автор:  Валерий Лаптев [ Четверг, 01 Март, 2012 20:39 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Только что получил вот эту книгу: http://www.ozon.ru/context/detail/id/5204868/
Цитата:
Книга "Основы языков программирования" написана для студентов старших курсов и аспирантов. В ней используется серия типизированных лямбда-исчислений для изучения аксиоматической, операциональной и денотационной семантики последовательностных языков программирования. По ходу книги происходит постепенное достраивание лямбда-исчисления всё более сложными системами типов.
Отличительной чертой данной книги по сравнению с другими работами по данной теме является то, что в ней содержится материал по универсальной алгебре и алгебраическим типам данных, императивным языкам и Флойд-хоаровской логике, а в последних главах рассматриваются полиморфные типы, модули, подтипы и объектно-ориентированные понятия, а также вывод типов. Книга предназначена прежде всего для изучающих математику, но благодаря включению соответствующих вопросов и примеров материал книги доступен и студентам, специализирующимся по системам программного обеспечения, теории вычислительных систем или математической логике.

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

Рецензия на нее в РСДН:
Цитата:
ГЛАВА 1. Введение
1.1. Модель языков программирования
1.2. Лямбда-обозначения
1.3. Уравнения, редукция и семантики
1.4. Типы и системы типов
1.5. Обозначения и математические соглашения
1.6. Введение в теорию множеств
1.7. Синтаксис и семантика
1.8. Индукция

ГЛАВА 2. Язык ПВФ
2.1. Введение
2.2. Синтаксис ПВФ
2.3. ПВФ-программы и их семантики
2.4. ПВФ-редукция и символьная интерпретация
2.5. Примеры ПВФ. Выразительная мощь и ограничения
2.6. Вариации и расширения ПВФ

ГЛАВА 3. Универсальные алгебры и алгебраические типы данных
3.1. Введение
3.2. Предварительный обзор алгебраических спецификаций
3.3. Алгебры, сигнатуры и термы
3.4. Уравнения, корректность и полнота
3.5. Гомоморфизмы и инициальная алгебра
3.6. Алгебраические типы данных
3.7. Системы переписывания термов

ГЛАВА 4. Строго типизированное лямбда-исчисление
4.1. Введение
4.2. Типы
4.3. Термы
4.4. Формальные системы
4.5. Модели Хенкина, корректность и полнота

ГЛАВА 5. Модели типизированного лямбда-исчисления
5.1. Введение
5.2. Модели Скотта и неподвижные точки
5.3. Индукция по неподвижным точкам
5.4. Вычислительная корректность и полная абстракция
5.5. Теоретико-рекурсивные модели
5.6. Отношения частичной эквивалентности и рекурсия

ГЛАВА 6. Императивные программы
6.1. Введение
6.2. while-программы
6.3. Операционная семантика
6.4. Денотационная семантика
6.5. Пред- и постусловия для while-программ
6.6. Семантика дополнительных программных конструктов

ГЛАВА 7. Категории и рекурсивные типы
7.1. Введение
7.2. Декартово замкнутые категории
7.3. Ламбда-модели Крипке и категории функторов
7.4. Модели областей рекурсивных типов

ГЛАВА 8. Логические отношения
8.1. Введение в логические отношения
8.2. Логические отношения на аппликативных структурах
8.3. Результаты теории доказательств
8.4. Частичные сюръективности и особые модели
8.5. Независимость от представления
8.6. Обобщения логических отношений

ГЛАВА 9. Полиморфизм и модульность
9.1. Введение
9.2. Предикативное полиморфное исчисление
9.3. Импредикативный полиморфизм
9.4. Абстрактные типы данных и объемные типы
9.5. Обобщенные произведения, суммы и программные модули

ГЛАВА 10. Подтипы и связанные с ними понятия
10.1. Введение
10.2. Строго типизированное лямбда-исчисление с подтипами
10.3. Записи
10.4. Семантические модели для подтипов
10.5. Рекурсивные типы и модель объектов через записи
10.6. Полиморфизм с ограничениями на подтипы

ГЛАВА 11. Вывод типов
11.1. Введение
11.2. Вывод типов для лямбда> с типовыми переменными
11.3. Вывод типов с полиморфными объявлениями

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

Теперь по существу: книжка очень сложная. Для её чтения необходима крепкая подготовка в математической логике (а главное, навыки формальных рассуждений), теории алгоритмов (особенно теории рекурсивных функций), теории категорий. Многие понятия автор вводит, но очень поверхностно и быстро, так что если чего-то заранее не знать, то понятно не будет. Радует, что главы довольно независимы, сам автор пишет, что в книге собран материал для трёх разных курсов: по формальной семантике, по типизированному лямбда-исчислению и теории доменов (вот здесь и нужна теория категорий) и по теории типов. Последняя, впрочем, изложена довольно бегло, поэтому имеет смысл дождаться Пирса. Большая часть результатов даётся в виде упражнений, раздолье хорошему студенту. Много нестрогостей и неясностей (на них указывает Непейвода, зачастую внося ещё большую неопределённость).

Автор:  Владислав Жаринов [ Суббота, 03 Март, 2012 10:17 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Да... читаю Ка<у|й>фмана, и как-то понятнее... правда, там без суперматематики... :) Интересно, Пирс что ли вновь издаётся после этого?.. чё-то не увидал...
Если о математическом - то С.С. Лавров вроде в тему - сплошные теоремы и леммы и притом в оригинальный "каркас сжатия знаний" уложено вроде...
О типах, наверно, теперь и Бабичев тоже...

Автор:  Info21 [ Суббота, 03 Март, 2012 13:50 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Проблема найти грань между недостатком четкости мысли и избыточностью математического формализма.

Тем более, что есть целые сообщества, делающие избыточную формализацию своим знаменем -- и способом отгородиться от критики и т.п.

В этом смысле "теоретическое программирование" подобно чистой математике, где они пытаются отжать и причесать какие-то абстракции, пытаются играть с формализмами, чтобы посмотреть, что получится, -- и страстно надеются, что это "может быть полезно всем, применяющим...". Что обычно лишь благая надежда.

Или вот книжки по вычислительной математике, напичканные малополезными теоремами (Бахвалов), -- в отличие от отлично сбалансированного Калиткина.

В этом смысле некоторым специалистам (вроде, может быть, В.Лаптева) полезно послеживать краем трезвого глаза за этими вещами, -- мало ли что там они сковырнут полезного, -- но понимая, что мотивировки, эти вещи надувающие, являются чаще эндогенными для сообщества "теоретического программирования": им же нужно себя оправдывать, публиковаться, щёки дуть и т.п. И вот это дутьё щек составляет, наверно, 95% всей активности (как всюду в науке).

Автор:  Владислав Жаринов [ Суббота, 03 Март, 2012 14:11 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Вот да, в этом смысле Кауфман не увлекается, как вижу... :) Да и Лавров, прежде чем нырнуть в дебри математических абстракций, в пп. 1.1.1 и 1.2.3 напоминает о том, что за ними при приложении к реальной жизни должно стоять содержание. ;) В частности, что чем практичнее теория - тем больше она математически конструктивна... В принципе, о том же и Акимов...

Автор:  Info21 [ Суббота, 03 Март, 2012 16:04 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Владислав Жаринов писал(а):
Да и Лавров, прежде чем нырнуть в дебри математических абстракций, в пп. 1.1.1 и 1.2.3 напоминает о том, что за ними при приложении к реальной жизни должно стоять содержание. ;)
К сожалению, это говорить все умеют. Из разряда благих надежд.

Автор:  Валерий Лаптев [ Суббота, 03 Март, 2012 20:07 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Книжка Степанова значительно ближе к практическому программированию. Там Степанов пишет корректные программы в стиле книги Гриса "Наука программирования". Но на реальном языке С++.
А вторая - это практически чистая теория, перекликающаяся с некоторыми статьями теоретическими из сборника "Ланные в языках программирования" под редакцией Агафонова.
В этом сборнике Агафонов прекрасный обзор теоретических результатов и положений в конце сделал.

Автор:  Владислав Жаринов [ Суббота, 03 Март, 2012 20:26 ]
Заголовок сообщения:  Re: Литература по теоретическому программированию

Это он, наверное, развивал в этой книге?

Автор:  Владислав Жаринов [ Суббота, 03 Март, 2012 20:33 ]
Заголовок сообщения:  Математические основы

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

Ещё выдержка:
Вложение:
Здесь в завершение Ч.1 даётся авторская формулировка алгоритмической разрешимости. Под стандартными средствами разрешения здесь понимается поиск аналитического решения проблемы теории вычислимости.

В п. 2.1.1 показывается то же, что и у Фридланда - необходимость выделять данные в составе информации.
В п. 2.1.2 раскрываются уровни информатической формализации и показываются основные проблемы.

Страница 2 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/