15 лучших книг по программированию с нуля

Содержание

22 место

«Rapid Development», Steve McConnell

Corporate and commercial software-development teams all want solutions for one important problem — how to get their high-pressure development schedules under control. In «Rapid Development», author Steve McConnell addresses that concern head-on with overall strategies, specific best practices, and valuable tips that help shrink and control development schedules and keep projects moving. Inside, you’ll find:

  • A rapid-development strategy that can be applied to any project and the best practices to make that strategy work;
  • Candid discussions of great and not-so-great rapid-development practices — estimation, prototyping, forced overtime, motivation, teamwork, rapid-development languages, risk management, and many others;
  • A list of classic mistakes to avoid for rapid-development projects, including creeping requirements, shortchanged quality, and silver-bullet syndrome;
  • Case studies that vividly illustrate what can go wrong, what can go right, and how to tell which direction your project is going;
  • Rapid Development is the real-world guide to more efficient applications development.

24 место

«Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн

Книга Седжвика и Уэйна «Алгоритмы на Java» является классическим справочным руководством в котором содержится необходимый объём знаний для программиста в области алгоритмов, накопленных за последние несколько десятилетий

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

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

Книга для обучения детей JavaScript «JavaScript для детей. Самоучитель по программированию»

Издательство «Манн, Иванов и Фербер».

Впервые на русском языке книга была опубликована в 2016 году и построена подобно другим книгам по программированию для детей издательства «Манн, Иванов и Фербер». Каждый раздел заканчивается небольшим резюме, помогающим оценить уровень усвоения материала. К моменту окончания книги ребенок сможет самостоятельно написать три игры. Почему JavaScript? Этот язык прост в изучении, он используется в браузерах, с помощью JavaScript можно превратить обычную веб-страницу в видеоигру. Первая часть посвящена основам JavaScript: типы данных, массивы, переменные. Читатель узнает, как создавать объекты и работать с текстовыми редакторами, познакомится с основами HTML и научится внедрять в HTML JavaScript-код. Вторая часть книги рассказывает о продвинутом JavaScript, третья целиком посвящена графике и анимациям. «JavaScript для детей» рассчитана на читателей с 6 лет. Впрочем, и родителям будет интересно, даже если нет навыков работы с JavaScript. В книге много ярких и занимательных иллюстраций, действия сопровождаются фотопримерами, а язык прост для понимания. Постепенно изучая главу за главой, ребенок узнает термины, освоит команды и напишет код для собственной игры. Обзор и мнения о книге:

HTML и CSS

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

В этой книге рассказывается о HTML5 Canvas — элементе, предназначенном для создания растрового двухмерного изображения при помощи скриптов, обычно на языке JavaScript. В ходе разработки несколько интерактивных игр вы научитесь рисовать, рендерить текст, управлять изображениями и создавать анимацию. Книга содержит 53 интерактивных примера и упражнения.

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

  • написание CSS-friendly HTML-кода;
  • мобильный дизайн;
  • настройка анимаций и форм;
  • позиционирование;
  • Flexbox;
  • расширения CSS, в частности, Sass.

Magic of CSS

Читать 

Эта книга расскажет вам о самых хитрых аспектах CSS. Затрагиваются такие темы, как макеты, таблицы, цвета, типография и переходы. Материал сопровождается интерактивными примерами.

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

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

Кроме базовых вещей, в данной книге рассмотрены способы создания сеток, анимации, интеграции с SVG, эффектов и многое другое.

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

Прочитав её и изучив все примеры (в этом вам поможет сайт-компаньон), вы научитесь:

  • стилизовать текст при помощи шрифтов, теней и других эффектов;
  • работать с фоновыми изображениями;
  • оживлять статические страницы при помощи событийных переходов и анимации;
  • применять к тексту и картинкам 2D- и 3D-преобразования;
  • использовать линейные и радиальные градиенты;
  • верстать при помощи Grid и Flexbox;
  • адаптировать внешний вид сайта под любое устройство.

В этой книге Лиа Веру, эксперт в CSS, делится 47 техниками и советами по разработке элегантных решений повседневных задач веб-дизайна. Рассматриваются такие темы, как:

  • фон и границы;
  • фигуры;
  • визуальные эффекты;
  • типография;
  • UX;
  • структура и вёрстка;
  • переходы и анимация.

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

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

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

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

