LINUX.ORG.RU
ФорумTalks

js, systemd: что из них хрен, а что — редька?

 ,


0

1

нет, ну правда. Наверняка же не раз обсуждали, что эти две тенденции прямо противоречат друг другу:

1. (systemd) Выкинуть к черту тормозной баш, написать все в виде быстрых бинарников, общающихся по системной шине и запускающихся только когда нужно (а если что не запускается, то ССЗБ: вот, например, у меня федора не стартовала, когда поменялся UUID у свопа)

2. (js) Ну блин, это же удобно (ну и пофиг, что кучу слоев разных либ нужно, пофиг на память — зато какие слова модные!)

Не пойму я логики в этом мире, я не хочу ни «быстрой» параллельной загрузки, ни зашибись какого концептуального подхода к конструированию интерфейсов.

★★★★★

ну js туда впёхнут, постольку поскольку xml

Bad_ptr ★★★★★
()
Ответ на: комментарий от olibjerd

системд и жс

gentoo: openrc и kde. Я про мейнстрим вообще-то говорил.

demidrol ★★★★★
() автор топика

Наверняка же не раз обсуждали, что эти две тенденции прямо противоречат друг другу

Просто есть два типа людей: те, которые ставят на первое место эффективность (производительность), и те, которым наиболее важна скорость разработки. Идеал, как всегда, где-то посередине.

Sadler ★★★
()

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

PolarFox ★★★★★
()
Ответ на: комментарий от Sadler

я правда не понимаю, зачем нужно выжимать миллисекунды из процесса инициализации, если все равно рабочее окружение будет не спеша стартовать?

demidrol ★★★★★
() автор топика
Ответ на: комментарий от demidrol

В браузере гумнокод писать, потому что теперь менять там что-то уже поздно. Больше он ни зачем и не нужен :}

Deleted
()
Ответ на: комментарий от Deleted

а не объясните мне (т.е. тому, кто в жизни ничем, кроме asm, c, VHDL/Verilog не пользовался) — в чем его профит?

demidrol ★★★★★
() автор топика
Ответ на: комментарий от demidrol

Куча хомячков его уже знает. В чём профит (если он есть) сказать не могу, у меня к нему пламенная НЕНАВИСТЬ. Впрочем, я не люблю прототипированные языки вообще в принципе.

Deleted
()

Предлагаю запилить systemd на js.

geekless ★★
()
Ответ на: комментарий от tailgunner
 $ time ( for((i=0;$i<100000;i++));do echo -n ; done)

real	0m5.717s
user	0m5.476s
sys	0m0.227s
 * (time (loop for i from 0 to 1000000 do (format t "")))

Evaluation took:
  0.008 seconds of real time
  0.006666 seconds of total run time (0.006666 user, 0.000000 system)
  87.50% CPU
  12,442,280 processor cycles
  0 bytes consed
  
NIL
vasily_pupkin ★★★★★
()
Последнее исправление: vasily_pupkin (всего исправлений: 1)

(js)

Подражание вебу, бессмысленное и беспощадное.

(systemd)
я не хочу ни «быстрой» параллельной загрузки

Upstart, openrc, initng, simpleinit и прочие подобные никто не ругал, хотя и у них параллельная загрузка.
Наверное, всё дело в том, что они не комбайны со встроенным веб-сервером, и их никто не пытался навязать.

quantum-troll ★★★★★
()
Ответ на: комментарий от tailgunner

В порядке ныться я тоже сделаю заявление что как ЯП для больших и сложных скриптов bash (и все остальные sh) подходят плохо в силу того что

1) большинство действий делается внешними коммандами, что создаёт феерические (по сравнению с другими яп) тормоза.

2) бедность встроенных средств. Меня каждый раз коробит от проверки переменных типа if [ x$VAR = «x» ]; then ... . Не дай бог пробел пропустить или x забыть.

3) слабая поддержка арифметики. поддержка только целых чисел.

4) нет никакой защиты от ошибок. Даже с синтаксическими ошибками скрипт запустится.

5) отдельная статья это парсинг выхлопов различных утилит. Особенно если они изначально не были расчитаны. Поэтому сидишь и думаешь как парсить вывод какого-нить brctl.

А попытка поддерживать не только bash но и другие sh делает и без того скрипты ещё хуже.

true_admin ★★★★★
()
Ответ на: комментарий от Deleted

Ехал function() через function(),
Видит function() — в function() function()
Сунул function() function() в function()
function() function() function() function()

Deleted
()
Ответ на: комментарий от true_admin

большинство действий делается внешними коммандами, что создаёт феерические (по сравнению с другими яп) тормоза.

Теперь нужно замерить величину этих тормозов на типичной задаче «запуск системной службы».

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Лучше не стоит предлагать это делать широким массам. Глядишь, в дебиане системде в тестинге по дефолту появится )))

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Лучше не стоит предлагать это делать широким массам. Глядишь, в дебиане системде в тестинге по дефолту появится )))

А мне не нужно, чтобы он там появлялся.

tailgunner ★★★★★
()
Ответ на: комментарий от demidrol

в чем его профит?

Быстрая разработка, безопасность, неплохая скорость. Главное — распространенность.

note173 ★★★★★
()
Ответ на: комментарий от note173

Главное — распространенность.

Где? Я вот по работе из скриптовых языков сталкивался только с петоном и Tcl.

demidrol ★★★★★
() автор топика

у меня федора не стартовала, когда поменялся UUID у свопа

Наверное памяти не хватило, у меня федора тоже начинает свопиться сразу после старта, 4гб оперативки уже мало, надо еще подбавить.

Siado ★★★★★
()
Ответ на: комментарий от demidrol

А я не знаю, что такое VHDL/Verilog. Наверное, какая-то локальная разработка мелкой компании.

note173 ★★★★★
()
Ответ на: комментарий от tailgunner

Теперь нужно замерить величину этих тормозов на типичной задаче «запуск системной службы».

А, имхо, на баше такие вещи вообще писать не нужно. Сколько не видел скриптов они все внутри написаны... не то чтобы совсем страшно, но велосипеды повсюду т.к. bash как яп ацтой.

true_admin ★★★★★
()

1. (systemd)

Вообще по моим наблюдениям upstart работает куда быстрее systemd. Если поставить дефолтную убунту 12.10 и дефолтную федору 17 - то запускаться будет быстрее убунта, проверялось на обыкновенном харде, SSD не использую, но, думаю, и там шубунта быстрее будет.

2. (js)

А вот вместо этого лучше python использовать ибо синтаксис читабельный и, как следствие, чужое быдлокодерство читать можно.

Siado ★★★★★
()
Последнее исправление: Siado (всего исправлений: 1)
Ответ на: комментарий от true_admin

Теперь нужно замерить величину этих тормозов на типичной задаче «запуск системной службы».

А, имхо, на баше такие вещи вообще писать не нужно.

Ну, жалоба была на тормознутость, а не убогость языка.

Сколько не видел скриптов они все внутри написаны...

Перепишем же их на Си, чтобы исходники глаза не мозолили %)

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

большинство действий делается внешними коммандами, что создаёт феерические (по сравнению с другими яп) тормоза.

Зато их можно легко изучать и модифицировать без компиляний и поиска исходников. А если скрипт используется для разовых операции (типа запуска определённого демона), то ничего страшного в небольшом проигрыше в производительности нет.

Меня каждый раз коробит от проверки переменных типа if [ x$VAR = «x» ]; then ... .

Только там, где нужна максимальная совместимость со другими интерпретаторами. Надеюсь, мне не нужно рассказывать тебе про [ -n $VAR ] и [[ $VAR ]]?

отдельная статья это парсинг выхлопов различных утилит. Особенно если они изначально не были расчитаны.

Это проблемы конкретных утилит, а не баша.

AX ★★★★★
()
Ответ на: комментарий от Sadler

Есть два типа людей, те, которые пишут программы и те, которые их используют и мнения у этих типов людей могут сильно отличаться. Истина, как обычно, где-то рядом.

Legioner ★★★★★
()
Ответ на: комментарий от tailgunner

Да ладно. При практически одинаковом коде, питоноскрипт с Tk - непереносим. Аналогичный на перле - работает везде. (тут ремарка о неосиливании питона и личной неприязни к питонофилам - остальные скриптовики не орут везде что $lang их лучше, чем другие)

minakov ★★★★★
()
Ответ на: комментарий от minakov

При практически одинаковом коде, питоноскрипт с Tk - непереносим

Во-первых, ты лжешь; во-вторых, переносимость скриптам запуска системы не нужна; в третьих, Tk в скриптах запуска системы не нужен.

остальные скриптовики не орут везде что $lang их лучше, чем другие

