Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

10 Лютого 2025

Платформа .NET є опенсорсним проєктом Microsoft з активною спільнотою користувачів та регулярними оновленнями. Якщо хочете мати актуальні знання про всі можливості .NET, передусім читайте офіційну документацію. Додаткова література для навчання буде тільки плюсом, тож ділимося добіркою корисних книг від фахівців NIX.

Щоб стартувати розробку на .NET, читайте…

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

Pro C# 10 with .NET 6: Foundational Principles and Practices in Programming (Eleventh Edition)

Автор: Andrew Troelsen, Phil Japikse

Ендрю Троелсен та Філ Джапіксе є розробниками з досвідом понад 30 років. За свою кар’єру кожен із них працював у багатьох компаніях, викладав, був спікером відомих конференцій. А головне — як поодинці, так і у партнерстві вони написали багато книг про програмування, зокрема й для популярної серії Pro C#.

11-те видання, про яке мова, є найбільш актуальним та повним посібником із C# та .NET. Передусім у книзі розкриті нові функції C# 10 та .NET 6 — як однофайлові програми та менші контейнери образів. Також автори розібрали Entity Framework Core, ASP.NET Core, Web API, Razor Pages та інші прикладні частини. Але книга не обмежується описом теорії та прикладами коду. Ендрю Троелсен та Філ Джапіксе намагаються розвинути у читача критичне мислення. Це дозволить створювати дійсно продуктивні та стабільні сервіси, настільні програми, вебзастосунки тощо.

The Book of the Runtime

Автор: Microsoft та спільнота .NET

Це не книга в повному сенсі слова — це величезна за обсягом корисної інформації добірка документації на GitHub. Фактично це офіційний ресурс по .NET Runtime, який свого часу було створено інженерною командою для онбордингу новачків. До речі, в мережі можна знайти всі ці статті, зібрані в «книжний» файл на кшталт .epub чи .mobi.

Головна порада щодо The Book of the Runtime, або скорочено BotR: це варто читати тим, хто хоче розуміти більше про роботу .NET «під капотом». В статтях, які поступово писались впродовж всіх цих років із запуску ресурсу, детально описані компоненти CLR та BCL. Вони зосереджені не стільки на анотованому описі кодової бази, скільки на архітектурних рішеннях. Завдяки цьому підходу .NET-розробник може більш ефективно використовувати всі можливості платформи в цілому. Але треба пам’ятати: для початківця все це може бути занадто складним і навіть в чомусь не дуже потрібним.

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

CLR via C# (Fourth Edition)

Автор: Jeffrey Richter

Джеффрі Ріхтер максимально занурений у світ Microsoft. У нього за плечима позиції архітектора у Microsoft Azure та консультанта у команді .NET Framework (з 1999 року!). Також він був позаштатним редактором журналу MSDN Magazine, створив декілька онлайн-курсів з програмування та написав багато книг про Windows та .NET.

Серед творів Ріхтера видання CLR via C# займає особливе місце. Ця книга пережила вже 4 оновлення та заслужила титул «біблії для .NET-розробника». Фактично вона є повноцінним посібником, де розібрано принципи внутрішньої роботи .NET Framework. У книзі автор дає глибоке занурення в архітектуру фреймворку, середовище виконання, асинхронне програмування тощо. Також Ріхтер у легкій та зрозумілій формі розбирає такі складні концепції, як генерики та потоки, і надає розширені зразки коду. Все це дозволяє глибше зрозуміти базові концепції самої платформи .NET.

Про головні принципи програмування…

Стек .NET, як і будь-який інший, є лише інструментом. Його використання багато в чому базується на розумінні проблематики розробки ПЗ як такого. Тому досвідченим розробникам варто читати книги не тільки про свою мову, але й про фундаментальні проблеми. Ці видання часто не дадуть вам прямі відповіді, але надихнуть на ідеї.

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

Patterns of Enterprise Application Architecture

Автор: Martin Fowler