4 место

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

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

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

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

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

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

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

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

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

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

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

Программирование — это прикладное искусство

Я часто думал, что архитектура и строительство — плохие метафоры для программирования. Мы не создаем полный проект, чтобы потом строить (по нему) от самого фундамента до полностью готового здания.

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

В этом и есть главная суть «Чистого кода». На протяжении всей книги автор проводит идею о том, что программное обеспечение является искусством и сродни живописи. 

xkcd

Но как перейти от простого написания кода к искусству программирования?

По словам Мартина, основными инструментами, которыми мы располагаем, являются непрерывный рефакторинг и разработка на основе тестирования (TDD). Они неотделимы друг от друга, как две стороны медали. Вот некоторые определения.

Рефакторинг — это процесс реструктуризации существующего программного кода без изменения его внешнего поведения.

Разработка через тестирование — это процесс, в котором требования превращаются в конкретные тестовые сценарии, а затем пишется код и проводится успешное тестирование.

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

  1. Напишите тесты на еще не разработанную функциональность. Естественно, они не будут работать.
  2. Реализуйте функциональность так, чтобы тесты выполнялись успешно. Пусть даже код сначала будет не самым хорошим.
  3. Итеративно проводите рефакторинг кода не ломая тесты. С каждым разом ваш код будет становиться все более чистым. 

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

Таким образом, основная идея, представленная Мартином, заключается в том, что чистый код — это то, что возникает в процессе и практике разработки, а не создается за один раз.

25 место

«Continuous Delivery», Jez Humble & David Farley

Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours— sometimes even minutes–no matter what the size of a project or the complexity of its code base.

Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the «deployment pipeline,» an automated process for managing all changes, from check-in to release. Finally, they discuss the «ecosystem» needed to support continuous delivery, from infrastructure, data and configuration management to governance.

Computer Science aka Теоретическая Информатика

Перефразируя @ne555, законы математики, как и физические законы, нельзя поменять в новых версиях.

Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ (первое издание 1990г. и ещё без Штайна).

Эта книга является первой в моём топе среди всех IT книг (и вообще среди всех нехудожественных книг). Монументальный труд по алгоритмам. Написана очень хорошим и понятным языком. Алгоритмы не только описаны на псевдокоде, но ещё и тщательно разжёваны. А так же в каждой главе есть упражнения для закрепления материала. Книга настолько хороша, что если вы качественно изучите только эту книгу, (сделаете упражнения и самостоятельно реализуете большинство алгоритмов) и не прочитаете больше ни одной книги, то вы будете в программировании лучше большинства выпускников IT-вузов нашей страны (это моё оценочное суждение, основанное на опыте проведения собеседований). Тут недавно проскакивала статья о том, как не надо изучать программирование от @nsnurlan. Так вот, я убеждён, что человек, прочитавший (и понявший!) эту книгу от корки до корки и осиливший самостоятельно реализовать процентов 70 изложенных в ней алгоритмов (ну хорошо, хотя бы половину) на любом понравившемся языке программирования, способен получить работу программистом.

Дональд Кнут. Искусство программирования.

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

Иосиф Владимирович Романовский. Дискретный анализ.

Книга, предназначенная для старшеклассников и студентов 1 курса , регулярно переиздаётся. У меня дома второе издание 2000 года, так что она из прошлого века. Можно сказать, что она является введением в информатику, после неё читать книгу Кормена становится несколько проще.

Альфред Ахо, Моника С. Лам, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты.

Классический учебник по компиляторам. Если вы собираетесь всерьёз заняться разработкой компилятора, эта книга, как раз, то, что надо. Но я рекомендовал бы её начать читать только после того, как вы освоите базовые алгоритмы, например, по книге Кормена.

Дэн Гасфилд. строки деревья и последовательности в алгоритмах.

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

Фрэнк Харари. Теория графов.

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

Тем не менее, графы являются важной частью информатики и (программирования в целом), и, порой, в разработке ПО появляются задачи, для решения которых не хватает знаний из книги Кормена

