Обновить

Комментарии 18

C# давно склоняется к минимализму, например те же top-level statements, упрощающие входную точку программы,

Всё-таки больше синтаксический сахар. Под капотом разворачивается в ровно тот же IL-код. Короче, так себе минимализм — одна видимость.

А вот сабжевое нововведение более любопытно. Надо будет тоже потестировать на своём Debian-е. Возможно, и сгодится для отдельных мини-задач.

Вроде с 2009 года в PowerShell можно было вставлять куски на C#.

На новость как-то не тянет.

"В сегодня лет" узнал, что dotnet-script это не детище Microsoft.

Сначала не понял чего они такого нового сделали по сравнению с *.CSX , а оказывает вон оно как.

https://www.reddit.com/r/csharp/s/zAhlOPvPlw

Штука прикольная, но похоже бестолковая.

Использовать C# как замену bash идея так себе, менее декларативно и слишком низкоуровнево.

Да и весь .net тащить на машину для запуска одного скрипта -перебор.

Похоже go будет лучшей альтернативной, поскольку все можно в один бинарник скомпилировать

Похоже go будет лучшей альтернативной, поскольку все можно в один бинарник скомпилировать

Так и C# можно скомпилировать в один независимый бинарник

Вы не минусы к дайте, вы команду напишите: у нас проект на ХХмб (включая ef core и кучу всякой другой фигни). И как мне его в один exe запаковать?

Это не мой минус, я кинул плюсик для баланса :)

И как мне его в один exe запаковать?

Так ведь в документации все есть. Проставляете нужные свойства и dotnet publish.

Зато целый неудобный питон тащат

Вот-вот, согласен. Он ещё и медленный, вдобавок.

На баше удобно только внешние команды через пайпы склеивать. Если логика сложнее пары условий уже проще на другой язык перейти. И если у вас dotnet основная платформа, то C# для скриптов вполне нормальный выбор.

А собрать приложение в один exe-файл когда-нибудь снова можно будет нативными средствами? Потому как уже очень давно (вроде с 3.5) этого делать нельзя. Хочешь маленькую утилиту накидать - тащи папку с пятью файлами

Ещё с .net 6 можно, publishsinglefile https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli

Хорошая шутка. Смешная.

Особенно учитывая тему статьи.

"Как из однострочника получить экзешник на 150Мб"

Тогда уж лучше не выпендриваться а писать такое под нет4.5

А вообще для скриптов до сих пор жив и здравствует Windows Script Host aka vb/jscript

Ну ответ не на тему статьи, а на комментарий. Согласен что делать целое приложение ради скрипта так себе идея, но в составе приложения иметь скрипты для вспомогательных задач отличное решение, чтобы не надо было разработчику знать vb/jscript/python/bash/powershell/etc... А по размеру видел много статей подобных этой https://habr.com/en/articles/888538/, после 2-3 итерации уже идут хаки, но если нужно уменьшить размер нужной как бинарь утилиты достаточно пару строк.

150 мб там будет, только если в эту же сборку сам .NET включить (autonomous deploy), а без него будет весить лишь немногим больше, чем весит сам код с учётом всех using.

150 мб там будет, только если в эту же сборку сам .NET включить (autonomous deploy)

К слову, стандартный пример minimal api (который про погоду) весит 20 Мб, если включить PublishTrimmed.

Комментаторы выше немного ошиблись. Появилось с версии NET 3.0. Правда в той версии была своя специфика (там файлы потом в фоне распаковывались во временную скрытую папку). С .Net 5 уже по нормальному сделали.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации