Литература
    В данном разделе представлен перечень литературы по программированию для тех платформ и на тех языках программирования, с которыми мне довелось столкнуться в академическом или профессиональном плане. Приводится краткое описание содержания книг, моих впечатлений по прочтении, а также предлагается мой личный рейтинг рассматриваемых книг.
C++
Программная инженерия
Программирование для Windows
Проектирование/Design
Методологии программирования
Базы данных
Oracle
PowerBuilder
С++
Герб Саттер. Решение сложных задач на C++. - М.: Издательский дом "Вильямс", 2002. - 400 с.: ил. - ISBN 5-8459-0352-1
Herb Sutter. Exceptional C++. Addison-Wesley. 2001, ISBN 0-201-77581-6
  Материал данной книги составляют переработанные задачи серии Guru of the Week (GotW). Великолепная подборка сложных задач, тонкости решения которых необходимо знать каждому программисту, создающему хороший и надежный продукт. Для каждого примера приводится детальное описание всех подводных камней и рекомендации гуру. Данную книгу обязательно нужно прочитать, вы почерпнете еще столько же новых знаний по С++ сколько у вас было до прочтения книги. Обязательна для прочтения.
настольная книга
Андрей Александреску. Современное проектирование на C++. - М.: Издательский дом "Вильямс", 2002. - 336 с. ISBN 5-8459-0351-3
Andrei Alexandrescu. Modern C++ Design. Addison-Wesley. 2001, ISBN 0-201-77581-6
  Великолепная книга, посвященная обобщенному программированию. В книге объянсяются и реализуются сложные идиомы, применяемые при проектировании на С++, приводится обощение паттернов проектирования (Gamma et al) при помощи шаблонов, детально описываются специализация шаблонов, перегрузка операторов, тонкости наследования и полиморфизма. Отдельного внимания заслуживает описаный подход программирования на этапе компиляции (списки типов, их сортировка и т.п.). С помощью данной книги вы существенно повысите свой профессиональный уровень. Обязательна для прочтения.
настольная книга
Джефф Элджер. C++. Библиотека программиста. - СПб: Питер, 2001. - 320 с.: ил., ISBN-5-8046-0045-1
Jeff Alger. C++ for real programmers. AP Professional. 1998, ISBN 0-12-049942-8
  Автор, программист с 20-летним стажем, описывает множество полезных приемов программирования на C++ нетривиального использования указателей, иерархий классов и управления памятью. Описываются идеи умных, мудрых и гениальных указателей, курсоров, интераторов и коллекций. Описываются примеры использования производящих функций, объектов классов, гомоморфных иерархий, транзакций, механизмов управления памятью и сборки мусора. Это не справочник по языку и не описание стандарта. Идея книги словами автора: "выжать из C++ все возможное и невозможное и щедро разбросать головоломки, представляющие интерес даже для самых выдающихся экспертов". Настоятельно рекомендую к прочтению.
настольная книга
Скотт Мейерс. Эффективное использование STL. Библиотека программиста. - СПб: Питер, 2002. - 224 с.: ил., ISBN-5-94723-382-7
Scott Meyers. Effective STL. Addison-Wesley. 2001, ISBN 0-201-74962-9
  Вы когда-нибудь использовали STL? Нет, по-настоящему пользовались теми возможностями, которые эта библиотека предоставляет? Только данная книга раскрыла мне глаза на огромный мир STL, наполненный прекрасными примерами решения сложных задач, а с другой стороны впечетлающей сложностью, с которой приходится сталкиваться при использовании казалось бы безобидных инструментов.Если вы используете STL в вашей работе, очень рекомендую к прочтению данную книгу.
настольная книга по STL
Программная инженерия
Амблер Скотт. Гибкие технологии: экстремальное программирование и унифицированный процесс. Библиотека программиста. - СПб.: Питер, 2005. - 412 с. ISBN 5-94723-545-5
Scott W. Ambler Agile Modelling: Exective Practices For Extreme Programming, Wiley, 2002, ISBN 0-471-20282-7
  Это единственное издание переведенное на русский язык, посвященное гибким (Agile) методам в разработке программного обеспечения, получивших довольно широкое распространение в последнее время. Данная книга посвящена гибкому моделированию и содержит массу ценного материала о множестве видов моделей, применяемых при разработке ПО, способах их пременения с целью эффективной разработки. Рассматриваются связь гибкого моделирования и XP, а также усечение громоздкого и избыточного RUP до эффективного процесса моделирования ПО. Очень рекомендую эту книгу для понимания процесса моделирования и места XP и RUP.