Ну да, остальные (в твоем лице) говорят, что проги на Перле не нужно переписывать между мажорными версиями, хотя в деле наблюдали только Perl5 (Perl4? Perl6? не, не юзали).

tailgunner ★★★★★
()
Ответ на: комментарий от AX

Это проблемы конкретных утилит, а не баша.

Т.к. баш ничего другого не предоставляет, то это его личные половые проблемы :}

Deleted
()
Последнее исправление: Mystra_x64 (всего исправлений: 1)
Ответ на: комментарий от minakov

Про perl ни одного слова...

Perl допускает написания нечитаемых перлов.

А ведь там нет глюков типа в v2 работает - в v3 пиши заново

Это не глюк и от этого плохо никому не становится.

Siado ★★★★★
()
Ответ на: комментарий от AX

Зато их можно легко изучать и модифицировать без компиляний и поиска исходников.

Бедность встроенных средств порождает ненужные костыли.

Я ничего не имею против простых действий, шелл для них действительно удобен. Проблема в том что на что-то больше он не годится.

Это проблемы конкретных утилит, а не баша.

Да, но встроенная поддержка регекспов не помешала бы. awk/sed/perl/etc приходится достаточно использовать.

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

угу, зоопарк интерпретаторов это ещё одно зло из-за которого шелл-скрипты выглядят аля привет из 70-х.

true_admin ★★★★★
()
Ответ на: комментарий от tailgunner

жалоба была на тормознутость

окей, я таки скажу это. man bash, раздел BUGS, первая строчка :).

Перепишем же их на Си

а вот, кстати, хороший вопрос каким должен быть нормальный шелл. Мне для скриптов всегда не хватало эдакого гибрида питона и шелла. От шелла в первую очередь я бы взял лёгкость вызова программ и составления пайплайнов. От питона всё остальное. Осталось только придумать как скрестить два разных синтаксиса. Впрочем, ipython это в какой-то мере удалось.

true_admin ★★★★★
()
Ответ на: комментарий от Siado

Если поставить дефолтную убунту 12.10 и дефолтную федору 17 - то запускаться будет быстрее убунта

ммм, поставь arch, удивишься :). Впрочем, подтюненая убунта (читай с удалённым хламом) тоже может быстро стартовать.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

а вот, кстати, хороший вопрос каким должен быть нормальный шелл.

Хороший шелл должен быть как bash/zsh. Простой, с короткими командами и хорошим автодополнением и прочими ништяками. А вот скрипты на нем, отличные от расширения базового функционала, писать противопоказано

vasily_pupkin ★★★★★
()
Ответ на: комментарий от Siado

python использовать ибо синтаксис читабельный и, как следствие, чужое быдлокодерство читать можно.

хз, я постоянно вижу проблемы с чтением чужого кода, даже если всё нормально отформатировано. Пример: linux/tools/perf. Написано-то красиво, но вот логика размазана по всем файлам. Это помимо того что прекрасные программизды решили таки сделать киллер-фичу юникс-систем: никогда не говори какой из аргументов не нравится, тупо показывай ошибку. Как результат, сижу с gdb и смотрю почему «perf stat -e cycles -G my -C1» не работает. Только даже с gdb пока не понял потому что условие выхода и сам выход в разных местах. И эти люди нам пишут ядро...

Кстати, раз уж я эту тему начал: я хочу убить авторой fdisk за то что fdisk -l от обычного юзера тупо выходит без ошибок и без результата. Этож как надо было обдолбаться чтобы такое придумать. Правило программиста номер 1: если произошла ошибка падай рано, падай громко.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

man bash, раздел BUGS, первая строчка :).

Ага. Давай еще вспомним Ъ-расшифровку аббревиатуры EMACS - «eight Megabytes And Constantly Swapping».

а вот, кстати, хороший вопрос каким должен быть нормальный шелл.

Внезапно, шелл для компонентов типа системных скриптов загрузки должен быть статически типизированным и статически проверяемым. Python или Perl - это полумеры.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

это полумеры.

возможно, но это был бы большой шаг вперёд. Глядишь, и systemd бы не появился (которые я теперь не люблю).

Когда я вспоминаю установочные скрипты слакваря на bash+dialog мне хочется рыдать. Кстати, кто ещё кроме меня пытался их читать? Незабываемая простыня, что-то в духе чтения configure, только есть подозрение что писали руками (надеюсь что это не так).

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.