7 «must read» книг по программированию, которые стоит прочесть

Оглавление (нажмите, чтобы открыть):

Лучшие книги для начинающих программистов

У меня есть книга, которую я уже пытаюсь раза с третьего осилить, но всё никак не дойду до последней страницы. Называется она «Человеческий фактор. Успешные проекты и компании«, в простонародье «Peopleware» и является хрестоматией по разработке программного обеспечения наряду с классическим трудом под названием «Мифический человеко-месяц» от Фредерика Брукса. Так вот, там есть интересное выражение, которое гласит следующее:

«Статистика по чтению литературы обескураживает особенно сильно: средний разработчик программного обеспечения, к примеру, не имеет ни единой книги по предмету собственной работы и не может похвастать тем, что читал такую книгу»

Мой опыт работы с программистами лишь доказывает слова ДеМарко и Листера. Современная разработка ПО сводится к постоянному «гуглению» и чтению ответов на StackOverflow. В этом нет ничего плохого, все мы ежедневно сталкиваемся с проблемами решения которых не знаем, и порой «прогуглить» ответ получается куда быстрее нежели самостоятельно разбираться почему наш код не работает. Но серьёзная проблема кроется в ситуациях, когда у человека отсутствуют фундаментальные знания о предмете своей работы.

Софтостроение специфическая отрасль, где специалисту необходимо обладать рядом навыков и знаний. Возьмём самый простой пример: веб-разработка. Современному веб-разработчику нужно иметь представление о множестве тем: веб-программирование, веб-дизайн, основы безопасности веб-приложений, навыки системного администрирования (чаще всего unix-подобных систем), навыки работы с СУБД, паттерны проектирования веб-приложений, хотя бы поверхностно понимать методологии разработки ПО, их плюсы и минусы, не говоря уже о множестве инструментов, используемых ежедневно (VCS, IDE, ОС, пакетные менеджеры и так далее). Веб-разработчик, не знающий основ безопасности веб-приложений, может ненамеренно оставить серьёзную брешь в системе, которая в будущем обернётся серьёзными финансовыми потерями, а может и вовсе иметь катастрофические последствия. Порой «гугля» очередное решение проблемы, мы не задумываясь копируем код или используем сомнительную библиотеку, даже не заглянув внутрь. Главное работает 🙂 А ведь за всем этим могут скрываться серьёзные проблемы.

В этой заметке я подготовил список книг, которые, по-моему личному мнению, должен прочитать каждый уважающий себя программист. Они не столько про технологии, сколько про взгляд на профессию. Они не подвержены старению, их можно перечитывать спустя годы и порой находить для себя что-то новое.

  • Программист-прагматик. Путь от подмастерья к мастеру
  • Чистый код
  • Джоэл о программировании (Joel on Software)
  • Джоэл. И снова о программировании (More Joel on Software)
  • Программист-фанатик (Passionate Programmer)
  • Человеческий фактор. Успешные проекты и команды (Peopleware)
  • Язык программирования C
  • Код. Тайный язык информатики

Просто список ничего не значит. Хорошо бы узнать причину почему вам стоит тратить своё время на чтение и анализ приведённой выше литературы.

Программист-прагматик

Пожалуй, это одна из немногих книг, эффект от прочтения которой я почувствовал практически сразу. Во многом именно эта книга изменила мой подход к программированию. Но читать её следует прежде всего программистам, имеющим некоторый опыт в разработке более-менее сложных систем, которые на собственной «шкуре» прочувствовали все «прелести» ошибок, допущенных при проектировании, разработке и поддержке продукта. Книга затрагивает острые вопросы масштабирования систем, модульность, тестирование и многие другие аспекты нашей профессии.

Чистый код

Книга «Чистый код» это своего рода облегченная версия книги «Совершенный код». Последнюю читать куда тяжелее. Одна из основных проблем начинающих программистов это их код. Его невозможно читать 🙂 Он плохо структурирован, перегружен, а переменные и функции чаще всего имеют непонятные названия. Как придать человеческий вид вашему коду и повествует эта книга. Автором является известный «дядюшка Боб», личность категоричная, поэтому читать книгу советую со здравой долей скептицизма и не принимать каждое слово на веру. Но категоричность автора нисколько не уменьшает пользу от книги.

Джоэл о программировании

Если вы ни разу не слышали о Джоэле Спольски, то стоит задуматься, а тем ли делом вы занимаетесь 🙂 Мистер Спольски автор популярного блога «Joel on Software», а также. один из создателей StackOverflow 🙂 Книга является сборником эссе, опубликованных на личном блоге автора. В ней собраны самые популярные темы о программировании. Вот лишь малая часть из них:

  • Какой язык программирования стоит изучать первым
  • Что необходимо знать про UTF-8
  • Зачем программисту понимать алгоритмы и структуры данных
  • Как проводить собеседование с кандидатами на работу

Продолжением «Джоэл о программировании» является «Джоэл. И снова о программировании». Однозначный must read!

P.S. Перевод его блога (к сожалению, не все статьи) на русский язык можно посмотреть тут.

Программист-фанатик

Эта книга была переведена на русский язык совсем недавно, но существует по технологичным меркам давно (

2009 год). Написана программистом для программистов и затрагивает щепетильные для разработчиков темы:

  • Кто такой настоящий программист
  • Что необходимо знать программисту, чтобы всегда быть «на плаву»
  • Почему не стоит бояться конкуренции со стороны программистов-индусов 🙂
  • Как «не перегореть» на работе

Я читал её в оригинале на английском языке, а когда узнал о выходе русского издания, то с удовольствием приобрёл. Перевод хороший.

Человеческий фактор

Эту книгу я рекомендовал на прошедшем Python митапе в Алматы в прошлом году. Она из тех книг, которые перечитывая — узнаёшь новое. С опытом начинаешь по-другому смотреть на, может быть, привычные для себя вещи. «Человеческий фактор» основан на эмпирических исследованиях, проводимых авторами. Цель заключалась в том, чтобы понять почему одни проекты (как и люди) успешны, а другие нет, само собой в нашем с вами общем деле. Читать в первую очередь рекомендую руководителям и менеджерам в сфере IT, разработчикам она тоже будет очень полезна.

Язык программирования C

Свой путь в мир программирования я, можно сказать, начинал с этого легендарного языка. Си является родителем для многих современных высокоуровневых языков, например того же Python. На нём написано множество софта, начиная от встроенного (привет прошивкам микроконтроллеров) заканчивая сложными вычислительными системами, работающими на Земле и в Космосе (ядро Linux, современный Интернет, ПО в медицине и военной промышленности и многое-многое другое). В рейтинге самых популярных языков он до сих пор занимает лидирующие позиции. Книга «Язык программирования C» является бессмертной классикой, а среди её авторов есть создатель Unix (Dennis Ritchie). Прелесть Си в том, что программист полностью контролирует ход выполнения программы: ручной доступ к памяти и работа с указателями, строгая типизация, контроль за размером входных данных и многое другое. За счёт низкого уровня при работе с «железом» компьютера, а следовательно отсутствия дополнительных абстракций (в простонародье «свистелок и перделок»), код выполняется очень быстро. Но за скорость нужно платить. В неумелых руках системы, написанные на Си, подвержены известным уязвимостям: переполнение стэка, переполнение кучи, ошибки форматирования строки и многие другие. Изучив Си, вы начнёте лучше понимать как работает компьютер, а следовательно станете лучшим программистом.

Код. Тайный язык информатики

Почему люди используют десятичную систему исчисления? Как работают триггеры и почему транзистор совершил революцию? В конце концов, как работает современный компьютер? Ответы на все эти вопросы вы найдёте в книге Чарльза Петцгольда «Код. Тайный язык информатики». Текст книги написан в увлекательной манере, с юмором и точно не заставит своего читателя скучать. Но материал по мере чтения становится всё сложнее и сложнее 🙂

Мастер Йода рекомендует:  10 команд для Docker, без которых вам не обойтись

Это не весь список книг, которые нужно прочитать. В первую очередь я постарался собрать книги именно для начинающих программистов, чтобы им легче было ориентироваться в столь хаотичной профессии, где постоянное обучение — залог будущего успеха, а застой — прямая дорогая к посредственности. Будьте жадными до знаний, читайте книги!

Если у вас есть идеи или замечания по моему списку книг, добро пожаловать в комментарии 🙂

7 «must read» книг по программированию, которые стоит прочесть

Авторы проекта Dev-Books проанализировали миллионы вопросов и ответов в крупнейшем сообществе программистов Stack Overflow. Всё для того, чтобы найти книги, на которые чаще всего ссылаются разработчики.

В общий список вошло 5 720 книг. Ниже вы найдёте 20 самых упоминаемых из них, которые когда-либо выходили на русском.

По просьбе Лайфхакера своими мнениями насчёт некоторых изданий поделились отечественные эксперты.

1. «Эффективная работа с унаследованным кодом», Майкл К. Физерс

Автор объясняет, как быстро разбираться в унаследованном коде, как тестировать его, как правильно вносить изменения. Книга содержит множество эффективных приёмов, предназначенных специально для этих задач.

2. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», Эрих Гамма и другие

«Классика для программиста. Первая книга, посвящённая именно шаблонам.«

Леонид Выговский, системный архитектор IT-компании LiveTe
— Издание уже 20 лет переиздаётся в изначальном виде. В этом, конечно, главный недостаток книги: некоторые шаблоны уже неактуальны. Думаю, её полезно читать уже после других, более современных, книг по паттернам проектирования. Тем более что она написана сухим академическим языком. Для понимания паттернов эта книга не must read, но её прочтение добавляет крутости в глазах коллег-программистов. 🙂 Начинать я советую с «Паттернов проектирования» (Head First Design Patterns).

3. «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин

«Интересная, но во многом спорная книга о том, как писать понятный и поддерживаемый код.«

Леонид Выговский, системный архитектор IT-компании LiveTex
— Почему спорная? Книг про написание кода уже огромное количество, и часть приёмов являются общепризнанными. Но каждый автор добавляет что-то своё. Лично для меня мнение Боба Мартина кажется иногда странным и противоречащим другим источникам. Не must read, но прочитать всё же стоит. Качество кода после прочтения становится лучше.

4. «Предметно-ориентированное проектирование», Эрик Эванс

«Очень сильная книга, которая мотивирует к саморазвитию. После прочтения кажется, что без ПОП качественный код не написать.«

Леонид Выговский, системный архитектор IT-компании LiveTex
— Из этой книги выросли концепции СQRS, BDD, onion-architecture и много других интересных идей. Единственный недостаток: книга насквозь теоретическая. Практическую пользу она приобрела только с выходом книги Вона Вернона «Реализация методов предметно-ориентированного проектирования» (Implementing Domain Driven Design). Поэтому читать их надо последовательно, сразу друг за другом.

5. «JavaScript: сильные стороны», Дуглас Крокфорд

Обязательная книга для веб-разработчиков. В ней Дуглас Крокфорд рассказывает о преимуществах языка JavaScript и учит грамотно их применять для создания эффективного кода.

6. «Шаблоны корпоративных приложений», Мартин Фаулер и другие

Книга описывает базовые принципы проектирования ПО для корпоративных платформ.

7. «Совершенный код. Мастер-класс», Стив Макконнелл

— Принципы, о которых рассказывается в книге, актуальны в любые времена, несмотря на то, что первое издание было выпущено аж в 1993 году. Волшебство этой книги заключается в том, что можно перечитывать её каждый год и каждый раз узнавать что-то новое.

8. «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие

«Из серии книг по написанию понятного и качественного кода, «Рефакторинг» — лучшая.«

Леонид Выговский, системный архитектор IT-компании LiveTex
Выговский: «Она не только показывает хороший код, но и на примере плохого объясняет, чем именно он плох. Эта книга — must read для всех. Причём чем раньше вы её прочтёте, тем лучше. Качество кода после прочтения сильно вырастет».

Если книгу Фаулера вы уже прочли, обратите внимание на «Рефакторинг с использованием шаблонов» (Refactoring to Patterns) Джошуа Кериевски, которую рекомендует Михаил Осотов.

«Рефакторинг с использованием шаблонов» Кериевски — отличная книга для тех, кто каждый день сталкивается с проблемой легаси-кода и технического долга в своих проектах».

Михаил Осотов, директор по производству «Центра высоких технологий»
— Эта книга поможет сохранить свои нервы, подружиться с рефакторингом и сделать код лучше.

9. «Паттерны проектирования», Эрик Фримен, Элизабет Фримен и другие

«Серия Head First, на мой взгляд, идеально подходит для новичков в области разработки ПО.«

Михаил Осотов, директор по производству «Центра высоких технологий»
— Все книги написаны разными авторами, но в каждой виден общий подход, который выражается в простой подаче материала, интересных и простых примерах.

10. «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи

Классическое учебное пособие по языку C, написанное его же создателями. Однако начинающим эта книга может показаться сложной, поскольку требует от читателя знания основ программирования.

11. «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ», Скотт Майерс

Книга содержит советы по проектированию программ, работе с шаблонами и управлению ресурсами, а также другие рекомендации по созданию качественного ПО на языке С++.

12. «Экстремальное программирование: разработка через тестирование», Кент Бек

Автор на примерах описывает методику разработки ПО, которая предполагает тестирование программ ещё до написания их кода.

13. «Алгоритмы. Построение и анализ», Томас Х. Кормен и другие

Эту книгу называют библией алгоритмов. Она зарекомендовала себя как отличное научное пособие для студентов технических вузов и всех, кто интересуется информатикой. Книга доступным языком знакомит с алгоритмами разных типов и описывает их особенности.

14. «Регулярные выражения», Джеффри Фридл

Издание об эффективной работе с текстом в Perl, PHP, Java, Python, Ruby и других языках программирования.

15. «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#», Джеффри Рихтер

Классический учебник по разработке приложений для платформы Microsoft, в том числе с помощью Silverlight, Windows Presentation Foundation, ASP.NET и прочих технологий компании.

16. «Современное проектирование на C++», Андрей Александреску

Книга для опытных программистов на C++. Автор предлагает новый подход к разработке, сочетающий метапрограммирование шаблонов, обобщённое программирование и объектно-ориентированное программирование на этом языке.

17. «Microsoft ASP.NET 2.0. Базовый курс», Дино Эспозито

Детальное руководство для опытных специалистов по ASP.NET 2.0. Книга учит создавать мощные, надёжные и масштабируемые сайты на этой платформе.

18. «Шаблоны тестирования xUnit. Рефакторинг кода тестов», Джерард Месарош

Автор книги показывает, как применять шаблоны проектирования, исключение повторений, инкапсуляцию и другие принципы разработки ПО к написанию кода тестов.

19. «Компиляторы. Принципы, технологии и инструментарий», Альфред В. Ахо и другие

Книга описывает базовые принципы разработки компиляторов и делает особый акцент на оптимизации кода. В помощь читателю — большое количество примеров из практики.

20. «Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET», Кржиштоф Цвалина, Брэд Абрамс

Издание содержит лучшие приёмы разработки библиотек для платформы Microsoft .NET Framework. Книга должна упростить работу любого .NET-специалиста, который пишет код для других разработчиков.

какие по вашему книги MUST READ? 0

Et cetera → Программирование

Я просто счастлив, когда наталкиваюсь на действительно хорошую книгу, посвященную разработке ПО. Но найти такую книгу не так-то просто. Сейчас я в основном ориентируюсь на те, которые больше всего цитируются в других книгах. Поэтому я прочитал классику:

Фред Брукс «Мифический человеко-месяц»

Ларри Константин «Peopleware»

Бентли «Жемчужины программирования»

Буч «ОО Анализ и Проектирование с примерами на C++»

Всем их очень советую, независимо от того чем конкретно вы занимаетесь в области разработки.

Но в классике обычно нет ссылок на книги, которые были бы столь же ценны.

Поэтому я бы хотел узнать, что для вас было действительно MUST READ.

На очереди у меня стоит Эрик Реймод «Искусство программирования для UNIX». Вот я думаю, что бы еще такого заказать вместе с этой книгой, чтобы курьера двести раз мотать!? 🙂

На примете у меня Ларри Константин «Разработка ПО» (должно быть «разработка практичного ПО») и МакКоннелл «Совершенный код», но я еще неуверен.

Английский сайт, на котором книги каким-то образом классифицированны — это, конечно, хорошо. Но там даже не упоминается «Мифический Ч-М», а для меня она является самой что ни на есть MUST READ 🙂 Сказать, что эта книга является классикой, было бы просто банально. Но иначе нужно все главы пересказывать.

Список книг представленных там отличается от книг доступных в России.

Книгу может испортить плохой перевод, и это тоже стоит учитывать.

И в конце концов, у меня нет доверия к таким спискам. Поэтому я и спрашиваю на форуме у реальных людей, чтобы можно было узнать поподробнее.

Неужели у вас нет своей любимой книги!?

Ты не доверяешь ACCU? Зря. Да там не всё, но то, что там помечено как highly recomended , прочитать надо.

Кроме того, если перечислю всё что ИМХО нужно прочесть, это вызовет уйму споров. Оно мне надо?

Ну ладно одну книгу посоветую. The Ultimate Hitchhiker’s Guide To The Galaxy.

Когда заинтересуюсь фантастикой обязательно прочитаю.

Сейчас я спрашиваю про книги, посвященные разработке ПО. И как я вижу никто не хочет этого говорить.

Чего бояться? Ясное дело, что список понравившихся книг — чисто субъективная вещь и спорить тут не о чем. Зато такой список является очень ценной информацией. Ведь если мой субъективный список совпадает по большей части со списком понравившихся книг другого человека, то мне понравятся книги из его списка, которые я еще не прочитал. И кстати, именно поэтому я не доверяю таким абсолютным спискам, как ACCU.

Дополню свой список еще ссылкой на набор статей посвященных разработке ПО:

Мне понравилось. И спорить здесь не о чем 🙂

Стивенс (и про сетевые технологии, и про IPC, эти вещи пересекаются)

O’Reilly карманный справочник по С++

Фред Брукс «Мифический человеко-месяц»

Александреску «Современное проектирование на С++: обобщенное программирование и шаблоны проектирования»

1. HHGG — это взгляд на жизнь, а не фантастика. Начни читать и ты уже не увидишь мир прежним 🙂

2. Ну так и быть:

Lerning Perl, Programming Perl, The Art of Computer Programming #1-3, The TeXbook, The METAFONTbook, Programmer’s Stone, Reciprocality, Exceptional C++, More Exceptional C++, Exceptional C++ Style, Practice Of Programming, The C Programming Language, The C++ Programming Language, Advanced Programming In UNIX Environment, The UNIX Programming Environment, The Elements Of Programming Style, TCP/IP Illustrated #1-3, UNIX IPC #1-2, Operating Systems: Design And Implementation, C++ Coding Standards (Sutter + Alexandrescu), The Art Of Assembly Programming, The Art Of UNIX Programming, Absolute BSD, Absolute OpenBSD, … (надоело)

Мастер Йода рекомендует:  Конвертация картинки в сайт на WordPress и еще 7 полезных фотошоп-плагинов для веб-разработчиков

Lerning Perl, Programming Perl, The Art of Computer Programming #1-3, The TeXbook, The METAFONTbook, Programmer’s Stone, Reciprocality, Exceptional C++, More Exceptional C++, Exceptional C++ Style, Practice Of Programming, The C Programming Language, The C++ Programming Language, Advanced Programming In UNIX Environment, The UNIX Programming Environment, The Elements Of Programming Style, TCP/IP Illustrated #1-3, UNIX IPC #1-2, Operating Systems: Design And Implementation, C++ Coding Standards (Sutter + Alexandrescu), The Art Of Assembly Programming, The Art Of UNIX Programming, Absolute BSD, Absolute OpenBSD, … (надоело)

