Идеальная подборка книг для разработчиков

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

Что читать web-разработчику

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

Обязательный минимум

В основном практики солидарны, что из книг по языкам можно обойтись издательством O’Reilly, которое известно последовательным изложением материала, грамотным иллюстрированием и доходчивостью.

«Остальноеэто больше собственное стремление к совершенству. Ну, и классика жанра“Шаблоны проектирования” Банды Четырех, “Совершенный код”. Эти книжки будут полезны для понимания построения красивых ООП приложений. Я занимаюсь веб-разработкой с 19 лет (сейчас 21), за 1,5 года вырос до full stack webdev и уже имею внушительное портфолио. По своему опыту могу сказать, что самое важноеэто практика. Хорошо поставленная цель и желание роста, а также какой-нибудь интересный проект и Google со Stackoverflowвот и все, что нужно для того, чтобы развиваться в этой сфере», — говорит Кирилл Николаенко, веб-разработчик в компании «Первый БИТ».

Что еще рекомендуют практики

Web Application Architecture: Principles, Protocols and Practices 2nd Edition, Leon Shklar

Книга объяснит, как устроены веб-технологии. Без понимания этого невозможно стать хорошим разработчиком.

Head First Design Patterns, Eric Freeman

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

JavaScript Patterns, Stoyan Stefanov

Книга о паттернах для более продвинутого уровня.

Building Scalable Web Sites, Cal Henderson

Дает глубокое объяснение веб-архитектуры и безопасности. Каждый параграф сопровождается конкретным примером, основанным на реальном опыте IT-компаний.

JavaScript: The Definitive Guide, David Flanagan

Мануал по JavaScript для новичков. Пригодится и для систематизации знаний о языке.

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript, David Herman

Подойдет для среднего уровня владения JavaScript. Каждый раздел дает пищу для размышлений и снабжает инсайдами об устройстве языка.

JavaScript: The Good Parts, Douglas Crockford

Книга о «светлой стороне» JavaScript, которая покажет этот язык в новом свете — легким, элегантным и красивым. Подойдет для программистов среднего и продвинутого уровня.

Code Complete: A Practical Handbook of Software Construction, Second Edition, Steve McConnell

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

Актуальные блоги

Нужно помнить, что часто книги не успевают за тенденциями, поэтому основная информация черпается из сети.

Codeproject

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

Codeonion

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

А прокачаться в веб-разработке можно, выбрав профессию «Веб-разработчик».

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

Обязательный минимум

В основном практики солидарны, что из книг по языкам можно обойтись издательством O’Reilly, которое известно последовательным изложением материала, грамотным иллюстрированием и доходчивостью.

«Остальноеэто больше собственное стремление к совершенству. Ну, и классика жанра“Шаблоны проектирования” Банды Четырех, “Совершенный код”. Эти книжки будут полезны для понимания построения красивых ООП приложений. Я занимаюсь веб-разработкой с 19 лет (сейчас 21), за 1,5 года вырос до full stack webdev и уже имею внушительное портфолио. По своему опыту могу сказать, что самое важноеэто практика. Хорошо поставленная цель и желание роста, а также какой-нибудь интересный проект и Google со Stackoverflowвот и все, что нужно для того, чтобы развиваться в этой сфере», — говорит Кирилл Николаенко, веб-разработчик в компании «Первый БИТ».

Что еще рекомендуют практики

Web Application Architecture: Principles, Protocols and Practices 2nd Edition, Leon Shklar

Книга объяснит, как устроены веб-технологии. Без понимания этого невозможно стать хорошим разработчиком.

Head First Design Patterns, Eric Freeman

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

JavaScript Patterns, Stoyan Stefanov

Книга о паттернах для более продвинутого уровня.

Building Scalable Web Sites, Cal Henderson

Дает глубокое объяснение веб-архитектуры и безопасности. Каждый параграф сопровождается конкретным примером, основанным на реальном опыте IT-компаний.

JavaScript: The Definitive Guide, David Flanagan

Мануал по JavaScript для новичков. Пригодится и для систематизации знаний о языке.

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript, David Herman

Подойдет для среднего уровня владения JavaScript. Каждый раздел дает пищу для размышлений и снабжает инсайдами об устройстве языка.

JavaScript: The Good Parts, Douglas Crockford

Книга о «светлой стороне» JavaScript, которая покажет этот язык в новом свете — легким, элегантным и красивым. Подойдет для программистов среднего и продвинутого уровня.

Code Complete: A Practical Handbook of Software Construction, Second Edition, Steve McConnell

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

Актуальные блоги

Нужно помнить, что часто книги не успевают за тенденциями, поэтому основная информация черпается из сети.

Codeproject

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

Codeonion

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

А прокачаться в веб-разработке можно, выбрав профессию «Веб-разработчик».

Шесть книг для бэкенд-разработчика

Кирилл, автор и преподаватель профессионального курса «PHP, уровень 1», советует шесть книг, которые помогут улучшить знания в PHP и повысить качество вашей работы.

Изучаем PHP 7

Книги издательства O’REILL легко узнать по характерной обложке с изображением животного. Они выпускают только очень качественную техническую литературу. Руководство «Изучаем PHP 7» подойдёт тем, кто только начинает изучать язык. Оно даёт не только исчерпывающую и актуальную информацию по PHP, но и содержит множество хороших практик, обзор фреймворков и упражнения, которые помогут закрепить усвоенный материал.

PHP. Объекты, шаблоны и методики программирования

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

Книга состоит как из теоретической информации — описания постулатов ООП, так и из его практического применения с примерами кода на PHP. Обязательно прочитайте её, когда начнёте изучать ООП.

Шаблоны корпоративных приложений

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

Чистый код

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

Идеальный программист

Ваши качества как профессионального разработчика складываются не только из блестящего знания PHP и опыта решения сложных задач. Есть ещё и так называемые soft skills, которые не зависят от конкретной работы, а тесно связаны с вашими личностными качествами и установками: дисциплина, самоменеджмент и так далее.

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

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

Руководство от бывшего программиста Microsoft, одного из создателей Stack Overflow, понравится в первую очередь уже более-менее опытным программистам. По сути, в книжке собраны множество отдельных постов, которые писал в свой блог Джоэл Спольски. Он затронул очень много различных аспектов создания программного обеспечения: от устройства рабочего места до лучших способов написания кода.

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

Мой ТОП-9 книг для программистов

И ни одного романа.

Уверена, что это не первая статья о книгах для программистов, которые вы читаете и ждете увидеть ниже обложки увесистых томов авторства Дональда Кнута, Стивена Макконелла, Роберта Мартина, Томаса Кормена и культовой «Книги четырех» («Паттерны проектирования»).

Чтобы прочесть подборку классики, которые IT-блогеры копипастят друг у друга требуется пару лет тяжелого интеллектуального труда. Если поставить себе цель крепко усвоить полученную информацию и внедрить в работу, а не поверхностно ознакомиться с целью хвастовства на форумах.

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

Поэтому, расскажу только о тех книгах которые читала сама и знания из которых применяла на практике. Личный ТОП-9 включает:

  • 2 книги, которые каждый день под рукой;
  • 2 книги, которые оказали сильное влияние на мировоззрение и подход к работе;
  • 3 книги для души;
  • Сборник задач;
  • Книгу с описанием комплекса упражнений для людей занятых интеллектуальным трудом.

1. Регулярные выражения. Сборник рецептов. Ян Гойвертс, Стивен Левитан

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

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

  • Удаление двойных пробелов;
  • Валидация номеров кредитных карт, емейлов и URL-адресов;
  • Удаление строк-дублей в тексте;
  • Очистка кода от комментариев;
  • Извлечение значений атрибутов из XML-файлов;
  • Нахождение дат в тексте.

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

2. SQL. Сборник рецептов. Энтони Молинаро

Знаете ли вы как с помощью SQL:

  • Извлечь из таблицы строки, которых нет в другой таблице;
  • Блокировать вставку значений в некоторые столбцы;
  • Извлечь инициалы из имени;
  • Определить количество дней между двумя датами;
  • Делать иерархические запросы.

Если нет, то книга «SQL. Сборник рецептов» подскажет как.

Чуть выше я написала — одно регулярное выражение иногда заменяет десятки строк кода. Тоже с SQL-запросами. Готовые примеры из книги помогут сократить время на разработку, увеличить скорость выполнения программ/скриптов и снизить нагрузку на сервер.

3. Продуктивный программист. Как сделать сложное простым, а невозможное – возможным. Нил Форд

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

Нил Форд писал книгу, чтобы заставить посмотреть читателей на мир под другим углом и отбросить вредные привычки:

  • Не автоматизировать то, что делается руками >10 раз;
  • Использовать мышь там, где нужна только клавиатура;
  • Избегать работы в командной строке;
  • Держать рабочие файлы в беспорядке.
Мастер Йода рекомендует:  Redux на практике осваиваем действия в приложении

И ему это удается. Тонкими шутками и железными аргументами автор прививает читателю отвращение к ручному труду и убеждает встать на путь исправления.

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

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

Если хотите, чтобы вас перестало тянуть тратить время на рутину, читайте Нила Форда:-)

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

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

Кент Бек написал во вступлении:

Cпасибо неизвестному автору книги, которую я прочитал в 12-лет­нем возрасте. В этой книге было предложено сравнивать две ленты: с реальными результатами и ожидаемыми результатами, и кодировать до тех пор, пока реаль­ные результаты не совпадут с ожидаемыми. Спасибо, спасибо, спасибо.

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

  • Сначала пишем тесты;
  • На втором шаге кодируем и добиваемся четкого выполнения тестов;
  • Проводим рефакторинг.

Воплощения этих трех шагов на практике посвящено 200 страниц, которые занимают описание паттернов TDD, советы по проведению рефакторинга, и рассказы о личном опыте применения методики на примере работы над приложением xUnit.

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

5. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Федерико Бьянкуцци, Шейн Уорден

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

В книге море любопытной технической информации и фактов из истории. Например:

  • Первые семь лет разработка языка APL проходила без использования компьютеров;
  • Создатель языка Eiffel Бертран Мейер еще в 1978 году написал книгу «Методы программирования», которую вскоре перевели на русский язык и издали в СССР. И до конца 2000-ых годов во время визитов в нашу страну ему попадались люди, которые утверждали, что изучали по ней программирование;
  • Создатель Post Script описывает первоклассного программиста следующими словами «Когда он предъявляет код и говорит, что тот готов, это значит, что код абсолютно надежен и отшлифован». Последний раз такой парень встречался им в 1972 году;
  • Когда Ларри пишет на своем Perl он вносит изменение в код и перезапускает программу примерно каждые 30 секунд;
  • Turbo Pascal создан тем же человеком, что и C#;
  • C++ используется чаще чем Objective-C потому, что его раскручивала корпорация AT&T (по мнению создателя Objective-C).

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

Джон Хьюз учит важности смирения для эффективной работы в команде, Дон Чемберден объясняет почему сегодня трудно сделать популярным новый язык программирования, а Гвидо ван Россум делиться приемами, как мгновенно включиться в написание кода, если тебя отвлекли.

Герои книги — уникальные люди. В них сочетается творческий ум, смелость и способность доводить дело до конца, не боясь потратить на него десяток другой лет своей жизни. Чтение «Пионеров программирования» мотивирует к действию не хуже журнала «Работница»

6. Дискретная математика для программистов. Рей Хаггарти

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

В книге освещаются темы:

  • графы и ориентированные графы;
  • комбинаторика;
  • эффективность алгоритмов;
  • математический аспект функциональных языков программирования;
  • бинарные отношения;
  • экспертные системы;
  • теория множеств;
  • и т.п.

Радуют пояснительные примеры на псевдокоде (который по сути Pascal).

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

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

7. Just for fun. Рассказ нечаянного революционера. Даймонд Дэвид. Торвальдс Линус

Биография Линуса Торвальдса с раннего детства до начала 2000-ых годов. Записана журналистом Даймонд Дэвидом под диктовку главного героя книги. Эта удивительная история о судьбе гика. Думаю многие, кого с детства тянет к программированию, найдут в себе нечто схожее с Линусом:

Иногда я вообще не выходил. Мама говорила своим друзьям-журналистам, что я настолько неприхотливый ребенок, что мне для счастья достаточно чулана с компьютером, куда время от времени закидывают пачку макарон. Она была недалека от истины. Никто не боялся, что этого ребенка похитят. (А интересно, кто-нибудь бы это заметил?)

Линус с открытой банкой кока-колы в руках появился из недр Transmeta,
расположившейся в безымянном офисном комплексе Санта-Клары. На нем была
программистская униформа: джинсы, футболка с конференции и неизменный набор
носки плюс сандалии, который он полюбил, по его словам, еще до встречи с
первым программистом. “Должно быть, это просто врожденный программистский
инстинкт”, — объяснил он мне свой выбор.

Когда мы уселись на заднее сиденье, я для разминки спросил, настраивая
диктофон: “Вы из семьи технарей?”
“Нет, большинство моих родственников — журналисты, — ответил он и
добавил: — Поэтому я в курсе, какие вы все козлы”.

Я крутился как белка в колесе: программирование — сон —
программирование — еда (соленые сухарики) — программирование — сон —
программирование — душ (на скорую руку) — программирование. К концу работы
стало ясно, что моя программа превращается в операционную систему.

Помимо биографии Линуса в книге много информации о технических особенностях Linux и философии свободного ПО:

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

Цитировать «Just for Fun» можно бесконечно, настолько она классная. Читается за один вечер, поднимает настроение и помогает отвлечься от мирской суеты.

8. Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию. Монган Д., Гижере Э., Киндлер Н.

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

Задания заставляют задуматься, но не требуют много времени для решения (если под рукой Google/тема знакома).

Книга стремительно устаревает(2012 год) и содержит психологические советы, которые кажутся мне не стопроцентно подходящими для российских реалий. Но она помогает найти пробелы в знаниях и определить направление движения в самообразовании.

9. Путь в магию. Первые шаги. Fiery

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

  • Неспособность сосредоточиться на текущем занятии;
  • Невозможность заснуть из-за навязчивых мыслей;
  • Чрезмерная утомляемость при достаточном времени сна из-за невозможности расслабиться.

Я делала эти упражнения в 16-17 лет во время подготовки к ЕГЭ, чтобы преодолеть трудности со сосредоточением на учебе. В тот момент они мне ощутимо помогли. Теперь только возвращаюсь к ним пару раз в год по мере необходимости.

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

P.S. Если у вас начнутся выходы из тела по ночам, срочно завязывайте с упражнениями и никому об этом не рассказывайте.

Классных книг для программистов много. И ТОП-10 каждого разработчика индивидуален .

Не знаете какие книги читать? Обратитесь к опытному кодеру, который:

  • Использует те же технологии, что и вы;
  • Решает похожие задачи;
  • Похож на вас характером.

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

(5.00 из 5, оценили: 1)

10 книг для разработчиков приложений под iOS

Собираетесь нырнуть в бездонный океан разработки приложений под iOS? Эти топ-10 книг по версии MakeUseOf помогут начать и матёрому кодеру-эксперту, и зелёному новичку.

Проба пера в разработке под iOS – довольно трудоёмкая задача даже для программистов со стажем. Между началом изучения языка программирования Swift (тем, который используется в экосистеме Apple) и публикацией приложения в магазине App Store есть множество промежуточных шагов, этапов и ступеней. Придётся изучить каждый такой аспект. К счастью, в этом процессе обязательно помогут замечательные книги – их написано немало.

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

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

Для начинающих

Вам только предстоит впервые погрузиться в мир разработки приложений для iOS? Эта подборка книг содержит всё (и даже больше!) для того, чтобы начать писать свой первый код.

1. Структура и интерпретация компьютерных программ

Авторы: Харольд Абельсон, Джеральд Сассман

Английское название книги: Structure and Interpretation of Computer Programs

Цена: бесплатно

«Структура и интерпретация компьютерных программ» – учебник, который уже не одно десятилетие заслуженно считается «азбукой программистских заклинаний». Благодарные (по-)читатели, особенно за рубежом, называют учебник по аббревиатуре названия – SICP. Несмотря на почтенный возраст, книжка до сих пор является великолепной точкой старта перед восхождением к вершинам программирования. Ещё недавно этот учебник использовался в качестве основного на курсах Массачусетского Технологического Института и других крупнейших университетов планеты.

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

2. Swift Programming: The Big Nerd Ranch Gu > Swift Programming: The Big Nerd Ranch Guide

Русский перевод: отсутствует

Авторы: Matthew Mathias, John Gallagher

Цена: 28 долларов

Потрясающий юмор авторов книги делает чтение по-настоящему занимательным процессом, начиная уже с названия книги (его можно перевести как «Программирование на Swift: подробное руководство для нерда-скотовода»). Читателю предстоит узнать всё про разработку под «железо» Apple. Сложно переоценить роль этой книги для новичков в мире языка Swift. Основатель The Big Nerd Ranch, Аарон Хиллегасс, работал в компании NeXT в 1990х. В 2000х этот человек играл ведущую роль в переводе всего ПО компании Apple на рельсы фреймворка Cocoa API.

Книга «The Big Nerd Ranch guide to Swift programming» предназначена тем, кто лишь начинает изучать язык Swift. Им предстоит начать с самых основ – и продолжать чтение до тех пор, пока они не смогут сами написать первые несколько строк собственного кода. В конце каждой главы есть подборка упражнений, которые помогут протестировать уровень знаний читателя. Эти же упражнения помогают вчитываться в текст глубже. Если вы лишь начинаете изучать язык Swift, лучшей книжки просто не найти.

3. iOS Programming: The Big Nerd Ranch Gu > iOS Programming: The Big Nerd Ranch Guide

Авторы: Christian Keur, Aaron Hillegass

Русский перевод: отсутствует

Цена: 15 долларов

Другая книга серии «The Big Nerd Ranch». Великолепно дополняет предыдущий учебник, посвящённый программированию на Swift. Эта книжка подразумевает наличие у читателя некоторых знаний Swift, однако она сосредоточена на более сложных аспектах этого языка, которые пригодятся при разработке ПО именно под iOS. Изучив эти две книги в тандеме, можно считать, что вы прошли полный курс обучения публикации приложения в App Store.

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

4. iOS Apprentice

Русский перевод: официальный отсутствует. Существуют неформальные переводы отдельных разделов.

Автор: Matthijs Hollemans

Цена: 55 долларов

Если покупка сразу двух учебников серии «Big Nerd Ranch» кажется избыточно дорогим вложением, следует взглянуть в сторону книги «iOS Apprentice» — «Новичкам в iOS». Целевая аудитория – полные новички, что понятно из названия. Содержит краткий курс буквально по каждому аспекту знаний, необходимых для старта разработки в iOS. Особенность учебника – написание и сопутствующий разбор кода четырёх различных приложений.

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

Для программистов с опытом

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

Мастер Йода рекомендует:  Как использовать Google Analytics Приступаем к работе

5. Swift Pocket Reference: Programming for iOS and OS X

Русский перевод: отсутствует. В интернете встречаются отдельные переведённые отрывки.

Автор: Anthony Gray

Цена: бесплатно

Подобная литература предназначена тем, кто уже набрался некоторого опыта в программировании на Swift. В отличие от книжек, которые можно охарактеризовать общей фразой «для чайников», здесь содержатся материалы справочного характера. Эти статьи пригодятся при поиске ответов на конкретные вопросы. Присутствует подборка задач и упражнений.

К сожалению, у учебника «Swift Pocket Reference: Programming for iOS and OS X» есть изъян: местами книжка несколько устарела. Это издание 2014 года, и охватывает оно лишь Swift версии 2.0. Этот недостаток компенсирован тем, что книга теперь доступна бесплатно. Разделы учебника рассказывают о большом количестве нюансов. Главы сопровождаются подробными примерами. Удачный образец учебника для программистов, которым уже тесно среди начинающих.

6. Pro Swift

Автор: Paul Hudson

Русский перевод: отсутствует

Цена: 30 долларов

Пол Хадсон, автор бестселлера «Хакерам про Swift», написал учебник «Pro Swift» для молодых программистов, которые вскоре собираются перейти в разряд опытных. Книга рассказывает про те области языка программирования, которые вряд ли можно отыскать в учебниках для начинающих:

  • наследование, полиморфизм и инкапсуляция в объектно-ориентированном языке Swift;
  • перегрузка и переопределение операторов;
  • практические аспекты написания сопроводительной документации.

Курс включает в себя 90 сопутствующих видеороликов, доступных для загрузки или онлайн-просмотра (DRM-защита у роликов отсутствует, за что отдельное спасибо автору и его издательству). Видеоуроки пошагово показывают технику написания фрагментов кода. В отличие от классического учебника, такой формат позволяет обучающимся наработать продвинутые навыки в практических задачах.

7. iOS 10 App Development Essentials

Русский перевод: отсутствует.

Автор: Neil Smyth

Цена: 45 долларов

