Здравствуйте, pira, Вы писали:
P>Здравствуйте, Sharov, Вы писали:
S>>Здравствуйте, pira, Вы писали:
P>>>Вот есть питоновский скрипт, скрипт на руби, на баше... Интересно, что делает скрипт — скриптом? Язык? Или то, что он компилируется? Или то, что он одноразовый и небольшой? P>>>Например, на хаскелле тоже можно писать как-бы скрипты -- один файл, с директивой !#/bin/env stack -- чем не скрипт.
S>>Простота линковки -- иначе, как уже сказано выше, не надо перекомпилировать.
P>ну вот возьмем хаскел: P>
P>#!/usr/bin/env stack
P>--stack runghc --resolver nightly-2016-12-04
P>-- тут прога идет
P>main = putStrLn "hellllo"
P>
P>это скрипт на хаскелле. а ты точно знаешь, что stack не компилирирует этот код за кулисами в нативную прожку, а потом при запуске в терминале, выдает результат? P>также, я могу сюда еще подключить разные внешние библиотеки. тут -- простота линковки?
ога, руками перекампилировать ничего не надо. Изменили и запустил. Остальное интерпретатор на лету подхватит.
Здравствуйте, pira, Вы писали:
P>Вот есть питоновский скрипт, скрипт на руби, на баше... Интересно, что делает скрипт — скриптом? Язык? Или то, что он компилируется? Или то, что он одноразовый и небольшой? P>Например, на хаскелле тоже можно писать как-бы скрипты -- один файл, с директивой !#/bin/env stack -- чем не скрипт.
Вообще на этот вопрос ответил более 20 лет назад товарищ Джон О́устерхаут в своей работе "Scripting: Higher-Level Programming for the 21st Century". Гугл в помощь.
Здравствуйте, TimurSPB, Вы писали:
TSP>+Скрипт ещё не имеет собственного состояния. Чисто вход-выход. Программа же часто имеет состояния, сохраняемые между запусками
Скрипт тоже может сохранять состояния, если этого автор захочет.
Здравствуйте, GarryIV, Вы писали:
P>>ну так я могу скомпилировать прожку на С таким образом, что будет иллюзия, что она так и исполняется. в одном случае это будет python my_app.py, в другом compile_my_c_app.sh my_app.c P>>разница-то? GIV>Ну будет скрипт на C, в чем проблемы? Другое дело, что так никто не делает потому что неудобно.
Вообще то делают, если требуется быстродействие. ) Например здесь: https://root.cern.ch
Здравствуйте, Michael7, Вы писали:
TSP>>+Скрипт ещё не имеет собственного состояния. Чисто вход-выход. Программа же часто имеет состояния, сохраняемые между запусками M>Скрипт тоже может сохранять состояния, если этого автор захочет.
Естественно, на каждый аргумент можно придумать своё исключение, но тут не тот случай, когда "один экземпляр не соответствует критериям значит вся партия брак". Границы размыты, камрад. Более того, со временем скрипт может перерасти в "программу" (нопример, в сервис) и наоборот (студент написал "программу", пришол админ, увидел закономерности, дал подзатыльник и заменил скриптом)
Здравствуйте, GarryIV, Вы писали:
GIV>Ну будет скрипт на C, в чем проблемы? Другое дело, что так никто не делает потому что неудобно.
Почему же неудобно? Сишному программеру, не знающему эти вашы (Ц) башы и перлы будет удобно. Правда для начала надо будет нарисовать компилирующий и запускающий скрипт, который можно будет использовать в шебанге, и это довольно тривиальная задача (скопировали в tmp, откусили строку с шебангом, скомпилировали, запустили, подождали, удалили).
Здравствуйте, Sheridan, Вы писали:
GIV>>Ну будет скрипт на C, в чем проблемы? Другое дело, что так никто не делает потому что неудобно. S>Почему же неудобно? Сишному программеру, не знающему эти вашы (Ц) башы и перлы будет удобно. Правда для начала надо будет нарисовать компилирующий и запускающий скрипт, который можно будет использовать в шебанге, и это довольно тривиальная задача (скопировали в tmp, откусили строку с шебангом, скомпилировали, запустили, подождали, удалили).
Здравствуйте, alex_public, Вы писали:
_>Или же не извращаться и просто поставить это https://root.cern.ch/cling. )))
Можно, но это оверкилл. В треде про "скомпилять и запустить" а не про с++ командную строку.
Здравствуйте, IID, Вы писали:
S>>Сишному программеру, не знающему эти вашы (Ц) башы и перлы будет удобно. IID>Скажу без утаечки. И баши и перлы — оба два чудовищное говно.
Согласен с тем, что всё то что я не знаю — говно это годная позиция.
TSP>>+Скрипт ещё не имеет собственного состояния. Чисто вход-выход. Программа же часто имеет состояния, сохраняемые между запусками M>Скрипт тоже может сохранять состояния, если этого автор захочет.
Может конечно. Но не стоит так делать(на мой взгляд).
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, Sheridan, Вы писали:
S>>Сишному программеру, не знающему эти вашы (Ц) башы и перлы будет удобно.
IID>Скажу без утаечки. И баши и перлы — оба два чудовищное говно.
На счёт перла мнения могут расходиться, а вот баш — не говно! Баш — это говнище.
Здравствуйте, Somescout, Вы писали:
S>На счёт перла мнения могут расходиться, а вот баш — не говно! Баш — это говнище.
Слайды будут? Или по радио услышал?
Здравствуйте, Sheridan, Вы писали:
S>>На счёт перла мнения могут расходиться, а вот баш — не говно! Баш — это говнище. S>Слайды будут? Или по радио услышал?
Да приходилось иметь с ним дело. Даже фанаты баша когда речь заходит о более-менее сложных скриптах начинают кивать на питон.
Не, если по привычке сравнивать его с .bat-никами, то да баш рулит. А вот если с чем-то более современным — powershell или python, то баш дико устаревший отстой на уровне тех же самых .bat-ников, в пределах погрешности измерения.
PS. Это не значит, что на нём нельзя что-то сделать. Можно, но геморройно донельзя.
Здравствуйте, Somescout, Вы писали:
S>>>На счёт перла мнения могут расходиться, а вот баш — не говно! Баш — это говнище. S>>Слайды будут? Или по радио услышал? S>Да приходилось иметь с ним дело. Даже фанаты баша когда речь заходит о более-менее сложных скриптах начинают кивать на питон.
А когда питона недостаточно — уходят в плюсы нопример. Так везде. Когда язык/среда перестаёт подходить под задачу — оно заменяется чем то помощнее.
S>Не, если по привычке сравнивать его с .bat-никами, то да баш рулит. А вот если с чем-то более современным — powershell или python, то баш дико устаревший отстой на уровне тех же самых .bat-ников, в пределах погрешности измерения.
Баш именно с батниками/повершеллом сравнивать и надо, это одного поля ягоды. А вот питоноперлы это уже других полей ягода.
S>PS. Это не значит, что на нём нельзя что-то сделать. Можно, но геморройно донельзя.
Вопрос опыта
Здравствуйте, Sheridan, Вы писали:
S>>Да приходилось иметь с ним дело. Даже фанаты баша когда речь заходит о более-менее сложных скриптах начинают кивать на питон. S>А когда питона недостаточно — уходят в плюсы нопример. Так везде. Когда язык/среда перестаёт подходить под задачу — оно заменяется чем то помощнее.
Только вот в случае с башем этот момент наступает подозрительно быстро.
S>Баш именно с батниками/повершеллом сравнивать и надо, это одного поля ягоды. А вот питоноперлы это уже других полей ягода.
В сравнении с powershell'ом bash — отстой. И, кстати, у powershell'а с питоном (и тем более перлом) больше общего, чем с башем.
S>>PS. Это не значит, что на нём нельзя что-то сделать. Можно, но геморройно донельзя. S>Вопрос опыта
Возможно. В том плане, что если кроме баша ничего не знаешь.
Здравствуйте, Somescout, Вы писали:
S>>А когда питона недостаточно — уходят в плюсы нопример. Так везде. Когда язык/среда перестаёт подходить под задачу — оно заменяется чем то помощнее. S>Только вот в случае с башем этот момент наступает подозрительно быстро.
Еще раз: всё зависит от задачи. Если этот момент наступил быстро, то очевидно изначально был выбран неправильный инструмент.
S>>Баш именно с батниками/повершеллом сравнивать и надо, это одного поля ягоды. А вот питоноперлы это уже других полей ягода. S>В сравнении с powershell'ом bash — отстой. И, кстати, у powershell'а с питоном (и тем более перлом) больше общего, чем с башем.
Повершелл просто устраняет пропасть между скриптом и ОС, которой в линупсе нет изначально. Ну и сахара добавили.
S>>>PS. Это не значит, что на нём нельзя что-то сделать. Можно, но геморройно донельзя. S>>Вопрос опыта S>Возможно. В том плане, что если кроме баша ничего не знаешь.
Я вот даже не представляю себе ситуацию, когда ктото знает только бащ кроме как если это начинающий студент.
Здравствуйте, Sheridan, Вы писали:
S>>Только вот в случае с башем этот момент наступает подозрительно быстро. S>Еще раз: всё зависит от задачи. Если этот момент наступил быстро, то очевидно изначально был выбран неправильный инструмент.
т.е. баш
S>Повершелл просто устраняет пропасть между скриптом и ОС, которой в линупсе нет изначально.
Раскройте мысль.
S>Ну и сахара добавили.
В этом плане баш для диабетиков.
S>>>Вопрос опыта S>>Возможно. В том плане, что если кроме баша ничего не знаешь. S>Я вот даже не представляю себе ситуацию, когда ктото знает только бащ кроме как если это начинающий студент.
Я ехидничал. Имелось в виду, что пытаться делать что-то тяжёлое на баше будет только тот, кто кроме баша ничего не видел.
Здравствуйте, Somescout, Вы писали:
S>>>Только вот в случае с башем этот момент наступает подозрительно быстро. S>>Еще раз: всё зависит от задачи. Если этот момент наступил быстро, то очевидно изначально был выбран неправильный инструмент. S>т.е. баш
Всё верно. Замечу только что неправильно выбранный инструмент это камень не в огород инструмента, а в огород выбирающего.
S>>Повершелл просто устраняет пропасть между скриптом и ОС, которой в линупсе нет изначально. S>Раскройте мысль.
Доступ к процессам, оборудованию, настройкам, статистике, управление этим делом нопример
S>>Ну и сахара добавили. S>В этом плане баш для диабетиков.
Да нет, в ём просто это всё есть изначально
S>Я ехидничал. Имелось в виду, что пытаться делать что-то тяжёлое на баше будет только тот, кто кроме баша ничего не видел.
При должном опыте и усердии возможно всё. Например:
:;while [ $? -eq 0 ];do
nc -vlp 8080 -c'(
r=read;
e=echo;
$r a b c;
z=$r;
while [ ${#z} -gt 2 ]; do
$r z;
done;
f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;
h="HTTP/1.0";
o="$h 200 OK\r\n";
c="Content";
if [ -z "$f" ];then (
$e $o;
(for n in *;do
if [ -f "$n" ]; then
$e "<a href=\"/$n\">`ls -gh \"$n\"`</a><br>";
fi;
done);
);
elif [ -f "$f" ];then
$e "$o$c-Type: `file -ib \"$f\"`\n$c-Length: `stat -c%s \"$f\"`";
$e;
$e $f>&2;
cat "$f";
else
$e -e "$h 404 Not Found\n\n404\n";
fi)';
done