Масштабные изменения в C# 14.x и дальнейшие планы развития .NET
Пока разработка .NET 9 идет полным ходом, Microsoft приоткрыла нам завесу дальнейших будущих масштабных изменений в экосистеме .NET. Компания поделилась своим видением развития новой версии платформы .NET и C# в частности, которые мы обсудим в данной статье.
Что нового?
Компания анонсировала серию крупных изменений в экосистеме .NET.
За 20 с лишним лет развития платформы, мы стали огромнейшей экосистемой. На .NET написано огромное количество приложений и сервисов, количество разработчиков неуклонно растет. Мы проделали большой путь от проприетарной платформы, до OpenSource и мультиплатформенности. Но, к сожалению, мы стали чаще получать фидбек от наших партнеров и разработчиков, что платформа стала слишком «тяжелой и сложной», поэтому мы приняли ряд решений по обновлению .NET
Lara Rider — директор по развитию коммерческих продуктов в Microsoft
Ключевые изменения
Компания хочет сделать новую версию платформы и языка более легкой и дружелюбной для новичков, и анонсировала новую версию предварительным названием Ĉ 1.0 (ранее планировалась как C# 14). От автора: Ĉ читается как «си с циркумфлексом»
C# — прекрасный язык с богатой историей. Сейчас язык сильно перегружен, огромное количество синтаксического сахара и устаревших конструкций, легаси апи в платформенных библиотеках. Одна и так же логика может быть написана разными способами и может отличаться от проекта к проекту, что сильно сбивает новичков, а старичков заставляет вспоминать различные вариации.
Ricardo Milagros — архитектор команды .NET
Также в личной переписке с командой разработки, удалось выяснить, что библиотеки на языке Ĉ и C# будут «скорее всего» совместимы между собой на уровне IL кода их можно будет использовать в «обе стороны».
Интеграция AI
Компания сообщила, что намерена внедрить AI на уровне языка и компилятора.
Новый Ĉ и новая версия Roslyn из коробки будут поддерживать некоторые возможности AI, например как автодополнение кода в зависимости от контекста и т.д. В дальнейшем мы планируем увеличивать присутствие AI в инфраструктуре .NET
Tony Rogers — разработчик компилятора Roslyn
Компания пока не показала на примерах работу нового AI, но обещала сделать это в ближайшее время. Предварительно известно, что инструменты AI будут доступны бесплатно и не будут собирать пользовательские данные. Также известно, что новый инструмент будет включен по умолчанию, а отключить его можно будет через конфигурацию проекта или глобально. AI будет доступен на всех платформах, где поддерживается .NET.
Видео и аудио комментарии к коду
Так же компания сделала шаги по улучшению документирования кода.
Мы давно хотели улучшить документирование кода, и новая версия языка это отличный шанс для нас предложить нашим разработчиком новый функционал. Мы хотим, чтобы наша документация была более наглядной и функциональной, чем просто текст, и не ограничивала разработчиков в творчестве и самовыражении. Представьте, что теперь можно будет описывать код не только текстом, но и с помощью аудио и видео! Это будет реализовано с помощью новой фичи Documentation plugins (плагины к документированию). Аудио и видео — это пример готовых плагинов от нас, но с помощью нового api можно будет разрабатывать свои решения. Экспериментируйте, не ограничивайте себя, дерзайте — от рисования блок-схем и встраивания веб браузера, до создания своих миниаппов!
Sasha Brown — ведущий дизайнер Microsoft
Из технических подробностей пока известно, что контент documentation plugins будет «вшит» в метаданные сборки и будет доступен автоматически при использовании сборки.
.NET Plus
Компания сообщила, что запустит подписку .NET Plus для поддержки контрибьюторов и экосистемы .NET. Подписка расширяет текущие возможности .NET и не является обязательной.
Issues и Pull request от пользователей на Github с подпиской будут иметь более высокий приоритет в рассмотрении
Встроенный анализатор-антивирус в Roslyn для собственных и сторонних сборок
Улучшения для людей с ограниченными возможностями (подробности пока не раскрываются)
Поддержка режима RTL написания кода
Отключение текстовой рекламы в output при сборке проекта компилятором (без подписки возможен показ при сборке в режиме Debug)
NFT — каждому подписчику будет доступна для минта SouldBound NFT в сети Ethereum. Коллекция будет посвящена новой вехе развития .NET и будет выпущена в ограниченном количестве. Известно, что владельцам NFT будут доступны некоторые привилегии, например, пожизненная скидка на подписку на продукты экосистемы .NET, полный список привилегий еще прорабатывается.
Заключение
Грядущая версия платформы и языка обещает быть очень интересной. Многие вопросы сейчас на стадии обсуждений и проработок, часть фичей носят экспериментальный характер. Ознакомиться со всем списком возможностей и оставить свой фидбек можно по ссылке. Have fun!