Здравствуйте, netch80, Вы писали:
_>>Нуу накидай на C# например скриптик подключающийся параллельно к нескольким удалённым машинам (по ssh), копирующий в них некий проект и собирающий его там. Естественно с выводом всех сообщений об ошибках в локальную консоль. Сравним объём и читаемость твоего решения и решения на Питоне. )
N>Это весьма неудачный пример. Потому что если у тебя вообще есть библиотека ssh протокола для C#, вроде питоновской paramiko, то перевод логики работы с библиотекой с Питона на C# будет сделан почти автоматически, и из проблем останется только предкомпиляция. Если ты запускаешь ssh в субтерминалах, точно так же будут проблемы в аналоге openpty() (грубо говоря, требуется POSIX, а не Python).
Не, на Питоне (с использованием правильных инструментов) данный пример будет выглядеть приблизительно так:
@task
def build():
with lcd("project"):
sudo('mount -t tmpfs -o size=500M tmpfs /mnt/ramdisk')
run('mkdir "/mnt/ramdisk/project"')
with cd('/mnt/ramdisk/project'):
put('Src', './')
run('make install')
sudo('umount /mnt/ramdisk')
Это весь пример целиком. И даже если предположить, что кто-то напишет похожую библиотечку для C#, то всё равно пример будет намного более громоздким за счёт синтаксического мусора в C#. )