У портфоліо Мартіна Фаулера — чимало книг про програмування. Він охопив багато тем: від UML та NoSQL до рефакторингу коду й екстремального програмування. Але найцікавішою для самого автора темою є архітектура ПЗ. На думку Фаулера, якщо припуститися помилки на цьому рівні, важко зробити гарний і масштабований продукт.

Можливо, саме тому Patterns of Enterprise Application Architecture є чи не найбільш вдалою книгою Мартіна Фаулера. Це — справжня енциклопедія проблем і рішень у розробці ПЗ на основі багаторівневих об’єктноорієнтованих платформ. Видання анітрохи не застаріло, до нього можна повертатися навіть через роки! Автор описав понад 40 перевірених часом шаблонів для створення корпоративних застосунків, зокрема їх використання, бізнес-логіку та впровадження. А для якіснішого розуміння до кожного патерну додано приклади коду на Java і C# та діаграми UML.

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

Clean Code: A Handbook of Agile Software Craftsmanship

Автор: Robert C. Martin

Дядечко Боб — таке прізвисько у світовій IT-спільноті має Роберт Мартін. І сам факт наявності всім відомого нікнейму багато що говорить про масштаб особистості! Ця людина займається програмуванням понад 50 років, є одним зі співавторів Agile-маніфесту та засновником моделі SOLID, без якої важко уявити сучасну розробку.

Мартін написав багато книг про програмування, але ключова — ця. Адже, мабуть, у кожній проєктній команді рано чи пізно початківця попросять слідувати порадам щодо гарного коду саме з Clean Code. У цьому виданні автор доводить, чому важливо писати чисто. Дядечко Боб торкається буквально всього: від створення функцій і класів до евристик на виявлення та очищення брудної кодової бази. До того ж теорія доповнена зрозумілими прикладами та нескладними вправами, що робить книгу гарним варіантом для новачків, які бажають писати справді читабельний код.

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

Domain-Driven Design: Tackling Complexity in the Heart of Software (1st Edition)

Автор: Eric Evans

Ерік Еванс розпочав свій шлях у програмуванні у 1980-х роках. Він працював над Java-проєктами у різних сферах: від доставки й фінансів до страхування та автоматизації виробництва. Але головне його досягнення — формування концепції DDD, скорочення від Domain-Driven Design. Цьому підходу він присвятив чимало тренінгів та публікацій.

Ключова праця з цієї теми — перед вами. Загалом про DDD є й у Patterns of Enterprise Application Architecture, але Фаулер розкрив ідею лише на базовому рівні. А ось Еванс дуже методично розповідає, як орієнтація на домен допоможе у проєктуванні програм. Це працює буквально в усьому: від структурування застосунку та написання передбачуваного коду до керування життєвим циклом об’єктів і рефакторингу. Цікаво, що багато хто називає видання «синьою книгою» — за кольором обкладинки. Адже вона не потребує додаткових уточнень і є вже обов’язковою для розвитку розробників.

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

Clean Architecture: A Craftsman’s Guide to Software Structure and Design

Автор: Robert C. Martin

Так, це знову дядечко Боб! Але якщо у тій книзі він писав про чистоту коду, то тут мова про більш загальні проблеми в розробці. Але це теж важливо для розвитку експертів. Адже без розуміння загальної картини складно розв’язувати локальні проблеми. Не кажучи, що ці знання життєво необхідно для виходу на рівень техлідів та архітекторів.

Роберт Мартін зі своєю фірмовою систематичністю розбирає, як будувати архітектуру застосунків. Він описує основні принципи проєктування ПЗ для розділення компонентів й керування даними та розповідає про оптимальні високорівневі структури для тих чи інших задач (вебсервіси, бази даних, консолі тощо). Також автор на прикладах вчить відрізняти важливі й другорядні речі в архітектурі та перелічує типові помилки (плюс дає поради, як їх виправити). Ця інформація буде корисною не тільки для інженерів або архітекторів, але й системних аналітиків, дизайнерів та проєктних менеджерів.

Що ще важливо знати .NET-розробнику — читайте в продовженні статті за посиланням.