Бек К. Экстремальное программирование: разработка через тестирование. Библиотека программиста. - СПб: Питер, 2003. - 224 с.: ил., ISBN 5-8046-0051-6
Kent Beck, Test-driven development. By example. Addison-Wesley, ISBN 0-321-14653-0
  Отличное введение в популярную методику разработки через тестирование. Вы должны обязательно прочитать эту книгу, она раскрывает глаза на казалось бы хорошо известные вещи, учит создавать качественный, простой и легкий в сопровождении код. Не забывайте постоянно совершенствовать свой стиль. Must read.
Спинеллис, Диомидис. Анализ программного кода на примере проектов Open Source.: Пер. с англ. - М.: Издательский дом "Вильямс", 2004. - 528 с.: ил., ISBN 5-8459-0604-0
Diomidis Spinellis. CODE Reading. Addison-Wesley, ISBN 0-201-79940-5
  Автор книги поставил своей целью еще раз напомнить нам о том, на сколько полезно чтение программного кода других программистов. Это не просто обучение, изучение других стилей, но также исследование реализаций различных алгоритмов. Нужно стараться как можно реже изобретать велосипед. В книге также рассматриваются различные способы организации кода и методики изучения чужого кода. Рекомендую.
Торвальдс Л. Даймонд Д. Ради удовольствия. Рассказ нечаянного революционера. - М: Изд-во ЭКСМО, 2002. - 288 с., ISBN 5-04-009285-7
Linus Torvalds and David Diamond. Just for Fun. The Story of an Accidential Revolutionary. HarperCollins Publishers, Inc. 2001
  Отличная книга о философии программирования, нелегком и интересном пути создателя Linux, отличное введение в философию открытого кода и взгляд изнутри о жизни кремниевой долины.
Ричард Э. Смит. Аутентификация: от паролей до открытых ключей. - М: Издательский дом "Вильямс", 2002. - 432 с.: ил., ISBN 5-8459-0341-6
Richard E. Smith, Authentication, from Passwords to Public Keys. Addison-Wesley. 2002, ISBN 0-201-61599-1
  Замечательная книга, описывающая понятие аутентификации в различных примерах. Приводится очень доступное, но в то же время достаточно объемное описание современных протоколов, способов шифрования данных и аутентификации пользователей в различных системах. Описывается актуальная в наши дни идиома открытых ключей, без понимания которой невозможно разрабатывать современные защищенные системы.
Тэллес М., Хсих Ю. Наука отладки. - М: КУДИЦ-ОБРАЗ, 2003. - 560 с., ISBN 5-93378-059-6
Matt Telles, Yuan Hsieh, The Science of Debugging. Coriolis. 2001, ISBN 0-7897-2594-0
  Единственная попавшая ко мне в руки книга об ошибках в программном обеспечении, о том как их не допускать, как находить и исправлять. В книге описаны все аспекты наладки и обслуживания как маленьких программ, так и больших распределенных программных систем. Авторы книги профессиональные наладчики ПО, имеющие большой опыт отыскания и устранения самых разнообразных дефектов в ПО. Авторы описывают множество методов, применение которых позволит создавать качественное и легкое в обслуживании ПО. Использование методов наладки на всех стадиях процесса разработки ПО, начиная от планирования и заканчивая тестированием, существенно уменьшит затраты на исправление ошибок, внесенных на ранних этапах создания продукта. Очень рекомендую прочитать эту книгу, которая полезна не только разработчикам, но и мендежрам и тестировщикам.
Ларри Константайн. Человеческий фактор в программировании. - СПб: Символ-Плюс, 2004. - 384 с., ISBN 5-93286-044-8
Larry L. Constantine. The Peopleware Papers. Prentice Hall. 2001, ISBN 0-13-060123-3
  Дополненный сборник статей одного из известных практикующих менджеров в области разработки программного обеспечения (признанного эксперта в области ИТ). Предметом исследований каждой статьи является не технология, не новые инструменты, а именно человек - участник команды разработчиков. Очень рекомендую прочитать эту книгу, которая полезна не только мендежрам, но и разработчикам ПО.
Л. Борохович, А. Монастырская, М. Трохова. Ваша интеллектуальная собственность. - СПб: Питер, 2001. - 416 с., ISBN 5-318-00215-3
  Очень полезная книга для разработчиков программного обеспечения, которые уже озаботились защитой своей интеллектуальной собственности, знания по которой необходимы для успешного ведения бизнеса в области разработки ПО. Рекомендую к прочтению.