Григорий Михайлович Фихтенгольц. Основы математического анализа.

Куда же без матана.

Ломоносов

математик Алексей Савватеев про экономику и теорию игр, но к программированию тоже применимо.

Борис Павлович Демидович. сборник задач и упражнений по математическому анализу.

Я сейчас очень рад тому, что, когда я учился в университете, у меня не было Wolfram Mathematica (не знаю, умела она тогда аналитически брать интегралы или нет; кажется, не умела, но это не точно) и я все положенные 70 интегралов взял сам.

Программист-прагматик: от подмастерья к мастеру

Авторы издания: Эндрю Хант и Дэвид Томас

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

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

Вы научитесь:

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

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

Искусство программирования

Автор учебника: Д. Кнут

Без этой книги не обходится ни одна подборка лучших учебников по программированию. Эта настоящая «библия» разработчика, включающая в себя практически все существующие направления. Над «Искусством программирования» автор работает с 1962 года и по сегодняшний день. Сейчас изданы 3 тома и (только по-английски) часть четвертого.

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

Чистый код

Автор книги: Р. Мартин

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

Именно потому очень важно хорошему разработчику научиться писать «чистый» код

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

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

Scratch для детей

Мажед Маржи


Scratch для детей

Почему стоит обратить внимание на эту книгу? Автором данной книги является старший разработчик в General Motors и и преподаватель в Университете Уейна в Мичигане. Каждая из глав в этой книге, является законченной программой

Каждая из глав в этой книге, является законченной программой.

С каждой главой задачи становятся все сложнее.

Для кого эта книга

Для детей от 8 лет и всех, кто хочет научиться программировать.

  • Scratch для детей
    Мажед Маржи

  • Scratch для детей
    Мажед Маржи

  • Scratch для детей
    Мажед Маржи

  • Scratch для детей
    Мажед Маржи

Swift для детей. Самоучитель по созданию приложений для iOS

Глория Уинквист, Мэтт Маккарти


Swift для детей

Для кого эта книга?

Эта книга подойдет детям от 10 лет, при желании, родители также могут научиться программировать с нуля. По ней вы сможете в кратчайшие сроки создать приложение для iPhone, iPad.

Если вы учитель информатики, вам так же стоит обратить внимание на эту книгу. Вы сможете внести разнообразие и вызвать интерес со стороны школьников к программированию

  • Первая книга по созданию приложений для iOS
  • Пошаговое руководство по созданию простого приложения
  • Swift для детей.

  • Swift для детей.

  • Swift для детей.

  • Swift для детей.

Ник Морган


JavaScript для детей Самоучитель по программированию

Книга написана программистом, который работает frontend разработчиком в компании Twitter.

За всю свою деятельность программистом, он получил колоссальный опыт в JavaScript и в своей книге делится его секретами.

Книга позволит освоить вам Javascript в короткие сроки. Изучая Js по книге, вы напишите такие игры как «Виселица» и «Змейка».

Книга для детей от 10 лет.

  • JavaScript для детей
    Самоучитель по программированию

  • JavaScript для детей
    Самоучитель по программированию

  • JavaScript для детей
    Самоучитель по программированию

  • JavaScript для детей
    Самоучитель по программированию

Python для детей. Самоучитель по программированию

Джейсон Бриггс


Python для детей. Самоучитель по программированию

Вы узнаете как:

  • используются элементы Python — функции, модули, списки;
  • Научитесь рисовать за счет встроенных инструментов Python;
  • анимировать изображения с tkinter;
  • сможете писать игры — «Прыг-скок!» (аналог игры Pong)
  • Научитесь писать бродилку «Человечек ищет выход», где прыгают по платформам, чтобы добраться до выхода.

Для кого эта книга?

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

  • Python для детей.

  • Python для детей.

  • Python для детей.

  • Python для детей.

Программируем с Minecraft. Создай свой мир с помощью Python

Крейг Ричардсон


Программируем с MinecraftСоздай свой мир с помощью Python

Если вы не боитесь криперов, подземелий, пещер и высоких гор, тогда вы знаете, что меч можно превратить в волшебную палочку, замок построить в мгновение ока, а тайные лазы легко можно открыть нажатием секретной кнопки. Данная книга «Программируем с Minecraft» научит создавать все эти и многие другие чудеса с помощью языка Python. Этот язык программирования является одним из основных языков на данный момент, язык, которым пользуются миллионы людей — от профи до новичков!

Вы научитесь:

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

Для кого эта книга

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

  • Программируем с Minecraft

  • Программируем с Minecraft

  • Программируем с Minecraft

  • Программируем с Minecraft

Обзор книг по программированию для детей

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

Программирование и ребенок.

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


Программирование и ребенок.

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

Краткое описание книг

  
  
  К. Вордерман, Д. Вудкок, Ш. МакаманусРуководство о языках Scratch и Python для детей младшего школьного возраста. Учит основам программирования, разработке простых игр и анимации.
 Д. БриггсКнига для начинающих: много информации о языке и подробное объяснение терминов. По отзывам пользователей, одна из лучших о языке Python. Для детей от 10 лет.
 М. МаржиКнига подойдет для детей 11-12 лет. Подробно рассказывает о возможностях Scratch и нюансах работы с этим языком, развивает навыки структурного программирования.
 Г. Уинквист, М. МаккартиSwift — это язык приложений Apple. Ребенок познакомится с учебной площадкой Xcode Playground и разработает собственное приложение.
 Н. КуперКомикс для маленьких программистов и дизайнеров от 9 лет. Знакомит с основами HTML, CSS и WordPress. К окончанию книги у ребенка будет создан свой сайт.
 Н. МорганПо самоучителю читатель сможет изучить JavaScript, внедрять в HTML и напишет код для игры. Для детей от 6 лет.
 А. СпролКнига о программировании с С++ для детей от 12 лет. Учит применять системный подход, помогает развить логику в написании кода и решении головоломок.
 Л. ЛьюкасКнига написана в формате сказки и подойдет для самых маленьких программистов от 5 лет: ребенок сможет узнать об информационных технологиях даже без компьютера.
 И. и В. ВорониныПрактическое пособие для юных читателей, занимающихся робототехникой. К концу книги ребенок сможет написать программу для своего робота.
 Д. УитниКнига учит создавать и настраивать веб-страницы, ставить защиту, разрабатывать игры и приложения. Подойдет для детей от 12 лет.

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

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

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

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

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

Паттерны проектирования

Авторы учебника: Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес

Зачем нужны паттерны и что это такое? Очень многие начинающие программисты «героически» решают с нуля задачи, которые были решены до них 10001 раз

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

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

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

Эту книгу вы не сможете прочитать за 2-3 вечера. Здесь придется вникать в нюансы и прорабатывать каждую главу. Возможно, вторая часть книги станет для вас в будущем удобным настольным справочником. Каталог паттернов здесь действительно удобный.

Авторы учебника – сложившаяся команда разработчиков, известная как «Gang of Four», т.е. Банда четырех. И свои паттерны авторы так и называют – GoF.

Сегодня невозможно найти специалиста по ООП, который был бы незнаком с GoF-паттернами. Если вы с таким столкнетесь, скорей всего, на самом деле, он вообще не знает ООП. А потому, если вы стремитесь развиваться в сфере разработки ПО, этот учебник вам обязательно понадобится.

7 место

«Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин

Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это — основа для них. Потому что они являются профессионалами своего дела. В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и практики разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга — больше, чем описание методов, она о профессиональном подходе к процессу разработки.

Мифический человеко-месяц, или Как создаются программные системы

Автор книги: Фредерик П. Брукс

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

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

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

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

Рефакторинг

Автор книги: М. Фаулер

Рефакторингом называют перечень методов ООП, направленных на улучшение структуры и производительности кода. Очень часто даже после лекций в ВУЗе джуниоры не понимают, с чего начать и как пользоваться этим подходом. Более того, нередко даже относительно опытные программисты уровня миддл не понимают, зачем пользоваться рефакторингом и «с какой стороны» к нему подступиться.

Учебников по этому методу оптимизации много, но почти все они ссылаются на книгу Фаулера, именно он сумел наилучшим образом собрать информацию и пояснить суть методики.

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

Автор подробно шаг за шагом описывает различные методы рефакторинга

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

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий