Комментарии 16
Python
powershell.kts
А есть библиотеки по работе с сервисами, процессами и прочим на других машинах в сети?
val connection = factory.newConnection("amqp://guest:guest@localhost:5672/")
а вот это по вашему, не другая машина? В смысле, тут конечно та же самая, но это ведь и есть то что вы просите, по сети. Если другие машины это поддерживают — то уж на платформе JVM с библиотеками редко когда бывают проблемы.
Можно например использовать https://github.com/jkelly467/kossh для ssh-подключения на другую машину и там уже выполнять команды и разбирать ответ, можно даже сделать обертки для извлечения необходимой информации из текстового ответа. Непосредственно подключаться к POSIX на удаленном системе без ssh не позволяет безопасность, но если кто-то знает способ выполнения POSIX-запросов на другую linux-машину, то напишите пожалуйста.
А какие проблемы поддерживать код на котлине? Нынче разработчиков на нем полно (потому что андроид).
Я вам так скажу — я лично тоже для таких же примерно целей уже много лет выбираю груви. Ну, просто так исторически сложилось — он появился несколько раньше (в 2003, я пользуюсь примерно с 2006). Я много раз переписывал баш на груви, и ни разу за много лет об этом не пожалел. И те кто потом этим пользовался и поддерживал — тоже не жаловались. Не вижу ровно никаких причин, почему на котлине будет не так. Это не значит что вариант универсален, но он вполне широко применим.
Ну да, возможно это не одни и те же люди. Я не хочу сказать, что найти таких наверняка будет так же легко, как тех, кто пишет на том же питоне. Но и не так сложно, как на хаскеле или эрланге, к примеру.
Ну вот возьмем опять же груви (просто, у меня опыта с котлином мало, а как по мне — это очень близкие инструменты) — тут даже особо и доказывать не надо, на нем основаны такие широко распространенные инструменты, как jenkins и gradle, и тем инструментам уже десятки лет. Так что это далеко не велосипеды, и вовсе не мои.
Но, пожалуйста, не надо всё это тащить в промышленный прод.
Мы вроде в ваш прод ничего и не тащим. А наш прод уже давно на этом основан, о чем я вам и толкую с самого начала.
Уже есть устоявшийся де-факто стандарт автоматизации bash или ps.
Ну вот просто представьте, что вам это кажется с вашей личной (и вероятно даже вполне верной для вас) точки зрения? И все будет более понятно. Я видел кучу компаний, где ни то ни другое не является "стандартом автоматизации". Более того, лично я в своих проектах искореняю попытки использования баша как средства разработки чего либо более 100 строк размером. У нас просто с вами разные проекты, мои не такие как вы делаете, а ваши не такие как мои.
У баша есть много плюсов. Но и минусов к сожалению тоже. Например, работа со строками. Код получается 1) нечитабельный, 2) незапоминаемый, 3) не универсальный, и 4) приправленный пачкой замаскированных граблей. Тарабарщина, в общем. Скажем, как разделить строку по подстроке-разделителю, взять последнюю часть, с учётом, что обе строки могут содержать любые символы в любом количестве? В любом "нормальном" языке это делается на раз. В баше на этот вопрос существует 100500 ответов, большинство их которых не работает.
Однострочники на kotlin получаются ещё более громоздкие чем на python;)
Поддерживаю вопрос dyadyaSerezha, актуально.
В чем отличие если просто компилировать тот же код в исполняемый файл, например Kotlin Native?
Для работы kotlinc должна быть установлена JVM ?
я бы еще добавил пример установки котлина через sdkman (sdk install kotlin 2.0.21
)
Kotlin вместо bash. Прокачиваем автоматизацию на сервере