Версия текста: 1. Ежегодно выходит множество книг по программированию, начиная от описания определенных языков программирования, заканчивая восхвалением методологий, которые, якобы, должны изменить этот компьютерный мир к лучшему. Наиболее сложной задачей для читателя в этом случае является выбор из всего этого многообразия книги, на которую действительно будет не жалко потраченных усилий. На многих форумах довольно легко найти перечень рекомендуемых книг по С++, C#, ООП и чему угодно еще, которые люди относят к классике в своей области. Я же хочу собрать в одном месте книги, которые считаются классическими в различных областях компьютерной науки. При этом я не собираюсь основываться исключительно на собственном мнении (более того, я не готов основываться на мнении любого ОДНОГО человека), а воспользоваться для этих целей мнением компьютерного сообщества.
Хорошей практикой в подборе компьютерной литературы является рассмотрение «перекрестных ссылок» литературных источников. Например, если вы возьмете любую книгу, так или иначе связанную с объектно- ориентированным анализом и проектированием, то в перечне литературы вы несомненно найдете труды Бертрана Мейера, Гради Буча, упоминание книги Банды Четырех (Go. F) и, наверняка, Рефакторинг Мартина Фаулера. Такую же картину вы можете наблюдать и пролистывая книги по С++, . Net, базам данных, управлению проектами или любой другой области. Кроме того, многие авторы в перечне литературы приводят не просто голый список, а список с небольшими комментариями, по которым легче судить, какая книга является однодневкой, а какая классической. Теперь вернемся к самому перечню книг.
Приведенный список, ни в коем случае не является окончательным, будет развиваться и дополняться, ведь главная его цель – собрать настоящую классику компьютерной литературы, но не абстрактную, а такую, которая бы помогла практикующему разработчику в заполнении брешей в той или иной области знаний. С++1. Бьерн Страуструп. Язык программирования С++. Специальное издание.
Бином, Невский диалект, 2. Эта книга стоит первой не потому, что ее автор является по совместительству также и автором языка программирования С++, а потому что она содержит невероятную концентрацию мысли на одну строку текста. К этой книге стоит возвращаться снова и снова, и с высоты своего опыта вы будете находить все новые и новые сведения о программировании вообще и о С++ в частности. Рецензия. Купить в Озоне. Бьерн Страуструп. Дизайн и эволюция языка C++.
ДМК Пресс, Питер, 2. Язык С++ является таким, каким он есть со всеми его достоинствами и недостатками. Но прежде чем говорить о тех или иных архитектурных вопросах, стоит посмотреть на то, в каких условиях находились его авторы и почему они принимали те или иные решения. В этой книге рассказывается именно об этом: для чего были введены ссылки, какие силы двигали командой разработчиков языка при реализации первых шаблонов, почему библиотека ввода/вывода такая, какая она есть и так далее. Все эти сведения помогают несколько мягче относится к недостаткам языка и с еще большим уважениям относится к его достоинствам. Рецензия. Купить в Озоне.
Скотт Мейерс. Эффективное использование C++. ДМК Пресс, 2. 00. Рецензия. Купить в Озоне. Скотт Мейерс. Эффективное использование С++. Питер, 2. 00. 6Рецензия.
Купить в Озоне. 5. Скотт Мейерс. Эффективное использование STL.
Питер, 2. 00. 2Рецензия. Купить в Озоне. Все три книги Скотта Мейерса относятся к категории «для продолжающих» и будут полезны людям уже знакомым с С++, но желающим поднять свои знания на следующий уровень. Книги уже давно стали классикой в своей области и являются родоначальниками серии «Effective programming», главным редактором которой является Скотт Мейерс. Герб Саттер. Решение сложных задач на C++. Вильямс, 2. 00. 8Рецензия.
Купить на Озоне. 7. Герб Саттер. Новые сложные задачи на C++. Вильямс, 2. 00. 5Рецензия. Купить на Озоне. Книги Герба Саттера по праву считаются лучшими в области «продвинутых» книг по языку С++. В них рассматриваются интересные задачи и не менее интересные решения, исследуются темные углы языка С++, включая тему безопасности исключений, которая является весьма сложной и наиболее любимой автором (не зря первые две книги автора названы “Exceptional C++” и “More Exceptional C++”).
Главы этих книг доступны на сайте автора (http: //gotw. Герба можно найти множество статей серии Effective Concurrency, которые уже в ближайшее время выйдут в виде новой книги.
Андрей Александреску. Современное проектирование на С++. Вильямс, 2. 00. 4В своей книге Александреску показывает, как можно реализовать основные шаблоны проектирования, описанные в книге «банды четырех», с помощью современного компилятора С++. Книга требует серьезной подготовки как в области шаблонов проектирования (design patterns), так и шаблонов С++ (C++ templates), поэтому я бы рекомендовал ее к прочтению после тщательного изучения книги «банды четырех» и книги Джосаттиса и Вандервурда по шаблонам С++. Рецензия. Купить на Озоне.
Герб Саттер и Андрей Александреску. Стандарты программирования на С++. Вильямс, 2. 00. 8Книга представляет собой концентрацию опыта, накопленного авторами и компьютерным сообществом в области программирования на С++. Ее можно рассматривать как краткую версию «продвинутых» книг по языку программирования С++, ставших такими популярными в последнее время.
Рецензия. Купить на Озоне. Дэвид Вандевурд, Николай М. Шаблоны C++. Справочник разработчика. Вильямс, 2. 00. 8Книга представляет собой наиболее полное руководство по шаблона С++, начиная от простых шаблонов функций и классов, заканчивая метапрограммированием и определением фундаментальных типов во время компиляции.
Она прекрасно дополняет книгу Александреску «Современное проектирование», а точнее позволяет понять и реализовать самостоятельно все то, о чем пишет Андреи в своей книге. Инструкция По Ремонту Лада Гранта Лифтбек. Рецензия. Купить на Озоне. Java. 1. Prentice Hall Ptr, 2. Книга Брюса Эккеля является, безусловно, лучшим учебником по языку программирования Java с введением в объектно- ориентированное программирование и шаблоны проектирования.
Автор обладает отличным стилем изложения, приводит интересные примеры и не стесняется критики разработчиков языка. В 2. 00. 9- м году вышла на русский язык под названием «Философия Java», отличительной особенностью русскоязычного варианта является отсутствие пяти глав: Strings, Container In Depth, Enumerated Types, Annotations и Graphic User Interface. Поэтому вопрос о том, какой вариант выбирать остается открытым. Купить на Озоне. 2. Кей Хорстманн, Гари Корнелл. Библиотека профессионала. Вильямс, 2. 00. 8Купить на Озоне.
Кей Хорстманн, Гари Корнелл. Библиотека профессионала. Том 2. Тонкости программирования. Вильямс, 2. 00. 8Купить на Озоне. Наиболее фундаментальный труд по языку Java. Prentice Hall, 2.
Книга Джошуа Блоха занимает то же положение на полке Java программиста, что и книги Скотта Мейерса и Герба Саттера на полке С++ программиста. Эта книга содержит множество приемов и идиом и будет полезна каждому, кто всерьез занимается этим замечательным языком. Купить на Amazon. Java Concurrency in Practice.
Хотя язык программирования Java значительно упрощает разработку многопоточных приложений, многопоточность все еще остается одной из наиболее сложных задач, с которыми сталкивается современный разработчик. Эта книга как раз и призвана помочь в решении подобных задач на языке Java. Рецензия. Купить на Озоне. Net, C#1. Джеффри Рихтер. Питер, Русская редакция, 2.
Рецензия. Купить на Озоне. Microsoft Press, 2. Книга уже давно стала классикой в области программирования на платформе . Net. Именно она является первой книгой, на которую необходимо обратить внимание каждому разработчику, который рассчитывает использовать платформу .
Net в своей профессиональной деятельности. Третье издание книги подверглось существенным переработкам, в результате чего в ней отражены новшества C# 3. C# 4. 0, а также содержит новую часть, полностью посвященную вопросам многопоточности. Купить на Amazon. Дон Бокс, Крис Селлз.
Основы платформы .