Креативное программирование 2.0

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Роберт Гласс исследует важный, но часто упускаемый из виду вопрос о роли творчества в программном инжиниринге и программировании. Почти полувековой личный опыт как разработчика, преподавателя и исследователя помогают автору охватить множество проблем. Что важнее – процесс или продукт? Каково соотношение между «интеллектуальным» и «канцелярским» трудом, а также между теорией и практикой в программировании и как сделать их взаимодействие более эффективным? В каких ситуациях полезнее подход со строгим контролем, а когда лучше свободное экспериментирование? Первое издание, вышедшее в 1995 году, стало бестселлером. Второе издание подверглось значительной доработке. Том Демарко в своем предисловии сравнивает его со знаменитым «Мифическим человеко-месяцем» Фредерика Брукса. Первоначальный текст был дополнен результатами более чем десятилетних поисков недостающего звена между творчеством и программированием. Со свойственным автору мягким юмором и эрудированностью он дает читателю советы и рекомендации огромной важности, проливает свет на историю становления индустрии разработки ПО, исподволь подводя к мысли о том, что настоящий программист – это не оператор, не наборщик кода, а настоящий Творец.

Author(s): Гласс Роберт
Publisher: Символ-Плюс
Year: 2009

Language: Russian
Pages: 351
City: Санкт-Петербург

Предисловие Тома Демарко
Предисловие к первому изданию
Предисловие ко второму изданию
Почему «Креативное программирование»?
Часть I. Два типа мышления: исследование творчества в области программирования
Введение
Глава 1. Дисциплина и гибкость
Введение
1.1. Генри Форд от программирования, пожалуйста, встаньте!
1.2. Автоматизация программирования – факт или фикция?.
1.3. Правда ли, что программистами «невозможно управлять»?
1.4. Дисциплина – неприличное слово: рассказ о жизненном цикле разработки программного продукта
1.5. Имитация программной разработки.
1.6. Гибкое программирование (Agile): гибкость достигла зрелости
1.7. Странный случай с карандашом корректора.
1.8. Индекс сложности
1.9. «Странная парочка» – дисциплина и творчество
Глава 2. Формальные методы и эвристики.
Введение
2.1. По поводу одной дискуссии
2.2. Программирование без комплекса вины
2.3. Формальные методы: драма (успех, провал)
2.4. За границами формальных методов
2.5. Письма читателей: размышления о формальных методах
Глава 3. Оптимизация и разумная достаточность
Введение
3.1. Принцип «лучшее – враг хорошего» и решение задач
3.2. Достаточно хорошее программное обеспечение
3.3. В защиту методов ad hoc
3.4. Михаил Горбачев и продуктивность программирования (!?)
Глава 4. Количественный и качественный подходы
Введение
4.1. «Нельзя управлять тем, что нельзя измерить» – так ли это?.
4.2. Математика и компьютерные науки.
4.3. Роль интуиции в принятии решений
4.4. Тьма ловушек: числа бывают разные
Глава 5. Процесс или продукт?
Введение
5.1. Приводит ли хороший процесс к лучшему продукту?
5.2. Приводит ли хороший процесс к лучшему продукту? Другая точка зрения
5.3. В шаге от славы
5.4. Разные мысли по поводу процесса программирования
5.5. Процессы и люди: путь к хорошему продукту
5.6. Оценка результатов применения модели зрелости процесса (CMM)
5.7. Когда лучше ориентироваться на продукт, а когда – на процесс?
Глава 6. Интеллектуальные и канцелярские задачи
Введение
6.1. Программы: трудно или легко их делать?
6.2. Задачи программирования: интеллектуальные, канцелярские или... творческие?
6.3. Почему люди «покупаются» на революционные идеи
Глава 7. Теория и практика.
Введение
7.1. Временное соотношение теории и практики
7.2. Теория против практики – новый взгляд.
7.3. Теория и практика: тревожный пример
7.4. Полет шмеля
7.5. Теория и практика: разные жалобы
7.6. Области программирования, где практика опережает теорию
Глава 8. Наука и производство
Введение
8.1. Дихотомия интересного/полезного.
8.2. Дихотомия индивидуального/группового
8.3. Две фразы из поп культуры
8.4. О понимании, согласии... и формальных методах
8.5. Структурированное исследование? (Немного лукавое предложение)
8.6. Плавающее соотношение передача/прием
8.7. Заседание комиссии, не ориентированной на цель
8.8. Точность и актуальность
Глава 9. Забавность и серьезность
Введение
9.1. Разрываясь между забавностью и скукой
9.2. Open Source: возвращение забавности
9.3. Путешествие по странному проекту
9.4. Помогите найти!

Часть II. Как стимулировать творчество
Введение
Глава 10. Творчество в программирующей организации.
Введение
10.1. Греция и Рим: две очень разные культуры программирования
10.2. Контроль и корпоративная культура
10.3. Управление и новаторство
10.4. Творчество и стратегические информационные системы
10.5. Творчество против закона.
Глава 11. Творчество в программных технологиях
Введение
11.1. Примеры творческого подхода к реализации информационных систем
11.2. Творчество и разработка ПО: недостающее звено.
11.3. Творчество и реальность: конкретный случай
Глава 12. Исторические даты творчества в программировании
Введение
12.1. Первая историческая дата
12.2. Следующие «серебряные пули».
12.3. Творчество и стремление к упрощенности.

Часть III. Краткий обзор творчества в других областях
Введение
Глава 13. Организационное творчество
Глава 14. Творческая личность
Глава 15. Помощь компьютера в творчестве
Глава 16. Парадоксы творчества.
Глава 17. Так было всегда
Часть IV. Итоги и выводы
Введение
Глава 18. Синергическое заключение
Глава 19. Еще несколько выводов
Алфавитный указатель