C# теперь как Python: Microsoft упростила запуск скриптов

C# теперь как Python: Microsoft упростила запуск скриптов

C# теперь можно запускать без проектов. Наконец-то.

image

Microsoft представила новый способ запуска C# напрямую из командной строки без создания проектов — подход ориентирован как на обучение, так и на скрипты. Нововведение будет реализовано через механизм ignored directives (игнорируемых директив), который появится в грядущем релизе .NET 10.

На конференции Build в Сиэтле главный архитектор платформы .NET Дэмиан Эдвардс продемонстрировал , как можно запустить C#-файл простой командой:

dotnet run hello.cs

Или на Linux, используя:

./hello.cs

Ключ к этой функциональности — новые директивы препроцессора, которые будут проигнорированы компилятором C#, но смогут выполнять вспомогательные задачи. Предложение о внедрении директив было впервые опубликовано ещё в 2020 году. Например, строка в начале файла:

#!/usr/bin/dotnet run

указывает Linux, каким интерпретатором выполнять скрипт. Также появится директива вида:

#: package [package name]

которая будет использоваться для подключения внешних пакетов в код.

Эдвардс охарактеризовал нововведение как «новый способ запуска C#», удобный для новичков, поскольку «избавляет от всего, что не является самим C#». Он отметил, что аналогичный подход давно реализован в Python, Go и Rust, а .NET теперь «догоняет» конкурентов с выходом 10-й версии.

Во время демонстрации была показана работающая веб-приложение и скрипт «Hello World». При этом текущая производительность, по словам Эдвардса, оставляет желать лучшего в превью-сборке .NET 10 Preview 4, но ожидается, что она улучшится в следующих версиях.

Несмотря на позиционирование функции как новой, у C# уже есть режим скриптов более десяти лет, а файлы .csx можно запускать через dotnet script. Также существует сторонний проект CS-Script .

Тем не менее, в сообществе новшество вызвало интерес. Один из разработчиков прокомментировал , что подобная возможность давно обсуждается в Reddit-сообществе C#. Новички, пришедшие из Python, часто удивляются, почему нельзя просто выполнить .cs-файл напрямую.

C# остаётся популярным в экосистеме Microsoft, но компании предстоит ещё многое сделать, чтобы убедить внешних разработчиков в актуальности .NET. Расширение доступности платформы, особенно на Linux и macOS, может сыграть важную роль в этом процессе.

Красная или синяя таблетка?

В Матрице безопасности выбор очевиден.