Windows
Джеффри Рихтер. Windows для профессионалов. - М: Издательский отдел "Русская редакция" ТОО "Channel Trading Ltd.", 1997. - 712 с.: ил., ISBN-5-7502-0046-9
Jeffrey Richter. Advanced Windows. 1997, ISBN 1-57231-548-2
  Прекрасное руководство по профессиональной разработке приложений на платформе Windows NT/2000. Описание организации самой ОС, способов управления памятью. Описано использование всевозможных объектов системы, с указанием узких мест, которые всегда нужно иметь ввиду. Описаны низкоуровневые механизмы работы с DLL, потоками, процессами и т.п.Обязательно для прочтения.
настольная книга по WinAPI
Лу Гринзоу. Философия программирования для Windows 95. - СПб: Символ-Плюс, 1997. - 640 с.: ил., ISBN-5-89051-005-3
Lu Grinzou. Zen of Windows 95 programming. The Coriolis Group. 1997, ISBN 1-883577-58-6
  Довольно занятное чтиво о принципах разработки ПО для Windows 95, сопоставление интерфейсных коцепций с Windows 3.1. Описаны тонкости использования отдельных функций "нового" 32-х разрядного WinAPI.
Microsoft Corporation. Руководство программиста по Microsoft Windows 95. Пер. с англ. - М.: Издательский отдел "Русская редакция" ТОО "Channel Trading Ltd.", 1997. - 600 с.: ил., ISBN 5-7502-0035-3
Microsoft corporation. Programmer's Guide to Microsoft Windows 95. Microsoft Press. 1995, ISBN 1-55615-834-3
  Выход в свет операционной системы Microsoft Windows 95 произвел фурор в мире операционных систем для PC, обусловленный в основном новыми элементами пользовательского интерфейса и собственно самой оболочкой Windows 95. Данная книга описывает принципы создания коммерческих приложений (включая вопросы локализации) и представляет собой централизованное детальное описание новых возможностей по расширению оболочки Windows 95 (пространство имен, расширения оболочки, панели приложений, ярлыки и анализаторы файлов).
Проектирование/Design
Влиссидес Джон. Применение шаблонов проектирования. Дополнительные штрихи. - М.: Издательский дом "Вильямс", 2003. - 144с. ISBN 5-8459-0393-9
John Vlissides. Pattern Hatching. Design Patterns Applied. Addison-Wesley, 1998
  Продолжение отличной книги о паттернах проектирвоания. Автор (один из тех четверых) высказывает свою точку зрения на некоторые спорные вопросы, представляет несколько новых паттернов, не вошедших в первую книгу. В книге содержатся мнения читателей по поводу паттернов и решению различных проблем, связанных с ними.
Мартин Фаулер. Архитектура корпоративных программных приложений. - М: Издательский дом "Вильямс", 2004. - 544 с.: ил., ISBN-5-8459-0579-6
Martin Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley. 2003, ISBN 0-321-12742-0
  Великолепное издание от гуру в области объектно-ориентированного проектирования и разработки больших корпоративных систем. Описываются все нюансы применения множества типовых решений из данной области. Книга предназначена для программистов, проектировщиков и архитекторов, которые занимаются созданием корпоративных приложений и стремятся повысить качество принимаемых стратегических решений. Рекомендуется к обязательному прочтению.
настольная книга проектировщика
Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - СПб: Питер, 2001. - 368 с.: ил., ISBN-5-272-00355-1
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: elements of reusable object-oriented software. Addison-Wesley. 1995, ISBN 0-201-63361-2
  В книге демонстрируется роль паттернов в создании архитектуры сложных систем, приводится большой перечень разработанных паттернов проектирования, которые разработчик может применять в собственных решениях. Повторное использование элементов проектировния - мечта любого проектировщика. Рекомендуется к прочтению.
настольная книга проектировщика
Фредерик Брукс. Мифический человеко-месяц или как создаются программные системы. - СПб: Символ-Плюс, 2001. - 304 с.: ил., ISBN-5-93286-005-7
Frederick P. Brooks, Jr. The Mythical Man-Month. Essays on Software Engineering, Anniversary Edition. Addison-Wesley. 1995, ISBN 0-201-83595-9
  Юбилейное издание своего рода библии для разработчиков программного обеспечения во всем мире, написанное Бруксом еще в 1975 году. Книга описывает проблемы, с которыми сталкиваются проектировщики и руководители крупных коллективов разработчиков. Для меня данная книга явилась больше экскурсом в иторию становления промышленной разработки ПО.
Дин Леффингуэлл, Дон Уидриг. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. Пер. с англ. - М: Издательский дом "Вильямс", 2002. - 448 с.: ил., ISBN 5-8459-0275-4
Dean Leffingwell, Don Widrig, Managing Software Requirements. Addison-Wesley. 2000, ISBN 0-2016-1593-2
  Книга посвящена вопросам формирования требований и работе с ними при разработке сложных систем программного обеспечения. Книга предназначена для всех участников проекта - как членов команды разработчиков, так и пользователей или заказчиков.
Мартин Фаулер, Кендалл Скотт. UML. Основы. Пер. с англ. - СПб: Символ-Плюс, 2002. - 192 с.: ил., ISBN 5-93286-032-4
Martin Fowler, Kendall Scott, UML Distilled. A Brief Guide to the Standard Object Modeling Language. Addison-Wesley. 2000, ISBN 0-201-65783-X
  Замечательное краткое (но интенсивное) руководство по UML, в котором приводится описание освновных диаграмм языка UML и их элементов с комментариями гуру объектно-ориентированного анализа и проектирования по их назначению и применению.
настольная книга проектировщика
Методологии программирования
Кент Бек. Экстремальное программирование. Библиотека программиста. - СПб: Питер, 2002. - 224 с.: ил., ISBN-5-94723-032-1
Kent Beck. Extreme Programming Explained. Addison-Wesley. 2000, ISBN 0-201-61641-6
  Слышали когда-нибудь о довольно молодой методологии eXtreme Programming (XP)? Данная книга, от одного из авторов данной методологии, прекрасно описывает основные идеи и методы достижения главной цели - завершения проекта в срок в рамках экстремального программирования. Такого подхода, при котором все элементы методологии, а по сути хорошо известные разрозненные методы разработки ПО, применяются максимально полно. Думаю всем разработчикам полезно знать о существующих в XP методах.
Базы данных
Мартин Грабер. Введение в SQL. - М: Издательство "ЛОРИ", 1996. - 378 с.: ил., ISBN-5-85582-010-6
Martin Gruber. Understanding SQL. SYBEX Inc. 1990
  Легендарное учебное пособие по основам SQL.
Дейт, К. Дж. Введение в системы баз данных. - СПб: Издательский дом "Вильямс", 2000. - 848 с.: ил., ISBN-5-8459-0019-0
C. J. Date. An Introduction to Database Systems. Addison-Wesley. 1995, ISBN 0-201-54329-X
  Легендарное учебное пособие по базам данных. Описание с нуля всей концепции реляционных баз данных, включая реляционную алгебру, языка запросов SQL, транзакций и описание проблемных моментов, включая возможность создания объектно-риентированных баз данных.
настольная книга разработчика СУБД
Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год. - М: Финансы и статистика, 1999. - 479 с.: ил., ISBN-5-279-01789-2
Alan R. Simon. Strategic Database Technology: management for the year 2000. Morgan Kaufmann Publicsher, Inc. 1995.
  Полное описание состояния рынка и технологического уровня систем управления базами данных (СУБД) по состоянию на 2000 год. Описаны основные возможности современных СУБД, которые необходимо знать сотруднику IT-отдела.
Oracle
Том Кайт. Oracle для профессионалов, т. 1 - СПб: ООО "ДиаСофтЮП", 2003. - 672 с., ISBN 5-93772-072-5
Thomas Kyte. Expert One-on-One Oracle. Wrox, 2002.
  Одна из самых лучших книг по архитектуре, принципам работы и возможностям СУБД Oracle от ведущего экcперта, сотрудника Oracle Corp. С огромным количеством примеров приводится наиболее полное описание принципов разработки сложных информационных систем с применением обширных возможностей СУБД Oracle. Рекомендую к обязательному прочтению для начинающих, а также опытных разработчиков СУБД
настрольная книга
PowerBuilder
Смит, Брайан Дж., Шаад, Гордон У. и др. PowerBuilder 5.0. Библия разработчика.: Пер. с анг. - К: Диалектика, 1997. - 544 с.: ил., ISBN 966-506-063-5
  Полное введение в PowerBuilder, описаны все его основные возможности, PowerScript (с понятиями объектно-ориентированного программирования), детальное описание механизма работы DataWindow, приведено большое число примеров. Рекомендую к обязательному прочтению для начинающих, а также опытных программистов
Хайес, Вильям, Б., Вуд, Чарлз, А. Использование PowerBuilder 6.: Пер. с анг. - К.; М.; СПб.: Издат. дом "Вильямс", 1998. - 688 с.: ил., ISBN 966-7416-09-7
William B. Hayes with Charles A. Wood. Using PowerBuilder 6. Special Edition. QUE. 1998, ISBN 0-7897-1437-X
  Авторы рассматривают богатые возможности PowerBuilder, уделяют большое внимание описанию всех этапов жизненного цикла разработки прикладных систем. Рекомендую к прочтению
 Evgeny Savitsky © 2002-2004