-
-
-
-
URL copied!
Олексій Глембицький, Senior Software Engineer, GlobalLogic
Мене звати Глембицький Олексій, я .NET розробник в компанії GlobalLogic, а також проводжу вебінари та викладаю курси по мові програмування С#. І в цій статті я би хотів поділитись порадами, які допомагають моїм студентам опанувати мову програмування С# та стати .NET-розробниками.
Про мову програмування C# та платформу .NET
- C# є об’єктно-орієнтованою мовою програмування, синтаксис якої схожий з C++ та Java, але значно легший за рахунок великої кількості «синтаксичного цукру» (такого як оператор yield, лямбда-виразів, ключових слів async/await), також С# підтримує широкий спектр бібліотек та фреймворків для розробки різноманітних програм.
- .NET – це фреймворк для розробки програмного забезпечення, який включає в себе середовище виконання, бібліотеки класів та інструменти для розробки та відлагодження. Сама ж платформа .NET містить багато компонентів, основний з них це CLR (Сommon Language Runtime), який виконує код, написаний мовою програмування C# та інших мовах .NET, а також .NET Framework Class Library (FCL), яка містить широкий набір класів для різних завдань програмування.
Поради з навчання
Перш за все, я би хотів виділити основні варіанти, за допомогою яких можна опанувати .NET та мову програмування С#.
Література
Перший варіант — це вивчення за допомогою літератури. Якщо ви тільки починаєте розбиратись в програмуванні і у вас не так багато досвіду, то я би порадив почати вивчення з таких книжок на вибір:
- Г. Шилдт, C# 4.0 The Complete Reference (C# 4.0 Повне керівництво), на жаль, в цій книзі не остання версія С#, але тут описані фундаментальні речі, які не змінюються від версії до версії.
- Е. Троелсен, Pro C# 7: With .NET and .NET Core (Мова програмування C# 7 і платформи.NET і.NET Core) в цій книжці описані як фундаментальні речі, так і нові фічі, які додали до С#.
- Д. Шарп, Microsoft Visual C# Step by Step (Microsoft Visual C#. Докладне керівництво. 8-е видання) ця книга містить в собі багато прикладів коду, практичні поради і надає зрозумілі пояснення основ С# та програмування в цілому.
Всі вищеописані книги однакового рівня складності та підходять для початківців, бо містять велику кількість прикладів, зрозумілу викладку мови С# та основ програмування в цілому. Яку із них обрати – це вже більше справа смаку, тут би я порадив почитати по одному розділу із кожної з цих книг, та обрати ту, яка припаде до душі, але в цілому найкраще комбінувати всю цю літературу, бо однією книгою достатню важко обійтись.
Якщо ви вже маєте досвід в будь-якій мові програмування, то можна починати вивчення з більш складної літератури. Я би порадив їх читати десь через рік, або мінімум хоча б пів року досвіду в комерційній розробці, чи принаймні після написання домашніх проєктів. Ця література розкриває механізми, як .NET та C# влаштовані під капотом. Тепер детально про кожну з цих книжок:
- Д. Албахари, C# 9.0 in a Nutshel. The Definitive Reference (C# 9.0. Довідник. Повний опис мови) ця книга включає більш детальний опис С# та описує останні версії мови та найновітніші зміни в технологіях розробки.
- Ріхтер Дж, CLR via C# (CLR via C# програмування на платформі Microsoft) або як її іноді називають, біблія С# розробника. В цій книзі детально розглядається архітектура та функціонування середовища виконання .NET Framework, відомого як CLR (Common Language Runtime), з використанням мови програмування C#, і вона включає детальний опис CLR. Також тут описуються засоби для розробки програмного забезпечення під платформу .NET, оптимізація продуктивності, взаємодія з пам’яттю, безпека та інші теми, пов’язані з розробкою програм на мові C# та їх виконанням в середовищі CLR. Єдина порада, якщо у вас не багато досвіду, то почніть вивчення з 2-го розділу, оскільки в першому розділі описуються збірки і тема є необхідною, але не самою простою, і її можна відкласти до кінця прочитання.
Курси
Другий варіант вивчення — це курси. Тут можна обрати або відеокурси, або курси в режимі онлайн.
Найбільша перевага онлайн-курсів — це можливість ставити питання викладачу, отримати рекомендації та мати наставника в особі лектора. При виборі курсів я би порадив спочатку пройти перше заняття (зазвичай воно безкоштовне). Після нього ви матимете уявлення про формат, програму, а головне — про лектора, бо більшість курсів, які зараз проводяться, є авторськими. Це означає, що викладач сам готує матеріал та приклади, тому тут дуже важливо обрати експерта, який зможе донести інформацію у зручному для вас форматі. І звісно, важливо, щоб викладач підходив вам ментально.
Якщо ж ви вирішили придбати відеокурс, це теж гарний варіант, але тут потрібно налаштуватись на самодисципліну та регулярний перегляд відеоуроків, бо при онлайн-курсах вас будуть дисциплінувати принаймні днями проведенням занять, а тут вся надія виключно на вас. При виборі будь-якого варіанту курсів, як на мене, головне це практика, бо якщо ви просто послухаєте лектора чи подивитесь відеоурок і при цьому вам здаватиметься, що все зрозуміло, через певний час ви все одно забудете пройдений матеріал. Тому порада тут така: більше практики, старайтесь паралельно писати код, який вам показують, модифікувати його та дивитись на результат. Та одне з найголовнішого — завжди робіть домашню роботу, бо чим більше практики, тим краще буде результат.
YouTube-ресурси
Третім пунктом я би виокремив YouTube-ресурси, але тут не все так просто. Основна проблема цього підходу — дуже мало структурованого матеріалу, і початківцю без досвіду достатньо важко самостійно скласти собі програму навчання та рухатись за нею. В цілому ж, на YouTube можна знайти велику кількість якісного контенту, але, як на мене, його варто використовувати комбіновано з якимось іншим вище описаним підходом для кращого розуміння деяких тем та для поглиблення знань. Наприклад, якщо ви не до кінця зрозуміли якусь тему з підручника або ж матеріалів відео уроку, то можна знайти кілька відео на YouTube та заглибитись в проблематику.
Офіційна документація
І останній пункт, це звісно ж офіційна документація, вона містить в собі всі необхідні матеріали для вивчення. Основні пункти які тут можна включити, це документація по С# та .NET, що містить в собі опис основних концепцій та інформацію по .NET-фреймворку та дані про бібліотеки, які можна використовувати при розробці. Також одним з пунктів є туторіали на GitHub, які можуть бути корисними для набуття практичних навичок. Але, як на мене, цей підхід є більш допоміжний і його можна використовувати для поглиблення навичок, а не як основне джерело знань, через дуже технічну викладку матеріалів.
Власні проєкти
І наостанок я би радив після проходження курсу чи завершення книги написати свій домашній проєкт, завдяки йому ви зможете набути практичний досвід, а також розібратися з тонкощами тої чи іншої технології. І звісно ж, цей проєкт можна додати до вашого портфоліо.
Висновки
Підсумовуючи все вище написане, я би радив в цілому при вивченні використовувати комбіновані підходи, наприклад за основу взяти той чи інший курс, або онлайн, або в записі та паралельно до кожного уроку читати певний розділ книжки. Таким чином, ви будете закріплювати та поглиблювати знання, отримані на лекції, а коли виникнуть питання, ви зможете звернутись до офіційної документації чи до YouTube каналів за більш детальною інформацією.
Top Insights
Python: чому вивчати та з чого почати?
InsightsSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyТонкощі CV або Як скласти та куди надіслати,...
HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyCI/CD для JS розробників. Частина перша – теорія
DevelopmentSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologySoft and Hard Skills: Що важливіше? Розповідь одного...
HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyТОП автори
Категорії блогів
Давайте співпрацювати
Схожі теми
Від студента до Trainee-спеціаліста: історія випускника С++ GL BaseCamp
Почати шлях в ІТ під час навчання в університеті — ще той виклик, який вимагає наполегливості і постійної практики. Сергій Піскурський, студент та Trainee Specialist GlobalLogic, приєднався до компанії після проходження С++ GL BaseCamp. Хлопець поділився досвідом навчання перед курсом та підготовки до С++ GL BaseCamp. Чому ти вирішив вивчати С? Коли я почав думати … Continue reading Як стати .NET розробником. Перші кроки та поради →
Більше
AUTOSAR Academy: як GlobalLogic готує інженерів для передової галузі
Продовжуємо прокачувати формат інтерв’ю у наших Блогах! На минулих тижнях ми поспілкувались про донорство крові, як команда GlobalLogic допомогає створювати рішення, що рятують життя мільйонам людей і як стати частиною команди зі створення такого особливого проєкту. Сьогодні мова піде про не менш особливу галузь – автомобілебудування. Це сфера розробки, що має традиції та доволі високий … Continue reading Як стати .NET розробником. Перші кроки та поради →
Більше
Донорство крові та передові технології. Досвід GlobalLogic. Частина ІІ
Продовжуємо нашу розповідь про сучасні технології у медицині, донорстві та проєкти GlobalLogic, що вже рятують життя мільйонів людей! Перша частина бесіди про проєкт – прямо за посиланням. Сьогодні ми розкажемо про проєкт, який базується у Львові. Які він має фішки та стандарти, яка команда над ним задіяна та в чому її задачі наразі та як … Continue reading Як стати .NET розробником. Перші кроки та поради →
Більше
Share this page:
-
-
-
-
URL copied!