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

Изучаем C++ через программирование игр  

Автор: Майкл Доусон

Для кого: начинающие С++ разработчики 

Отличная книга, которая написана в качестве практического пособия для разработчиков игр. Таким образом, всё, о чём рассказывает автор, откладывается в памяти и тут же применяется на практике. 

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

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

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

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

Автор: Бьерн Страуструп 

Для кого: новички и более опытные разработчики 

Достоинство книги в том, что её написал создатель языка С++. Уже одно это переводит её в разряд must have для любого разработчика, который кодит на этом языке. Это уже четвертое издание книги, которая помогла тысячам разработчиков совершенствовать свои навыки и получить новый опыт. 

Автор дает советы читателям, указывает на возможные ошибки (а их может быть много), плюс показывает возможности С++ — их, конечно же, тоже немало. Кроме того, Страуструп рассказывает и о перспективах языка в современном мире. 

Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14

Автор: Скотт Мейерс

Для кого: разработчики среднего уровня 

Книга — ещё одно практическое пособие из подборки. Она показывает отличительные особенности версий C++11 и C++14. Автор делает это не просто так, а чтобы продемонстрировать возможности языка и научить читателя работать с ключевыми особенностями функционала. Также Мейерс обучает писать код таким образом, чтобы софт можно было нормально сопровождать. 

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

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

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

Язык программирования C++. Краткий курс 

Автор: Бьерн Страуструп

Для кого: для разработчиков среднего уровня и профи

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

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

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

Современный С++. Безопасное использование 

Автор: Джон Лакос

Для кого: для профессионалов 

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

  1. Безопасные функции. Их практически невозможно применять неправильно. 

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

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

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

Qt 6. Разработка оконных приложений на C++ 

Автор: Николай Прохоренок

????➕➕ ТОП-10 книг по языку программирования С++ в 2023 году
????➕➕ ТОП-10 книг по языку программирования С++ в 2023 году

Для кого: для профессиональных разработчиков 

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

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

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

Эта статья тоже может быть интересной для вас

5 книг, которые стоит прочесть С++-разработчику

Комментарии (15)


  1. neon1ks
    23.08.2023 14:10
    +1

    И не забываем про https://en.cppreference.com/w/


  1. onekawdalg
    23.08.2023 14:10

    Какая разница между версиями C++ 11, 14 и 20?


    1. voldemar_d
      23.08.2023 14:10

      Куда делся C++ 17?


      1. onekawdalg
        23.08.2023 14:10

        Так разница между версиями то какая? Какая польза в изучении C++11 или C++14 по книге от O'Reilly или Страуструпа в 2023 году? Или стоит рассмотреть варианты книг про C++17 и C++20?

        Именно в этом суть вопроса


        1. voldemar_d
          23.08.2023 14:10

          Если реально не знаете, в чем разница, тогда эти книги точно стоит почитать. Особенно Майерса. Там много советов, которые не устарели.


          1. onekawdalg
            23.08.2023 14:10

            Понял. Спасибо большое за ответ (жаль, что пока не могу оценить комментарий)


        1. Sequoza
          23.08.2023 14:10

          Так разница между версиями то какая?

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

          Или стоит рассмотреть варианты книг про C++17 и C++20?

          Авторитетные авторы долго не обновляют свои книги. Если для вас это новый язык - лучше начать с последних стандартов. Я бы, наоборот, не стал начинать изучение с 11. Банально из-за того, что усилий вы потратите много, а толку 0, т.к. с новым стандартом уже так не пишут. Классиков, имхо, стоит читать, когда поймете, что вам ваших знаний не хватает. Вот тогда пойдут всякие александреску, страуструпы, устройства компиляторов, линкеры и подобные книги, не обновляющиеся десятилетиями.


        1. Malizia
          23.08.2023 14:10

          база осталось преждней, разница в деталях - обновилась STL (стандартная библиотека), что-то убрали/пометили как deprecated, что-то добавили, что-то изменили. Вполне вероятно, что в обзорных книгах по более поздним стандартам (17,20) не будет упоминаний по нововведениям в более ранних стандартах (11, 14). Начинать изучать можно с любой версии стандарта, но чем дальше, тем язык становится сложнее (в плане деталей - их становится больше) и изящней.


  1. simenoff
    23.08.2023 14:10
    +3

    Изучаем C++ через программирование игр  

    Ни о чём


  1. Myxach
    23.08.2023 14:10
    +2

    2023? Ну при этом вся литература, в лучшем случае, 2014 года. Зачем тогда уточнение, что бы каждой год перевыпускать статью меняя только год


    1. Malizia
      23.08.2023 14:10

      Из свежих "C++20 - The Complete Guide", Nicolai M. Josuttis, 2022. "C++17 in Detail", Bartlomiej Filipek, 2019.


  1. impakashi
    23.08.2023 14:10
    +2

    Изучаем C++ через программирование игр. Майкл Доусон
    Эта книга, конечно, не очень плохая, но слишком поверхностная. Совсем новичку может быть тяжеловато, а не новичку уже не надо.
    Сам бы для начала посоветовал Лафоре Р. Объектно-ориентированное программирование в С++. После него и Страуструп более менее пойдёт


    1. hiewpoint
      23.08.2023 14:10

      У Лафоре код с UB, для начала его нельзя читать. Вместо него "Язык программирования C++. Базовый курс" - Стенли Липпман или "Язык программирования C++. Лекции и упражнения." - Стивен Прата.


  1. WinPooh73
    23.08.2023 14:10
    +1

    Добавил бы: Иван Чукич, "Функциональное программирование на C++". Хорошее дополнение к книге Мейерса по Modern C++.


  1. AnimeSlave
    23.08.2023 14:10
    +1

    Очень странный набор книг. Для кого он? В заголовке написано Для разработчиков. Возникают вопросы. А разработчиков чего? Разработчиков на чём? Для разработчиков на C++? Хорошо. Какой уровень этих разработчиков? Для молодых разработчиков давным давно есть список проверенных книг, который постоянно обновляется. Всё что в него не попало, либо повторяет уже существующие книги, либо узкоспециализированные книги, которые понадобятся только в конкретных задачах, либо шлак, который нет смысла даже читать. Список на английском, но книги хорошо гуглятся и можно найти русские издания. Вот их бы в виде статьи на хабре прорекламировать.

    А ещё бы лучше по настоящему пройтись по современным российским авторам книг по программированию, и порекомендовать именно достойные к прочтению. Я бы с удовольствием почитал. Потому что, к примеру, список книг для C++ разработчиков на английском есть, я его выше указал, а такого же но с русскими авторами - нет. Чем не тема для будущей статьи? Тем более, что МТС вызвалась составлять списки. Почему бы не сделать это с умом для читателей?