Креативное программирование 2.0 - Роберт Гласс исследует важный, но часто упускаемый из виду вопрос о роли творчества в программном инжиниринге и программировании. Почти полувековой личный опыт как разработчика, преподавателя и исследователя помогают автору охватить множество проблем. Что важнее – процесс или продукт? Каково соотношение между «интеллектуальным» и «канцелярским» трудом, а также между теорией и практикой в программировании и как сделать их взаимодействие более эффективным? В каких ситуациях полезнее подход со строгим контролем, а когда лучше свободное экспериментирование? Первое издание, вышедшее в 1995 году, стало бестселлером. Второе издание подверглось значительной доработке. Том Демарко в своем предисловии сравнивает его со знаменитым «Мифическим человекомесяцем» Фредерика Брукса. Первоначальный текст был дополнен результатами более чем десятилетних поисков недостающего звена между творчеством и программированием. Со свойственным автору мягким юмором и эрудированностью он дает читателю советы и рекомендации огромной важности, проливает свет на историю становления индустрии разработки ПО, исподволь подводя к мысли о том, что настоящий программист – это не оператор, не наборщик кода, а настоящий Творец.
Название: Креативное программирование 2.0 Автор: Гласс Р. Издательство: Символ-плюс Год: 2009 Страниц: 350 Формат: PDF Размер: 1,65 МБ ISBN: 978-5-93286-152-3 Качество: Отличное Серия или Выпуск: Профессионально
Содержание:
Предисловие Тома Демарко Предисловие к первому изданию Предисловие ко второму изданию Почему «Креативное программирование»? Часть 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. Еще несколько выводов Алфавитный указатель