Як обрати книгу по C#? 10 рекомендацій для розробників різних рівнів



З якої книги почати вивчення C# та що почитати, щоби поглибити знання? Борис Салтан, Head of Delivery в SUITSME, та Юрій Нероба, Unity Lead в Holy Water, діляться найкращими книгами з програмування.


> Що таке C#

> Чи можна вивчити С# за книгами

> Як обрати книгу по C#, якщо починаєш із нуля?

> C# книги для початківців

> C# книги для мідл-розробників



Що таке C#


C# (вимовляється «Сі-шарп») — універсальна об’єктно-орієнтована мова програмування, розроблена компанією Microsoft на початку 2000-х, як частина платформи .NET Framework. Має безпечну систему типізації, використовується для розробки веб-, десктопних та мобільних програм, ігор тощо. C# — одна з найпопулярніших мов у світі. Її синтаксис близький до С++ і Java.


«С#, можливо, — не найпростіша мова для вивчення з нуля, але й не найскладніша. На ній наочно можна зрозуміти, як працюють механізми об’єктно-орієнтованого програмування (ООП). В ній не так багато «синтаксичного цукру», де треба напряму реалізувати чи викликати механізми того ж ООП», — пояснює Юрій Нероба, Unity Lead в Holy Water.



Чи можна вивчити С# за книгами


Книга — добре структурований матеріал, але варто сприймати її, як один з багатьох інструментів вивчення мови, стверджує Борис Салтан. «Просто прочитавши книгу, ви не навчитесь кодити. Без практики ця інформація не засвоюється. Найкращий метод вивчення — коли сідаєш за компʼютер і пишеш код, щось не виходить, і ти з цією проблемою починаєш шукати рішення в книзі. Код є первинним» — пояснює він.


Якщо ви щойно прийшли в програмування, варто комбінувати книги з відеоуроками та вивченням інших матеріалів в інтернеті. «Обмежуватися суто книжками — недоцільно як мінімум із точки зору навігації. Адже значно зручніше загуглити питання та швидко знайти відповідь. Але книги — це те, що треба для розширення знань і вивчення нових механізмів» — каже Юрій Нероба.



Як обрати книгу по C#, якщо починаєш із нуля?


Із 2001 року вийшло десять версій мови C#. Остання з них — 10.0 зʼявилася 2021 року для платформи .NET 6.0. Більшості з цих версій були присвячені окремі книги, що виходили протягом останніх 20 років. Тільки один з авторів — Ендрю Троєлсен, програміст в Thomson Reuters, — випустив близько 15 книг, присвячених різним версіям C# та платформи .NET. Тим, хто починає вивчати програмування з нуля, досить складно орієнтуватися в цих бібліографіях та обрати між версіями 4.0, 7.0 чи 9.0, наприклад.


«ІТ-індустрія стрімко розвивається, але проблема застарівання книг переоцінена. Якщо початківець прочитає книгу по C# навіть 2010–2012 років видання, він зрозуміє, як писати код. Остання версія мови різниться за фічами, які додалися за цей час, та проведеними оптимізаціями, але цю інформацію можна вивчити в документації коду. Якщо ти — початківець, не варто гнатися лише за найсвіжішими виданнями» — каже Борис Салтан.



C# книги для початківців


Мова програмування C# 7.0 та платформи .NET та .NET Core, Філіп Джепікс, Ендрю Троєлсен (англ.)


Це фундаментальна книга про C# і пов’язану з цією мовою програмування інфраструктуру. У ній можна дізнатися про основи ООП, атрибути та рефлексії, узагальнення та колекції, коди операцій CIL та безліч практичних прийомів.



Книга C# 4.0: повний посібник, Герберт Шилдт (англ.)


Цей посібник, хоч і описує версію 4.0, але містить повну інформацію про C#, мовні засоби та професійні рекомендації. У цій книзі багато конкретних прикладів, тому вона досить легка в засвоєнні й буде корисною розробникам усіх рівнів.



