Ilhom Buriev 10 октября 2021

📖 ТОП-10 книг по C#: от новичка до профессионала

В статье представлен список из 10 лучших актуальных книг, которые должны быть в библиотеке каждого начинающего и продвинутого программиста, изучающего C#.
C# (C Sharp) – это универсальный язык программирования общего назначения, созданный специалистами корпорации Microsoft и работающий на базе фреймворка .NET. C# широко используется для создания кроссплатформенных приложений для настольных, серверных и мобильных платформ, включая сложные игровые программы.

1. Джозеф Албахари, «C# 9.0. Справочник. Полное описание языка»

Если у вас есть вопросы по C# 9.0 или .NET 5, в этом бестселлере на них найдутся ответы. C# – язык необычайной гибкости и широты, но из-за постоянного развития мы все время узнаем о нем что-то новое. Это тщательно обновленное издание является лучшим однотомным справочником по языку C# на сегодняшний день.

Преимущества:

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

Недостатки:

  • Книга слишком подробна и не годится для быстрого получения справки: нужно читать весь посвященный нужной теме раздел.
  • Устаревание информации: раз в 1 – 2 года технология меняется и книга требует обновления.

2. Joe Mayo, «C# Cookbook»

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

Преимущества:

  • В книге описаны приемы использования новейших возможностей C# 9.0.
  • Автор рассказывает об использовании шаблонов для решения широкого круга проблем.
  • Приведены рецепты для важных сценариев кодирования на C#.
  • Можно повторно использовать код, который решает общие проблемы.
  • Книга позволяет серьезно расширить знания в области программирования на C# и улучшить качество приложений.

Недостатки:

  • Не замечены.

3. Стивен Клири, «Конкурентность в С#»

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

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

Преимущества:

В книге обсуждаются действительно сложные и интересные темы

  • async и await для асинхронных операций.
  • Параллельное программирование с помощью библиотеки Task Parallel Library.
  • Библиотека TPL Dataflow для создания конвейеров потоков данных.
  • Возможности, которые Reactive Extensions создает поверх LINQ.
  • Юнит-тестирование с параллельным кодом.
  • Сценарии взаимодействия для комбинирования параллельных подходов.
  • Неизменяемые потокобезопасные коллекции производителей/потребителей.
  • Поддержка отмены в параллельном коде.
  • Асинхронное объектно-ориентированное программирование.
  • Синхронизация потоков для доступа к данным.

Недостатки:

  • Книга написана не для нового С# 9, но принципы работы те же.

4. Джеффри Рихтер, «Сlr via C# (4 издание)»

Овладейте тонкостями C# и платформы .NET. Под руководством консультанта команды Microsoft .NET вы получите практические знания для создания надежных и отзывчивых приложений и компонентов.

Преимущества:

  • В книге детально рассказывается, как работает С#.
  • Много информации о фичах С#, вроде многопоточности и дженериков.
  • Есть примеры кода.

Недостатки:

  • Год издания.
  • Книга не подходит новичкам.

5. Jason Alls, «Clean Code in C#»

Развивайте навыки программирования, изучая такие важные темы, как внедрение TDD и BDD и проектирование API для преодоления неэффективности кода, избыточности и других проблем.

Преимущества:

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

Недостатки:

  • Не замечены.

6. Mark J. Price, «C# 9 and .NET 5 – Modern Cross-Platform Development»

Автор дает все необходимые сведения, чтобы начать создавать приложения на C#. Книга учит писать современные кросплатформенные программы с помощью .NET Core 5.0 и знакомит читателей с важными особенностями C# 9. Материал рассчитан на имеющих опыт программирования людей.

Преимущества:

  • Книга учит созданию кроссплатформенных приложений для Windows, macOS, Linux, iOS и Android.
  • В ней есть сведения о работе с ASP. NET Core 5.0 и создании веб-приложений.
  • Затронуто объектно-ориентированное программирование и многозадачность в C#, а также работа с данными при помощи LINQ.
  • Описана разработка приложений с помощью универсальной платформы Windows и XAML.

Недостатки:

  • Не замечены.

7. Andrew Lock, «ASP.NET Core in Action, Second Edition (2021)»

Это исчерпывающее руководство по созданию веб-приложений с помощью ASP.NET Core 5.0. Пройдите путь от базовых концепций HTTP до продвинутой настройки фреймворка. Иллюстрации и аннотированный код делают обучение наглядным и простым. Освойте логины, внедрение зависимостей, безопасность и многое другое. Второе издание книги охватывает новейшие возможности, включая Razor Pages и новую парадигму хостинга.

Преимущества:

  • Описана разработка приложений для серверов на Windows и других ОС.
  • Разобрано конфигурирование приложений.
  • Разобрано создание пользовательских компонентов.
  • Есть информация по ведению журналов, тестированию и безопасности.

Недостатки:

  • Не замечены.

8. Steven van Deurser & Mark Seemann, «Dependency Injection Principles, Practices, and Patterns»

Книга учит читателей использовать Dependency Injection для уменьшения жестко закодированных зависимостей между компонентами приложения. Тщательно разъясненные примеры создадут основу, которую можно будет применить к любой из многочисленных библиотек DI для .NET и .NET Core.

Преимущества:

Книга затрагивает важные темы

  • Интеграцию с распространенными фреймворками приложений .NET.
  • Паттерны и антипаттерны DI.
  • Аспектно-ориентированное программирование.
  • Использование библиотек и контейнеров DI от Microsoft, а также с открытым исходным кодом.

Недостатки:

  • Не замечены.

9. Konrad Kokosa, «Pro .NET Memory Management»

Понимание внутренней работы и методов управления памятью в .NET поможет вам избежать широкого спектра проблем с производительностью и масштабируемостью программного обеспечения. "Pro .NET Memory Management" – это полное руководство по написанию лучшего программного обеспечения.

Преимущества:

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

Недостатки:

  • Не замечены.
10. David Thomas & Andrew Hunt, «The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition, 2nd Edition»
Эта книга не про C#, но вы будете читать, перечитывать и перечитывать ее снова на протяжении многих лет. Новички и опытные практики найдут в книге много полезных сведений.

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

Преимущества:

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

Недостатки:

  • Не замечены.
***

Чтобы стать профессионалом, потребуется время, настойчивость и внимание. Если вы только собираетесь освоить популярный язык программирования, стоит обратить внимание на курс «Разработка на C#» образовательной онлайн-платформы GeekBrains. За 13 месяцев вы сможете изучить язык программирования и платформу .NET с нуля, а также разберетесь с особенностями создания веб-приложений и корпоративных приложений. Преподают на курсах ведущие разработчики российских технологических компаний, под руководством которых вы не только получите теоретические знания, но и сможете добавить в портфолио 4 реализованных проекта. Успешно завершившие курс студенты получат дипломы о профессиональной подготовке и помощь в трудоустройстве.

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