zIG ежели ты проникся, подозреваю ближайшие года три мы тебя не увидим :(.

А ежели не проникся ;), то вперёд разбирать свой *nix на куски, и собирать обратно. По-моему гораздо более увлекательное занятие чем чтение всех этих книг. Хотя конечно, книги это руль, и не помешает изучить пару-тройку из этого списка на досуге.

7 «must read» книг по программированию, которые стоит прочесть

Так много книг по программированию, но какие из них обязательны к прочтению? Мы собрали 7 топовых книг, которые будут полезны любому программисту.
Это «библии» любого разработчика, подборка настольных книг по программированию, которые не будут лишними в вашей личной библиотеке. Обязательно выкройте время на прочтение, если еще этого не сделали.

7 «must read» книг по программированию, которые стоит прочесть

Так много книг по программированию, но какие из них обязательны к прочтению? Мы собрали 7 топовых книг, которые будут полезны любому программисту.

Programming stuff

Страницы

понедельник, 5 августа 2013 г.

Книги

Все-таки решил выделить все свои рецензии, обзоры и анонсы книг в отдельную статью, которая будет доступна с главной страницы и будет пополняться по мере поступления чего-то нового.

С чего начать?
  • Классические книги по программированию
  • Книги для изучения C#.NET
  • Классические книги по C#/.NET (аналогична пред. ссылке, но старее)
  • Jolt Awards: лучшие книги

Интересно, что я еще читаю?

Рецензии

Книги по ООП, дизайну и кодированию

Книги об управлении проектами

Книги о философии программирования

Не компьютерное

Расшифровка оценок (сверху вниз):

Анонсы книг

11 комментариев:

Очень удивлен об отсутствии какого-либо упоминания о Крэге Лармане. Отличная книга, рекомендую добавить в коллекцию — http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0131489062

Олег, спасибо за совет. Обязательно добавлю в свой список для чтения.

Книга Тома ДеМарко «Adrenaline Junkies. » имеет издание в русском переводе с запредельной ценой -«Балдеющие от адреналина и зомбированные шаблонами. Паттерны поведения проектных команд» (ISBN 978-5-93286-160-8)

Мне понравилась книга Тома ДеМарко «Deadline. Роман об управлении проектами»
И еще Джо Мараско. «IT-проекты: фронтовые очерки»

Читаются они также легко, как книги Джоэла Спольски.

Must read: 10 книг по Java

Подборка основана на советах разработчиков Google, Microsoft, Luxoft и Amazon.com и их личном опыте в изучении Java. Некоторые книги доступны только в оригинале, что служит веским аргументом учить технический английский. Мы пишем об этом в статье «10 советов, как быстро выучить технический английский».

Head First Java, 2nd Edition (Изучаем Java)
Kathy Sierra (Кэти Сьера)

Книга для новичков. Оптимально подойдет для быстрого старта в изучении Java. Вместе с чтением этой книги рекомендуем записаться на наш бесплатный курс по основам Java-программирования.

Introduction to Programming in Java: An Interdisciplinary Approach
Robert Sedgewick

Книга не просто учит Java, она учит использовать данный язык, как инструмент. В ней вы найдете массу полезных упражнений. Помимо этого есть сайт с дополнительной информацией, полностью посвященный этой книге — Introduction to Programming in Java.

Core java (Java. Библиотека профессионала, том 1-2)
Cay S. Horstmann (Кей С. Хорстманн)

Это одна из самых всеобъемлющих книг по Java. В ней описаны все необходимые средства языка и библиотеки. Здесь только факты и углубленные исследования, которые помогут в написании реальных программ.

Thinking in Java (Философия Java)
Bruce Eckel (Брюс Эккель)

Эта книга заслужено является частым ответом на вопрос: «с чего начинать учить Java?». Но если вы только начинаете изучать язык и при этом не имеете программистского бэкграунда, то можете ее не осилить. В таком случае лучше начать с чего-то более простого и традиционного.

Effective Java: Programming Language Guide (Java. Эффективное программирование)
Joshua Bloch (Джошуа Блох)

Джеймс Гослинг, автор языка Java, когда эта книга вышла, сказал: «Некоторые, возможно, думают, что мне не нужны никакие книги по Java, но эта мне нужна.» Здесь вы найдете более 50-ти лучших практик и советы по усовершенствованию кода от выдающегося эксперта в даной области.

Clean code (Чистый код)
Robert Martin (Роберт Мартин)

Книга о том, как писать код так, чтобы его понимали. Она научит отличать плохой код от хорошего и трансформировать плохой код в хороший. Но стоит помнить о том, что некоторые мысли там выражаются слишком категорично и поэтому могут быть неправильно восприняты новичками.

Clean coder
Robert Martin

Это более гуманитарная книга об отношении к работе. Она затрагивает тему коммуникации и дает общий обзор того, что значит быть профессиональным программистом.

Java Concurrency in Practice
Brian Goetz

Если вы имеете серьезные намерения насчет разработки на Java, то нельзя игнорировать параллелизм и многопоточность. Книга вооружит вас концепциями и техниками, необходимыми для написания безопасных и масштабируемых программ под новейшие платформы.

Java Puzzlers
Joshua Bloch and Neal Gafter

Книга написана в соавторстве главного инженера с Java-евангелистом Google. Она состоит из 95-ти обучающих головоломок, которые будет понятны всем, кто имеет навыки работы с Java, но даже для самых опытных ветеранов эти задачки покажутся сложными.

SCJP Sun Certified Programmer for Java 6 Exam 310-065 (Книга для подготовки к экзамену на сертификат Java программиста)

Учебное пособие для подготовке к сдаче SCJP экзамена.

Algorithms in Java (Алгоритмы на Java)
Robert Sedgewick (Роберт Седжвик)

Книга для того, чтобы попрактиковаться на задачках, набить руку в программировании и прокачать мозг.

Однако одного чтения книг недостаточно. «Главное побыстрее выучить основы и искать работу стажера или Juniora, а там уже знания будут накапливаться по экспоненте, если человек не ленивый, конечно. Я начал программировать, когда действительно клюнул петух в одно место — поставили уже на работе конкретную задачу и дали сроки. На работу попал Junior’ом по устному собеседованию, считаю что повезло и мне сделали большое одолжение» — говорит Дмитрий Фатеев, Senior Java Developer в Luxoft Russia.

А в полной мере освоить Java можно, записавшись на профессию «Программист Java».

Подборка основана на советах разработчиков Google, Microsoft, Luxoft и Amazon.com и их личном опыте в изучении Java. Некоторые книги доступны только в оригинале, что служит веским аргументом учить технический английский. Мы пишем об этом в статье «10 советов, как быстро выучить технический английский».

Head First Java, 2nd Edition (Изучаем Java)
Kathy Sierra (Кэти Сьера)

Книга для новичков. Оптимально подойдет для быстрого старта в изучении Java. Вместе с чтением этой книги рекомендуем записаться на наш бесплатный курс по основам Java-программирования.

Introduction to Programming in Java: An Interdisciplinary Approach
Robert Sedgewick

Книга не просто учит Java, она учит использовать данный язык, как инструмент. В ней вы найдете массу полезных упражнений. Помимо этого есть сайт с дополнительной информацией, полностью посвященный этой книге — Introduction to Programming in Java.

Core java (Java. Библиотека профессионала, том 1-2)
Cay S. Horstmann (Кей С. Хорстманн)

Это одна из самых всеобъемлющих книг по Java. В ней описаны все необходимые средства языка и библиотеки. Здесь только факты и углубленные исследования, которые помогут в написании реальных программ.

Thinking in Java (Философия Java)
Bruce Eckel (Брюс Эккель)

Эта книга заслужено является частым ответом на вопрос: «с чего начинать учить Java?». Но если вы только начинаете изучать язык и при этом не имеете программистского бэкграунда, то можете ее не осилить. В таком случае лучше начать с чего-то более простого и традиционного.

Effective Java: Programming Language Guide (Java. Эффективное программирование)
Joshua Bloch (Джошуа Блох)

Джеймс Гослинг, автор языка Java, когда эта книга вышла, сказал: «Некоторые, возможно, думают, что мне не нужны никакие книги по Java, но эта мне нужна.» Здесь вы найдете более 50-ти лучших практик и советы по усовершенствованию кода от выдающегося эксперта в даной области.

Clean code (Чистый код)
Robert Martin (Роберт Мартин)

Книга о том, как писать код так, чтобы его понимали. Она научит отличать плохой код от хорошего и трансформировать плохой код в хороший. Но стоит помнить о том, что некоторые мысли там выражаются слишком категорично и поэтому могут быть неправильно восприняты новичками.

Clean coder
Robert Martin

Это более гуманитарная книга об отношении к работе. Она затрагивает тему коммуникации и дает общий обзор того, что значит быть профессиональным программистом.

Java Concurrency in Practice
Brian Goetz

Если вы имеете серьезные намерения насчет разработки на Java, то нельзя игнорировать параллелизм и многопоточность. Книга вооружит вас концепциями и техниками, необходимыми для написания безопасных и масштабируемых программ под новейшие платформы.

Java Puzzlers
Joshua Bloch and Neal Gafter

Книга написана в соавторстве главного инженера с Java-евангелистом Google. Она состоит из 95-ти обучающих головоломок, которые будет понятны всем, кто имеет навыки работы с Java, но даже для самых опытных ветеранов эти задачки покажутся сложными.

SCJP Sun Certified Programmer for Java 6 Exam 310-065 (Книга для подготовки к экзамену на сертификат Java программиста)

Учебное пособие для подготовке к сдаче SCJP экзамена.

Algorithms in Java (Алгоритмы на Java)
Robert Sedgewick (Роберт Седжвик)

Книга для того, чтобы попрактиковаться на задачках, набить руку в программировании и прокачать мозг.

Однако одного чтения книг недостаточно. «Главное побыстрее выучить основы и искать работу стажера или Juniora, а там уже знания будут накапливаться по экспоненте, если человек не ленивый, конечно. Я начал программировать, когда действительно клюнул петух в одно место — поставили уже на работе конкретную задачу и дали сроки. На работу попал Junior’ом по устному собеседованию, считаю что повезло и мне сделали большое одолжение» — говорит Дмитрий Фатеев, Senior Java Developer в Luxoft Russia.

А в полной мере освоить Java можно, записавшись на профессию «Программист Java».

Programming stuff

Страницы

понедельник, 5 августа 2013 г.

Книги

Все-таки решил выделить все свои рецензии, обзоры и анонсы книг в отдельную статью, которая будет доступна с главной страницы и будет пополняться по мере поступления чего-то нового.

Мастер Йода рекомендует:  Кроссплатформенный текстовый редактор с поддержкой мыши в терминале обзор инструмента micro
С чего начать?
  • Классические книги по программированию
  • Книги для изучения C#.NET
  • Классические книги по C#/.NET (аналогична пред. ссылке, но старее)
  • Jolt Awards: лучшие книги

Интересно, что я еще читаю?

Рецензии

Книги по ООП, дизайну и кодированию

Книги об управлении проектами

Книги о философии программирования

Не компьютерное

Расшифровка оценок (сверху вниз):

Анонсы книг

11 комментариев:

Очень удивлен об отсутствии какого-либо упоминания о Крэге Лармане. Отличная книга, рекомендую добавить в коллекцию — http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0131489062

Олег, спасибо за совет. Обязательно добавлю в свой список для чтения.

Книга Тома ДеМарко «Adrenaline Junkies. » имеет издание в русском переводе с запредельной ценой -«Балдеющие от адреналина и зомбированные шаблонами. Паттерны поведения проектных команд» (ISBN 978-5-93286-160-8)

Мне понравилась книга Тома ДеМарко «Deadline. Роман об управлении проектами»
И еще Джо Мараско. «IT-проекты: фронтовые очерки»

Читаются они также легко, как книги Джоэла Спольски.

какие по вашему книги MUST READ? 0

Et cetera → Программирование

Я просто счастлив, когда наталкиваюсь на действительно хорошую книгу, посвященную разработке ПО. Но найти такую книгу не так-то просто. Сейчас я в основном ориентируюсь на те, которые больше всего цитируются в других книгах. Поэтому я прочитал классику:

Фред Брукс «Мифический человеко-месяц»

Ларри Константин «Peopleware»

Бентли «Жемчужины программирования»

Буч «ОО Анализ и Проектирование с примерами на C++»

Всем их очень советую, независимо от того чем конкретно вы занимаетесь в области разработки.

Но в классике обычно нет ссылок на книги, которые были бы столь же ценны.

Поэтому я бы хотел узнать, что для вас было действительно MUST READ.

На очереди у меня стоит Эрик Реймод «Искусство программирования для UNIX». Вот я думаю, что бы еще такого заказать вместе с этой книгой, чтобы курьера двести раз мотать!? 🙂

На примете у меня Ларри Константин «Разработка ПО» (должно быть «разработка практичного ПО») и МакКоннелл «Совершенный код», но я еще неуверен.

Английский сайт, на котором книги каким-то образом классифицированны — это, конечно, хорошо. Но там даже не упоминается «Мифический Ч-М», а для меня она является самой что ни на есть MUST READ 🙂 Сказать, что эта книга является классикой, было бы просто банально. Но иначе нужно все главы пересказывать.

Список книг представленных там отличается от книг доступных в России.

Книгу может испортить плохой перевод, и это тоже стоит учитывать.

И в конце концов, у меня нет доверия к таким спискам. Поэтому я и спрашиваю на форуме у реальных людей, чтобы можно было узнать поподробнее.

Неужели у вас нет своей любимой книги!?

Ты не доверяешь ACCU? Зря. Да там не всё, но то, что там помечено как highly recomended , прочитать надо.

Кроме того, если перечислю всё что ИМХО нужно прочесть, это вызовет уйму споров. Оно мне надо?

Ну ладно одну книгу посоветую. The Ultimate Hitchhiker’s Guide To The Galaxy.

Когда заинтересуюсь фантастикой обязательно прочитаю.

Сейчас я спрашиваю про книги, посвященные разработке ПО. И как я вижу никто не хочет этого говорить.

Чего бояться? Ясное дело, что список понравившихся книг — чисто субъективная вещь и спорить тут не о чем. Зато такой список является очень ценной информацией. Ведь если мой субъективный список совпадает по большей части со списком понравившихся книг другого человека, то мне понравятся книги из его списка, которые я еще не прочитал. И кстати, именно поэтому я не доверяю таким абсолютным спискам, как ACCU.

Дополню свой список еще ссылкой на набор статей посвященных разработке ПО:

Мне понравилось. И спорить здесь не о чем 🙂

Стивенс (и про сетевые технологии, и про IPC, эти вещи пересекаются)

O’Reilly карманный справочник по С++

Фред Брукс «Мифический человеко-месяц»

Александреску «Современное проектирование на С++: обобщенное программирование и шаблоны проектирования»

1. HHGG — это взгляд на жизнь, а не фантастика. Начни читать и ты уже не увидишь мир прежним 🙂

2. Ну так и быть:

Lerning Perl, Programming Perl, The Art of Computer Programming #1-3, The TeXbook, The METAFONTbook, Programmer’s Stone, Reciprocality, Exceptional C++, More Exceptional C++, Exceptional C++ Style, Practice Of Programming, The C Programming Language, The C++ Programming Language, Advanced Programming In UNIX Environment, The UNIX Programming Environment, The Elements Of Programming Style, TCP/IP Illustrated #1-3, UNIX IPC #1-2, Operating Systems: Design And Implementation, C++ Coding Standards (Sutter + Alexandrescu), The Art Of Assembly Programming, The Art Of UNIX Programming, Absolute BSD, Absolute OpenBSD, … (надоело)

Lerning Perl, Programming Perl, The Art of Computer Programming #1-3, The TeXbook, The METAFONTbook, Programmer’s Stone, Reciprocality, Exceptional C++, More Exceptional C++, Exceptional C++ Style, Practice Of Programming, The C Programming Language, The C++ Programming Language, Advanced Programming In UNIX Environment, The UNIX Programming Environment, The Elements Of Programming Style, TCP/IP Illustrated #1-3, UNIX IPC #1-2, Operating Systems: Design And Implementation, C++ Coding Standards (Sutter + Alexandrescu), The Art Of Assembly Programming, The Art Of UNIX Programming, Absolute BSD, Absolute OpenBSD, … (надоело)

zIG ежели ты проникся, подозреваю ближайшие года три мы тебя не увидим :(.

А ежели не проникся ;), то вперёд разбирать свой *nix на куски, и собирать обратно. По-моему гораздо более увлекательное занятие чем чтение всех этих книг. Хотя конечно, книги это руль, и не помешает изучить пару-тройку из этого списка на досуге.

7 «must read» книг по программированию, которые стоит прочесть

Монография, которая по праву считается основой основ. На настоящий момент есть 4 тома, переведенных на русский язык. Читать всем без исключения.

Книга посвящена конфликтам и управлению конфликтами. В ней программисты и разработчики ПО противопоставлены менеджерам. Теория противопоставляется практике, стабильность — изменениям, разговоры — действиям и обещания — результатам. Предпринята попытка показать все стороны, участвующие в споре, заставить задуматься и сделать собственные выводы.

Книга представляет собой перевод учебника по курсу построение и анализ эффективных алгоритмов, написанного в Массачусетском техническом университете; в ней разрабатываются важнейшие классы быстрых алгоритмов и прием их построения. Изложение подробное и математически строгое. Книгу можно использовать в качестве учебника и справочника; она будет полезна как студентам, так и профессионалам в области computer science и программирования.

Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение».

Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.

Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО — с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство.

Книга представляет собой подборку эссе, опубликованных автором на его сайте http://www.joelonsoftware.com. Талант и глубокое проникновение в суть предмета сделали Джоэла мастером своего дела, а остроумие и едкий юмор принесли сайту скандальную известность среди программистов. Затронуты практически все вообразимые аспекты создания ПО от лучших способов устройства рабочего места программиста до лучших способов написания программного кода. Издание адресовано широкому кругу читателей — и тем, кто собирается руководить программистами, и самим программистам — как приверженцам Microsoft, так и сторонникам открытого кода.

Продолжение вышедшего в 2006 году бестселлера «Джоэл о программировании» представляет собой подборку самых популярных статей. Исключительный писательский талант, техническая эрудиция и язвительный ум Джоэла создали ему высочайшую профессиональную репутацию и принесли его сайту скандальную известность. В книге затронуты разнообразные вопросы, касающиеся разработки и проектирования программного обеспечения, управления софтверным бизнесом, эффективного поиска и привлечения высококлассных сотрудников, организации рабочего места и общения с заказчиками. Автор предлагает практические советы как программистам, так и тем, кто руководит их работой.

В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.

Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.

Написать хорошую программу трудно — кругом подводные камни. Вы как будто слышите голос самого дьявола, который постоянно нашептывает вам заманчивые пути решения той или иной проблемы, легко и быстро приводящие не только к цели, но и к катастрофе.

Не поддавайтесь этим дьявольским соблазнам. Ваш личный ангел-хранитель будет оберегать, вести и поддерживать вас, защищать вашу работу и карьеру. Вам помогут выстоять методы, изложенные в этой книге.

В данной книге представлены все наиболее важные сведения о регулярных выражениях: основные понятия и концепции, наборы символов, метасимволы, повторители, поиск позиции, подвыражения, ссылки назад, контекстный поиск (просмотр вперед и назад), условная обработка, реализация регулярных выражений в популярных приложениях и языках. Подробно рассматриваются все этапы подготовки и тестирования регулярных выражений. Все теоретические положения детально демонстрируются на содержательных примерах, которые часто встречаются на практике. Большое внимание уделяется прагматическому подходу к решению практических задач. Показывается творческий характер процесса разработки регулярных выражений. В заключение приводятся решения часто встречающихся практических задач. Приведенные решения вы можете использовать в своих программах.

Страница поста от канала TechRocks

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме

Пожаловаться

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме

Добавить комментарий