Head First патерни проєктування, Ерік Фрімен, Елізабет Робсон, Кеті Сьєрра, Берт Бейтс (англ.)


Книга пояснює, що таке патерни, як вони виглядають, працюють та як їх використовувати у власному коді. «Напевно, ваше завдання хтось вже вирішував» — ця фраза починає перший розділ та передає загальний сенс патернів проєктування.

Книга поділена на 14 розділів: спочатку автори пояснюють основний принцип патернів, далі докладно розбираються десять патернів, їхні складові та можливі комбінації. Останні розділи розповідають про застосування патернів у реальних завданнях та пропонують їхню класифікацію та різновиди. Містить багато ілюстрацій, які допомагають глибше зрозуміти суть матеріалу, та вправ, які не варто пропускати.



Чистий Код, Роберт Мартін


Оскільки розробники працюють у компанії та часто взаємодіють із кодом своїх колег, важливо навчитися писати структурований код, який легко читається. З цим має допомогти книга «Чистий код» Роберта Мартіна. Хоча в прикладах використовується Java, описані принципи легко застосовуються в інших мовах програмування.



C# книги для мідл-розробників


Далі розробник може поглиблювати знання в різних напрямах: вивчати патерни, шейдери, архітектуру тощо.



CLR via C#. Програмування на платформі Microsoft .NET Framework 4.5 на мові C#, Джеффрі Ріхтер (англ.)


Отримавши базові знання з мови програмування С#, варто прочитати цю книгу, яка детально описує принципи роботи середовища CLR. Вона дає більш поглиблене розуміння, як усе працює. Її також читають і початківці й більш досвідчені спеціалісти.



Книга Шейдерів, Патрісіо Гонсалес Віво (англ.)


Автор стверджує, що ця книга — для творчих програмістів, розробників ігор та інженерів, які мають досвід програмування, базові знання лінійної алгебри та тригонометрії і бажають вивести свою роботу на новий рівень якості графіки. Вона навчить їх використовувати та інтегрувати шейдери у свої проєкти, щоб поліпшити їхню продуктивність і графічну якість.


«Це крута та структурована книга про те, як влаштовані шейдери. Вона проведе читача від легкого вступу, з крутими прикладами (copy-paste-run), до того, як працює Ray Marching. Це моя особиста рекомендація» — ділиться Юрій Нероба.



C# in Depth: тонкощі програмування, Джон Скіт (англ.)


Ця книга — також для тих, хто має базові знання. Її автор — легендарний C# розробник Джон Скіт, неодноразово отримував премію Microsoft MVP за внесок у розвиток цієї технології, зараз працює в Google. Він детально розбирає нюанси та тонкощі C# та проводить читача всіма темними закутками мови та виводить на зовсім новий рівень розробки.



Патерни програмування ігор, Боб Ністрем (англ.)


Ще одна книга про патерни, що містить приклади та корисні кейси їхнього застосування в розробці ігор. Описує класичні шаблони проєктування, що найчастіше використовуються в іграх та загальні питання архітектури, розділивши їх на чотири групи — послідовності, поведінки, декомпозиції та оптимізації. Приклади в книзі наведені на C++, але без специфічних складних конструкцій, притаманних лише цій мові. Тому їх можуть прочитати та зрозуміти усі, хто знайомий з синтаксисом групи С.



Патерни обʼєктно-орієнтованого проєктування, Гамма, Хелм, Джонсон (англ.)


Автори діляться шаблонами двадцяти трьох патернів та принципами їхнього використання в архітектурі складних систем. В мережі ця книга викликає багато дискусій серед розробників: одні вважають її застарілою, інші — вдалим довідником з патернів, з яким має ознайомитись кожен мідл-розробник.



Domain-Driven Design: Tackling Complexity in the Heart of Software, Ерік Еванс (англ.)


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


Підписуйся на нашу розсилку

та отримуй корисні матеріали першим!

Надаючи вашу електронну адресу, ви погоджуєтесь з нашою Політикою приватності.

Дякуємо, що підписалися.

image-from-rawpixel-id-5996033-png.png