Пост любви и обожания языка программирования C#.
Ранишные времена (можно пропустить)
Последний раз я на нём кодил где-то в 2008 году. Это была версия 2.0. Там даже LINQ ещё не появился, и вообще вся разработка была исключительно про Windows Forms, а под крос-платформенностью всего .NET Framework понималась чудесная способность запускаться на разных версиях Windows (лол, в этом смысле какой-нибудь C++ MFC тоже был вполне себе крос-платформенным).
Однако язык на фоне всяких ужасов типа MFC и прочего Visual Basic'а был всё равно крутым. Нельзя было обкосячить работу с указателями, дебаговые сообщения были читабельными. Кроме того, доставляла IDE: Visual Studio 2005 выгодно отличалась от своих собратьев. К примеру, чтобы кодить на MFC и ATL, нужно было сидеть в Visual C++, в котором работать было в разы медленнее (например, дизайнить формы в нем было адским адом).
2k21
И вот когда я недавно кодил одно приложение на React, я узнал, что оказывается в .NET есть прямо готовый шаблон приложения С# + React (и даже '+ Redux').
Я в этом во всём покопался, и вот что мне сильно нравится:
- Очень годный Dependency Injection (этого как-то не хватало в Django).
- Из коробки работающая документация на Swagger.
- Годный
async/await
из коробки + сразу нормальные асинхронные драйвера под Postgres и SQLite. - Паттерны Repository/Service.
- Вообще в принципе C# хорошо укладывается во всякие паттерны.
Также есть приятные мелочи, которые тоже экономят время, но которые я толком ещё не потестировал:
- Пакеты для аутентификации с помощью OAuth2 - да, это можно делать на любом языке, но сколько вы обычно на это тратите?
- Неплохие
docker
-файлы в шаблонах проектов. - Можно вызывать F# :)
Полезные материалы для изучения C#
Теперь некоторые материалы, которые мне пригодились (видимо, буду дополнять этот список).
Entity Framework Best Practices
Хороший видос про Entity Framework — который почему-то не показывается внутри блога.
Курс по микросервисам
Наткнулся на 11-часовой курс по микросервисам, решил утащить сюда: