Книги по программированию, которые стоят того, чтобы их прочесть

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

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

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

Мои основные языки программирования – это C# и Java, поэтому речь пойдет о них, но будут также и независимые от языка примеры.

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

Итак, поехали…

Книги по программированию, которые стоят того, чтобы их прочесть

Если вы выбрали C# в качестве основного языка программирования, то, пожалуй, лучше книги, чем «CLR via C#» вам не найти. Этот многостраничный труд содержит в себе детальную информацию о типах данных, примитивах, методах, интерфейсах и прочем, и прочем. Читать эту книгу советую следующим образом: пропустите для начала первую ее часть с основами CLR, где описывается процесс сборки приложения (к ней вы вернетесь, когда освоите все остальное) и переходите к основам типов. Читайте все до делегатов. Так вы сможете изучить всю основную информацию касающуюся C#, не затрагивая довольно специфические темы, которые на текущем этапе вам точно ни к чему.

Книги по программированию, которые стоят того, чтобы их прочесть

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

Книга воспринимается довольно легко, но при этом стоит учитывать, что по сравнению с первой книгой («CLR via C#») здесь приведено намного меньше объяснений. Предполагается, что вы уже знакомы с основными принципами и терминами.

Книги по программированию, которые стоят того, чтобы их прочесть

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

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

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

Книги по программированию, которые стоят того, чтобы их прочесть

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

Книги по программированию, которые стоят того, чтобы их прочесть

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

Книги по программированию, которые стоят того, чтобы их прочесть

С ростом вашего навыка придет и необходимость понимания работы приложения в распределенном режиме. Книга написана простым языком о сложных вещах. Здесь вы узнаете о том, зачем приложениям в целом нужен распределенный режим и о таких понятиях как shared memory и consensus.

Заключение

На этом небольшой список книг для прочтения завершается.

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

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

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

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

Огромных вам успехов в изучении этого объемного, но в то же время интересного процесса – программирования!

О своих проектах

  • Логическая головоломка с числами TraitorousNumber
  • Книга в жанре фэнтези под названием «Эликсир»

Буду признателен за ваши подписки, отзывы и оценки на соответствующих страницах ЛитРес, а также на странице игры TraitorousNumber в Google Play.

Спасибо за внимание!

119
55 комментариев