Программирование. Введение в профессию. Том 3: Парадигмы

Оглавление⌄
Программирование. Введение в профессию том 9. Парадигмы в мышлении программиста....69.1. Загадочное слово <<парадигма>>....69.1.1. Терминологические трудности ....79.1.2. Парадигмы вне программирования ....79.1.3. Обзор основных стилей ....99.2. Рекурсия как пример парадигмы....159.2.1. Пример с обходом дерева ....159.2.2. Виды рекурсии ....169.2.3. Редукция (свёртка) последовательностей ....179.2.4. Остаточная рекурсия ....199.2.5. Рекурсивное мышление ....219.3. Парадигмы и языки программирования....229.3.1. О роли языка программирования ....229.3.2. Концептуальное отличие Си от Паскаля ....239.3.3. Два подхода к сравнению языков ....279.4. Примеры частных парадигм....289.4.1. Callback-функции ....289.4.2. Программирование в терминах явных состояний ....289.4.3. Метапрограммирование ....3010. Язык Си, ООП и АТД....3110.1. От Си к Си....3110.2. О выборе подмножества Си....3210.3. Методы, объекты и защита....3210.3.1. Функции-члены (методы) ....3210.3.2. Неявный указатель на объект ....3310.3.3. Защита. Понятие конструктора ....3310.3.4. Зачем нужна защита ....3410.3.5. Классы ....3510.3.6. Деструкторы ....3510.4. Абстрактные типы данных в Си....3610.4.1. Перегрузка имён функций; декорирование ....3610.4.2. Переопределение символов стандартных операций ....3810.4.3. Конструктор умолчания. Массивы объектов ....3910.4.4. Конструкторы преобразования ....3910.4.5. Ссылки ....3910.4.6. Ссылки на константы ....4010.4.7. Ссылки как семантический феномен ....4110.4.8. Константные методы ....4110.4.9. Операции работы с динамической памятью ....4210.4.10. Конструктор копирования ....4310.4.11. Временные и анонимные объекты ....4310.4.12. Значения параметров по умолчанию ....4410.4.13. Описание метода вне класса. Области видимости ....4510.4.14. <<Подставляемые>> функции (inline) ....4510.4.15. Инициализация членов класса в конструкторе ....4610.4.16. Перегрузка операций простыми функциями ....4610.4.17. Дружественные функции и классы ....4710.4.18. Переопределение операций присваивания ....4810.4.19. Методы, возникающие неявно ....4810.4.20. Переопределение операции индексирования ....4910.4.21. Переопределение операций и -- ....5010.4.22. Переопределение операции -> ....5110.4.23. Переопределение операции вызова функции ....5110.4.24. Переопределение операции преобразования типа ....5210.4.25. Пример: разреженный массив ....5210.4.26. Статические поля и методы ....5410.5. Обработка исключительных ситуаций....5510.5.1. Ошибочные ситуации и проблемы их обработки ....5610.5.2. Общая идея механизма исключений ....5610.5.3. Возбуждение исключений ....5710.5.4. Обработка исключений ....5710.5.5. Обработчики с многоточием ....5810.5.6. Объект класса в роли исключения ....5810.5.7. Автоматическая очистка ....5910.5.8. Преобразования типов исключений ....5910.6. Наследование и полиморфизм....6010.6.1. Иерархические предметные области ....6010.6.2. Наследование структур и полиморфизм адресов ....6010.6.3. Методы и защита при наследовании ....6110.6.4. Конструирование и деструкция наследника ....6210.6.5. Виртуальные функции ....6210.6.6. Чисто виртуальные методы и абстрактные классы ....6410.6.7. Виртуальность в конструкторах и деструкторах ....6510.6.8. Наследование ради конструктора ....6510.6.9. Виртуальный деструктор ....6610.6.10. Ещё о полиморфизме ....6610.6.11. Приватные и защищённые деструкторы ....6610.6.12. Перегрузка функций и сокрытие имён ....6710.6.13. Вызов в обход механизма виртуальности ....6710.6.14. Операции приведения типа ....6810.6.15. Иерархии исключений ....6810.7. Шаблоны....6910.7.1. Шаблоны функций ....7010.7.2. Шаблоны классов ....7010.7.3. Специализация шаблонов ....7210.7.4. Пример: свёртка последовательностей ....7310.7.5. Константы в роли параметров шаблона ....7510.8. Снова о парадигмах....7710.8.1. Спектр парадигм в Си ....7710.8.2. ООП и АТД ....7710.8.3. Полиморфизм без мистики ....7710.8.4. Наследование как сужение множества ....7810.9. Особенности оформления кода на Си....7810.9.1. Соглашения об именах ....7810.9.2. Форматирование заголовков классов ....7910.9.3. Форматирование заголовка конструктора ....7910.9.4. Тела функций в заголовке класса ....8010.10. Пример: TCP-сервер....8010.11. О графических интерфейсах пользователя....8510.11.1. Знакомимся с библиотекой FLTK ....8510.11.2. Простые кнопки и реакция на них ....8710.11.3. Другие виды кнопок ....8810.11.4. Виджеты для ввода текста ....9010.11.5. Обрамление и метки ....9210.11.6. Виджеты для вывода ....9410.11.7. Окна, допускающие изменение размера ....9410.11.8. Обработка аргументов командной строки ....9610.11.9. Обзор нерассмотренных возможностей ....9710.11.10. FLTK и парадигма ООП ....9810.11.11. () Если нужен свой главный цикл ....100Си: что дальше....10011. Неразрушающие парадигмы....10211.1. Язык Лисп и его S-выражения....10211.1.1. Немного истории ....10211.1.2. SBCL, GCL и ECL ....10311.1.3. S-выражения: гетерогенная модель данных ....10611.1.4. Вычисление S-выражений ....10711.1.5. Пользовательские функции ....10911.1.6. Разрушающие функции ....11011.1.7. Функция eval ....11211.1.8. Функции как объекты обработки ....11311.1.9. Фунарг-проблема и лексическое связывание ....11411.1.10. О фунарг-проблеме в других языках ....11711.1.11. Редукция списков ....11911.1.12. Груз устаревших парадигм ....12011.1.13. Возможности, которых лучше бы не было ....12111.1.14. Ввод-вывод ....12211.1.15. Неутешительное заключение ....12611.2. Scheme: Лисп, но не совсем....12711.2.1. Chicken Scheme ....12711.2.2. Видимые отличия Scheme от обычного Лиспа ....12811.2.3. Ввод-вывод в Scheme ....12911.2.4. Континуации (продолжения) ....13111.2.5. () Continuation-passing style ....13411.3. Об оформлении кода на лиспоподобных языках....13411.4. Логическое и декларативное программирование....13511.4.1. Язык Пролог и его история ....13611.4.2. SWI-Prolog ....13611.4.3. Модель данных в Прологе ....13811.4.4. Операция унификации термов ....14111.4.5. Отношения, предикаты и факты ....14111.4.6. Правила и процедуры ....14311.4.7. Обращения к процедурам, прототипы и инверсия ....14411.4.8. Отрицание и отсечение: убийцы логики ....14711.4.9. Арифметика ....14911.4.10. Ввод-вывод ....15111.4.11. Анализ атомов и термов ....15311.4.12. Списки решений ....15411.4.13. Работа с базой данных ....15511.4.14. Оформление кода на Прологе ....15611.5. Ленивые вычисления....15711.5.1. Две возможные стратегии вычисления выражений ....15711.5.2. Хоуп и другие <<ленивые>> языки ....15711.5.3. Интерпретатор Hopeless ....15811.5.4. Лексика и синтаксис языка Хоуп ....15911.5.5. Модель данных и система типов ....15911.5.6. Функции в Хоупе ....16011.5.7. Операции if и let ....16111.5.8. Полиморфные функции ....16211.5.9. Безымянные функции и функционалы ....16311.5.10. Операция letrec ....16411.5.11. Редукция списков ....16511.5.12. Бесконечные структуры данных. Примеры ....16611.5.13. Ввод-вывод в Хоупе ....16711.5.14. Карринг ....16811.5.15. Комбинатор неподвижной точки ....16912. Компиляция, интерпретация, скриптинг....17212.1. Характерные особенности скриптовых языков....17212.2. Язык Tcl....17312.2.1. Интерпретатор и простейшие программы ....17312.2.2. Переменные и их значения ....17412.2.3. Ветвления, циклы... и строки ....17512.2.4. Процедуры и видимость переменных ....17812.2.5. Обработка особых ситуаций ....18012.2.6. Файлы, потоки и внешние команды ....18112.2.7. Ассоциативные массивы ....18312.2.8. Если сравнить Tcl с Лиспом ....18312.3. Интерпретатор Tcl и язык Си....18412.3.1. Встраиваемый Tcl ....18412.3.2. Расширение набора команд tclsh ....18712.4. Графические интерфейсы на TclTk....18712.4.1. Библиотека Tk и интерпретатор wish ....18712.4.2. Взаимодействие с оконным менеджером ....18912.4.3. Основные виджеты ....19012.4.4. Положение и размеры ....19212.4.5. Управление шрифтами ....19412.4.6. Обработка событий ....19512.4.7. <<Ресурсы>> и русификация ....19612.5. Стратегии выполнения как парадигмы....19712.5.1. И всё же что такое скрипт ....19712.5.2. Дихотомия Оустерхаута и её противники ....19812.5.3. И всё же что такое <<интерпретация>>? ....20012.5.4. Интерпретация как парадигма ....20112.5.5. Зависимости и самодостаточность ....20312.5.6. Миф о переносимости ....20512.5.7. Когда интерпретация всё же допустима ....20512.5.8. () Размышления о чистой компиляции ....207Приложения....209Приложение 5. Сравнение файлов и наложение изменений....209Приложение 6. Системы контроля версий....211Система CVS....212Система git....215Заключение....220Список литературы....221Предметный указатель....223
Описание
Коротко и по делу о том, что важно знать про учебник.
Учебник «Программирование: введение в профессию» ориентирован на самостоятельное изучение и предполагает использование систем семейства Unix (в т.ч. Linux) в роли сквозной среды для обучения.
На этом основные моменты по теме закрыты.
Поделиться
программирование
введение
профессию
парадигмы
учебник
ориентирован
самостоятельное
изучение
Частые вопросы
Можно ли скачать «Программирование. Введение в профессию. Том 3: Парадигмы» бесплатно?
Да, «Программирование. Введение в профессию. Том 3: Парадигмы» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF.
Кто автор и когда вышла книга?
автор — Столяров Андрей Викторович, издательство Самиздат, год выпуска 2025, 227 страниц.
О чём книга «Программирование. Введение в профессию. Том 3: Парадигмы»?
Учебник «Программирование: введение в профессию» ориентирован на самостоятельное изучение и предполагает использование систем семейства Unix (в т.ч.