Книга «Основы разработки приложений под iOS 10» – великолепный источник для всех, кто планирует перейти от освоения теории программирования к практике создания приложений. Как и в уже упомянутой книге Swift Pocket Reference, здесь есть примеры и главы, предназначенные для новичков. Но значительно более ценные разделы написаны для уже достаточно опытных программистов. Не следует ориентироваться на название, и считать эту книгу учебником «для чайников».

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

8. The Core iOS Developers Cookbook

Перевод на русский: отсутствует

Автор: Erica Sadun

Цена: 37 долларов

Книга «Core iOS Developers Cookbook» сосредоточена на практических решениях классических проблем, с которыми разработчикам приходится сталкиваться в повседневной практике разработки под iOS development. Добавление анимационных эффектов, привязка к разметке Auto Layout, внедрение API в собственные проекты – всё это становится не столь уж сложной задачей, которой казалось до прочтения этой книги.

Формат «поварских книг для программистов» (или «cookbooks») нравится многим читателям. Вместо последовательной подачи информации, следует пролистать оглавление, и выбрать конкретный «рецепт», подходящий именно под ваше программное «блюдо». Учебник особенно полезен тем кодерам, которые начинают собственный проект – и ищут практическую поддержку в особо сложных вопросах.

Для экспертов программирования

К определённому моменту карьеры программист перестаёт быть «всего лишь» опытным / продвинутым: перед таким профессионалом стоят значительно более масштабные и сложные вызовы. Эти программисты становятся настоящими экспертами. Им посвящается следующая часть подборки лучших учебников по разработке под iOS.

9. Cocoa Design Patterns

Авторы: Eric Buck, Donald Yactman

Цена: 33 доллара

Книга «Cocoa Design Patterns»– одна из самых старых в списке, впервые была опубликована в далёком 2009 году. Однако, благодаря тому, что она описывает целые паттерны, а не «квирки» определённого языка, книжка остаётся весьма релевантной и в наши дни. В разделах содержится множество информации для разработчиков iOS. Впрочем, она посвящена фреймворку Cocoa в целом, а потому может служить ещё и подспорьем для программистов, пишущих под MacOS.

Отметим ещё раз: целевая аудитория книжки – эксперты программирования. Начальный раздел посвящён паттерну Model-View-Controller, и дальше будет лишь сложнее. Вряд ли возможно разместить на страницах обычной книги хотя бы часть необходимых базовых знаний. Авторы подразумевают, что читатель уже обладает такими знаниями. Впрочем, если читатель уже занимался программированием под iOS, он обязательно найдёт множество способов пополнить копилку собственных знаний благодаря этой книге.

10. iPhone App Development: The Missing Manual

Автор: Craig Hockenberry

Цена: 28 долларов

Посвящается тем читателям, кто не просто писал на языке Swift, но делал это со всем мастерством и умением. Тем, кто знает платформу iOS, как свои пять пальцев. Тем, кто хочет продвинуться ещё дальше, вверх к самым звёздам программирования. Успех приложения состоит не только из собственно кода: необходимо разбираться в дизайне, брендинге, иметь чёткие представления о целевой аудитории – и далеко не только это.

Книга «The Missing Manual» поможет трансформировать навыки программирования в нечто большее: в те знания и опыт, которые необходимы для популярности приложения в App Store. Если конечная цель проекта публикация в магазине, то эта книга расскажет о таких вещах, о необходимости которых вы даже не задумывались.

50 полезных статей и книг для разработчиков и управленцев Материал редакции

Перевод подборки технического директора сервиса для поиска стоковых медиа Storyblocks Джона Фултона c дополнительными описаниями и ссылками на русскоязычные издания.

Перевод и дополнения подготовлены командой онлайн-школы английского языка Skyeng.

За несколько лет я прочитал много книг и статей, которые помогли мне вырасти в моей профессии. Я составил список, в котором самые важные из них сгруппированы по темам.

Подборка книг для начинающих веб-программистов

Найдены дубликаты

html php программисты. и все это в одном предложении? занятно

Это обложка + описание книги)

А главное безумно 🙂

Книги по программированию выглядят так:

Вот это Хеллоу Ворлд.

Вот основные команды для записи строк.

Давайте сделаем последовательность и цикл.

Вот пример кода длиной в две страницы. Он отлично показывает как работает то, о чём я говорил до этого. Вы сами разберётесь как оно работает.

А теперь наследование, скрипты и обращение к ОС в одном параграфе.

Эти книги должен прочитать каждый, кто считает себя программистом!

Содержание статьи

Польза не во многих, но в хороших книгах.

Сенека

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

С. Макконнелл «Совершенный код»

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.

Сложно найти гуру программирования, который не читал «Совершенный код» Стива Макконнелла. Действительно, одна книга, хоть и немаленькая (чуть менее 900 страниц), покрывает практически все аспекты разработки ПО: от рецептов написания высококачественного кода, механизмов тестирования и отладки до стратегий оптимизации кода и психологических факторов, влияющих на разработку. Представь себе: библиография книги занимает 20 страниц и содержит более 500 источников! Книга «Совершенный код» — одно из самых полезных и, как следствие, популярных изданий по разработке ПО. Она неоднократно доказала это, возглавляя рейтинги книг по программированию (goo.gl/3q0kx). Благодаря простой манере изложения, особому стилю и чувству юмора Стива книга читается очень легко.

Говоря о проектировании и конструировании программных систем, Макконнелл выделает Главный Технический Императив Разработки ПО — управление сложностью. Простота и ясность исходного кода и архитектуры системы определяют ее качество. Большая часть книги посвящена написанию высококачественного кода. Макконнелл, как никто другой осознавая значимость мелочей, детально описывает все правила, которыми необходимо руководствоваться при написании хорошего кода. Необходимый уровень абстракции, разработка качественных интерфейсов классов и пакетов, написание высококачественных методов, выбор удачных имен переменных, упрощение управляющих структур, комментирование кода — ничто не ускользает от внимания автора. Например, общим принципам использования переменных отведен целый раздел книги более чем на 100 страниц. Только вопросу выбора имен переменных посвящена целая глава на 30 страниц. При этом все правила и советы даются исключительно с практической точки зрения.

В части, в которой говорится о качестве ПО в целом, Макконнелл формулирует Главный Закон Качества ПО: повышение качества системы снижает расходы на ее разработку. Причина ясна — большую часть времени программисты занимаются чтением и отладкой написанного кода, тогда как на собственно написание уходит около 10% рабочего времени. Поэтому поддержание качества кода системы на высоком уровне экономит много времени и тем самым повышает КПД программиста.

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

Говоря о повышении производительности ПО, автор приводит убедительные доводы против преждевременной оптимизации, когда программист в процессе разработки интуитивно распознает «узкие» места в программе и незамедлительно принимает меры по оптимизации в ущерб качеству кода. Приводимая статистика показывает, что в 9 из 10 своих предположений программист ошибается.

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

М. Фаулер «Рефакторинг»

Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.

М. Фаулер

Практически любое издание о рефакторинге ссылается на книгу Мартина Фаулера «Рефакторинг». Действительно, в этой книге Фаулер сделал невозможное — в предельно понятной форме донес до читателей почти полностью исчерпывающее описание понятия «рефакторинг», его назначение, особенности и методы реализации.

При немалом объеме (400 страниц) книга читается буквально за пару вечеров, от нее просто невозможно оторваться. Главная причина головокружительного успеха книги — ее практическая направленность. Все мы знаем, что самая сложная задача при подаче материала — привести хороший показательный пример. В этом Фаулеру нет равных. Книга начинается с примера улучшения программы, который сразу с головой затягивает читателя в мир рефакторинга. Всего 40 страниц примера дают нам вполне конкретное представление о рефакторинге, его целях, принципах и основных методах реализации. Мартин определяет рефакторинг как «изменение во внутренней структуре ПО, имеющее целью облегчить понимание его работы и упростить модификацию, не затрагивая наблюдаемого поведения». Но когда необходимо проводить данное изменение? Какой код должен подвергаться переработке? Автор дает исчерпывающие ответы на эти вопросы. Он вводит правило «трех ударов»: «После трех ударов начинайте рефакторинг». То есть когда вы делаете что-то аналогичное в третий раз, это сигнал для начала рефакторинга. Раздел «Код с душком» дает нам четкое представление о том, какой же код требует улучшения. К признакам такого кода относятся: длинный метод, большой класс, длинный список параметров метода, дублирование кода, операторы типа switch, временные поля, отказ от наследства, неуместная близость классов и многое другое.

Фаулер, как сторонник TDD (Test-driven development), посвящает главу книги созданию автоматических тестов и описанию среды JUnit. Если обнаружена ошибка, сначала необходимо написать автоматический тест, выявляющий ее, и лишь затем проводить исправление. Это позволит в будущем не наступать на одни и те же грабли. Аналогично перед проведением рефакторинга следует написать тест для улучшаемого кода, чтобы обеспечить неизменность его поведения.

Бо́льшую часть книги занимает каталог методов рефакторинга. Он содержит разделы, посвященные составлению методов, перемещению функций между объектами, организации данных, упрощению условных выражений и вызовов методов, решению задач обобщения и крупным архитектурным рефакторингам. Многие из методов рефакторинга автоматизированы в популярных IDE. Например, Visual Studio предоставляет возможности по автоматическому выделению метода (ExtractMethod), удалению параметра (RemoveParameter), выделению интерфейса (ExtractInterface) и пр. В качестве крупных рефакторингов уровня системы Фаулер приводит следующие: разделение иерархии наследования, выполняющей более одной задачи, преобразование процедурного подхода к проектированию в объектно-ориентированный подход, отделение предметной области от уровня представления, а также выделение иерархии, подразумевающее разбиение большого класса на целую иерархию значительно меньших по размеру и более специализированных подклассов.

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

Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес «Паттерны проектирования»

Проектирование объектно-ориентированных программ — нелегкое дело, а если их нужно использовать повторно, то все становится еще сложнее.

Э. Гамма

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

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

Мастер Йода рекомендует:  Жемчужина PERL мощь C и простота Basic

Коллектив авторов известен как Gang of Four («Банда четырех»), поэтому представленные в книге паттерны называют GoF. Авторы разбивают все множество представленных паттернов на три группы: порождающие паттерны, структурные паттерны и паттерны поведения. Порождающие паттерны решают задачу инстанцирования (создание экземпляров) классов. К самым популярным паттернам в данной группе можно отнести AbstractFactory (абстрактная фабрика), FactoryMethod (фабричный метод) и Singleton (одиночка).

Структурные паттерны предназначены для решения вопросов компоновки системы на основе классов и объектов. К ним относятся такие важнейшие паттерны, как Adapter (адаптер), Bridge (мост), Composite (компоновщик), Proxy (заместитель) и Façade (фасад). Паттерны поведения связаны с алгоритмами и вопросами распределения обязанностей между классами. Здесь необходимо упомянуть Strategy (стратегия), TemplateMethod (шаблонный метод), Observer (наблюдатель), Command (команда) и Iterator (итератор).

Единственное, что может смутить читателя, — некоторые примеры в книге написаны на малоизвестном на сегодняшний день языке программирования Smalltalk, а для изображения диаграмм классов вместо привычного UML используется OMT (Object Modeling Technique).

Гуру ООАиП Мартин Фаулер пишет: «Паттерны GoF — это лучшая из когда-либо изданных книг по объектно-ориентированному проектированию. Эта книга чрезвычайно влиятельна в индустрии программного обеспечения — только посмотрите на библиотеки Java и .NET, которые буквально кишат паттернами GoF». Не существует специалиста в области объектно-ориентированного проектирования, незнакомого с паттернами GoF, а если такой и есть, то в этом случае его, скорее всего, нельзя назвать специалистом.

Р. Мартин «Чистый код»

Умение писать код — тяжелая работа. Она не ограничивается знанием паттернов и принципов. Над кодом необходимо попотеть.

Р. Мартин

«Чистый код» — одна из наиболее удачных книг, посвященных написанию высококачественного кода. Размер книги — 360 страниц, не считая приложений. При этом она настолько увлекательна и доступна, что за два-три вечера запросто прочитаешь ее от корки до корки. В дружеской манере «дядюшка» Боб рассказывает нам, какими же принципами нужно руководствоваться, чтобы писать хороший код. Книга изобилует примерами из реальных приложений, с которыми автор сталкивался в своей практике. Среди них такие известные продукты, как JUnit, FitNesse, JDepend, Ant и TomCat.

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

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

Необходимо поддерживать его чистоту с течением времени, чтобы предотвратить «загнивание». Поэтому он вводит «правило бойскаута»: «Оставь место стоянки чище, чем оно было до твоего прихода». То есть с каким бы участком кода мы ни работали, нужно пытаться в итоге сделать его качественнее, чем он был. В таком случае, код не будет загнивать и останется чистым.

При создании функций во главу угла ставятся компактность, правило одной операции и одного уровня абстракции — очевидные на первый взгляд принципы, которые так часто нарушаются программистами. Будучи ярым адептом TDD, Мартин указывает на важность «чистоты» не только кода конечного продукта, но и кода модульных тестов. Он иронически замечает: «Какими отличительными признаками характеризуется чистый тест? Тремя: удобочитаемостью, удобочитаемостью и удобочитаемостью».

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

В начале книги Роберт приводит ответы мэтров программирования на вопрос, что же такое «чистый код». Грэди Буч отвечает: «Чистый код прост и прямолинеен. Чистый код читается, как хорошо написанная проза. Чистый код никогда не затемняет намерения проектировщика; он полон четких абстракций и простых линий передачи управления». Программисты, которые стремятся писать «чистый код», просто обязаны прочитать эту книгу.

Д. Кнут «Искусство программирования»

Лучший способ в чем-то разобраться до конца — это попробовать научить этому компьютер.

Д. Кнут

Программист, у которого нет книги «Искусство программирования», как священнослужитель, у которого нет Библии. Монографию Дональда Кнута часто называют «Библией программиста». Она содержит подробное описание и анализ важнейших фундаментальных алгоритмов, используемых в информатике, а также множество практических задач для усвоения и закрепления представленного материала. Журнал American Scientist включил работу Кнута в список двенадцати лучших физико-математических монографий XX века наряду с работой Эйнштейна по теории относительности. Успех книги определило качество изложения и глубина анализа общих вопросов программирования.

Кнут начал работу над «Искусством программирования» еще в 1962 году. По замыслу автора монография должна состоять из семи томов. Пока было издано три первых тома, а также первая половина четвертого. Все изданные на сегодняшний день материалы составляют почти 3000 страниц. Читать книгу совсем не просто (как, впрочем, и Библию), главным образом потому, что все примеры рассматриваются на низкоуровневом языке программирования — ассемблере для гипотетического выдуманного автором компьютера MIX. Поэтому у программиста вряд ли получится использовать книгу в качестве набора готовых рецептов для решения конкретных задач. Эта книга дает программисту не рыбу, а скорее хорошую удочку, с помощью которой он сможет не без определенных усилий самостоятельно наловить рыбы.

Первый том посвящен основным алгоритмам и состоит из двух глав. Первая глава подготавливает читателя к работе над книгой. Здесь рассматриваются основные математические понятия и теоремы, на которых базируется весь материал. Читатель знакомится с «полиненасыщенным компьютером» MIX, его архитектурой и его языком ассемблера. Вторая глава посвящена информационным структурам и алгоритмам работы с ними. Здесь рассматриваются деревья, многосвязные структуры, линейные списки, в том числе стеки, очереди, деки, циклические и дважды связанные списки и прочее.

Второй том включает в себя третью и четвертую главы. Третья глава посвящена работе со случайными числами и последовательностями. В четвертой главе описываются вопросы арифметики, а именно различные виды систем счисления, арифметика чисел с плавающей точкой и рациональных чисел, полиномиальная арифметика и другое. Третий том посвящен алгоритмам сортировки и поиска (соответственно, главы 5 и 6). Из четвертого тома опубликованы материалы седьмой главы, описывающей вопросы комбинаторного поиска.

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

В своем отзыве о работе Кнута Билл Гейтс сказал: «Если вы считаете себя действительно хорошим программистом… прочитайте „Искусство программирования“ (Кнута)… Если вы сможете прочесть весь этот труд, то вам определенно следует отправить мне резюме». Цитата лишний раз подчеркивает, что, несмотря на сложность материала, настоящий профессионал обязательно должен осилить труд Дональда Эрвина Кнута «Искусство программирования».

Э. Хант, Д. Томас «Программист-прагматик»

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

Эндрю Хант

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

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

Одним из самых замечательных принципов программирования, которым мы обязаны авторам, является принцип DRY (Don’t Repeat Yourself), что в переводе на русский означает: «Не повторяй самого себя». Это значит, что каждый фрагмент знания должен иметь единственное и однозначное представление в системе. Следование данному принципу позволяет повысить надежность, доступность и простоту сопровождения программного продукта.

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

Единственное, что может подпортить впечатление о книге, так это недостаточно качественный перевод на русский язык и наличие множества опечаток. Книгу лучше всего читать в оригинале на английском языке. Нельзя не согласиться с отзывом Кента Бека: «Главное в этой книге то, что она поддерживает процесс создания программ в хорошей форме. [Книга] способствует вашему постоянному росту и явно написана людьми, знающими толк в программировании». Если вы стремитесь к постоянному росту как программист, эта книга обязательна к прочтению.

Заключение

Значение хороших книг по программированию сложно переоценить. Каждая из описанных книг позволяет совершить огромный скачок в развитии. «Искусство программирования» закладывает прочный фундамент, обучая нас фундаментальным алгоритмам и приемам программирования. «Совершенный код» позволяет выйти на новый качественный уровень конструирования ПО. «Чистый код» и «Рефакторинг» учат нас внимательнее относиться к качеству кода и поддерживать его в идеальном состоянии. «Программист-прагматик» подсказывает, как же реально добиться практического успеха при разработке ПО. «Паттерны проектирования» вооружают тяжелой артиллерией паттернов для решения множества задач проектирования.

5 книг для начинающих программистов

Полезная подборка, чтобы разобраться в C++, JAVA, Python и узнать про код Грея.

Часто тем, кто всерьёз занимается олимпиадной информатикой, рекомендуют прочесть трёхтомник Дональда Кнута. Кстати, недавно вышел четвёртый том. Но всё же перед тем как взяться за Кнута, советую обратить внимание на книгу Роберта Седжвика «Фундаментальные алгоритмы C++. Анализ. Структуры данных. Сортировка. Поиск».

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

Герберт Шилдт — один из самых опытных авторов книг по изучению языков программирования. Если вы планируете изучать Java, стоит начать именно с этой книги. Шилдт пишет простым языком, последовательно и структурированно.

Время от времени встречаются вставки «вопрос – ответ» — своего рода лайфхаки, чтобы глубже понять прочитанный материал.

Приятным дополнением станут главы о Swing и JavaFX.

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

Эту книгу можно описать так: просто и интересно. Автор рассказывает о программировании на «Пайтоне» понятно даже для младшего школьника. Самоучитель содержит живые примеры и забавные картинки. В конце книги обсуждается разработка двух несложных игр.

Эта удивительная книга построена всего лишь на одной известной задаче про Ханойские башни. Несмотря на это, она содержит главы и про битовую арифметику, и про код Грея. Все примеры приводятся на языке Pascal.

Автор онлайн-курса программирования на Python в Фоксфорде, волонтёр международных workshop для ACM

Автор онлайн-курса разработки игровых приложений под Android на языке JAVA в Фоксфорде, преподаватель в IT-школе Samsung

Идеальная разработка ПО. Рецепты лучших программистов

Скачать книгу (полная версия)

О книге «Идеальная разработка ПО. Рецепты лучших программистов»

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

Существует много споров о том, какие же инструменты, технологии и практики могут действительно оптимизировать процесс разработки ПО и усовершенствовать конечный продукт. В новой книге под редакцией Энди Орама и Грега Уилсона известные разработчики делятся своим бесценным опытом и мнениями на эту тему. Авторские эссе и статьи посвящены наиболее эффективным методам работы программиста, а также развенчиванию ряда мифов, существующих в программистском обществе.

Среди авторов книги — такие авторитеты, как Стив Макконнелл, Барри Бэм, Барбара Китченхем и еще 27 известных экспертов в области разработки программного обеспечения.

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

На нашем сайте вы можете скачать книгу «Идеальная разработка ПО. Рецепты лучших программистов» Орама Энди, Уилсон Грег бесплатно и без регистрации в формате pdf, читать книгу онлайн или купить книгу в интернет-магазине.

Мнение читателей

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

Подбрка полезной литературы

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

Критерий завершения

Изучить весь список литературы

Личные ресурсы

Подбор полезной литературы

Книги по алгоритмизации

Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих ( Адитья Бхаргава )

Алгоритмы: разработка и применение. ( Клейнберг Д., Тардос Е. )

Алгоритмы и структуры данных. Новая версия для Оберона ( Никлаус Вирт )

Алгоритмы. Вводный курс ( Т. Кормен )

Алгоритмы. Построение и анализ ( Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн )

Алгоритмические трюки для программистов ( Генри С. Уоррен мл. )

Жемчужины проектирования алгоритмов. Функциональный подход ( Ричард Берд )

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