The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"В Polkit добавлена поддержка JavaScript-движка Duktape"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от opennews (??), 25-Янв-22, 20:44 
В инструментарий Polkit, используемый в дистрибутивах для обработки авторизации и определения правил доступа к операциям, требующим повышенных прав доступа (например, монтирования USB-накопителя), добавлен бэкенд, позволяющий использовать встраиваемый JavaScript-движок Duktape вместо ранее применяемого движка Mozilla Gecko (по умолчанию как и раньше осуществляется сборка с движком Mozilla). Язык  JavaScript в Polkit используется для определения правил доступа, которые взаимодействуют с привилегированным фоновым процессом polkitd при помощи объекта "polkit"...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=56578

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –3 +/
Сообщение от макпыф (ok), 25-Янв-22, 20:48 
УРА

UPD: Блин, там для сборки этого ducktape нода похоже нужна. Впрочем все равно лучше чем mozjs
UPD2: Только для мастера. Релиз без неё.

Ответить | Правка | Наверх | Cообщить модератору

5. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (5), 25-Янв-22, 21:05 
котлеты против макаронов ?
Ответить | Правка | Наверх | Cообщить модератору

11. Скрыто модератором  +5 +/
Сообщение от Аноним (11), 25-Янв-22, 21:43 
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

16. Скрыто модератором  +6 +/
Сообщение от Аноним (16), 25-Янв-22, 21:51 
Ответить | Правка | Наверх | Cообщить модератору

33. Скрыто модератором  +/
Сообщение от Самокатофил (?), 26-Янв-22, 00:30 
Ответить | Правка | Наверх | Cообщить модератору

36. Скрыто модератором  +1 +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 01:44 
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

3. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +6 +/
Сообщение от mimocrocodile (?), 25-Янв-22, 20:48 
Открываешь репо polkit а там

> pkexec: local privilege escalation (CVE-2021-4034)

Ответить | Правка | Наверх | Cообщить модератору

54. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +5 +/
Сообщение от . (?), 26-Янв-22, 08:46 
Погодите, так ведь он для этого ж и предназначен? Программа для получения доступа к повышенным привиллегиям в обход стандартных юникс-механизмов - предоставила кому-то к ним доступ? Ну ахренеть, я изумлен.

Ответить | Правка | Наверх | Cообщить модератору

61. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (61), 26-Янв-22, 10:35 
> Погодите, так ведь он для этого ж и предназначен?

И сколько платят безопасникам за нахождение дыр в дуршлаге? Думаю, прибыльная работа.

Ответить | Правка | Наверх | Cообщить модератору

64. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от . (?), 26-Янв-22, 10:56 
>> Погодите, так ведь он для этого ж и предназначен?
> И сколько платят безопасникам за нахождение дыр в дуршлаге? Думаю, прибыльная работа.

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

Software Description:
- policykit-1: framework for managing administrative policies and privileges
Summary:
policykit-1 could be made to run programs as an administrator.

- то ли это просто вывод apt show, то ли это USN? Мне вот вредно столько бухать чтоб отличать с первой попытки.

Ответить | Правка | Наверх | Cообщить модератору

70. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (61), 26-Янв-22, 11:10 
> нервная очень, а печень небесконечная.

Ну, так медицинскую коноплю разрешили в отличии от кулинарного мака.

Ответить | Правка | Наверх | Cообщить модератору

4. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от sdkhflskhgl (?), 25-Янв-22, 21:03 
ух тыж... ducktape реально классная реализация жабаскрипта, по идеологии чем-то похож на sqlite - тоже только один Хидер и один сырец. встраивать такие модули в свой проект - одно удовольствие. правда нужно какое-то время чтобы привыкнуть к стековой машине (API там весьма далёк от классики жанра), но если разобраться (занимает день с перекурами если не торопиться) - то потом можно расширять функционал движка до бесконечности :)
Ответить | Правка | Наверх | Cообщить модератору

26. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –2 +/
Сообщение от Аноним (26), 25-Янв-22, 23:17 
API у него действительно классное. Но я бы предпочёл обёртку над SpiderMonkey.
Ответить | Правка | Наверх | Cообщить модератору

37. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +3 +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 01:45 
А там сильно нужен джаваскрипт вообще?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

90. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +3 +/
Сообщение от Аноним (90), 26-Янв-22, 13:16 
Миллениалы не понимают конфиги вида ключ-значение, им надо обязательно писать ифы. А на жававскрипте вместо простенького язычка для встраивания (кто сказал луа?), потому что другого они не умеют.
Ответить | Правка | Наверх | Cообщить модератору

91. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –3 +/
Сообщение от sdkhflskhgl (?), 26-Янв-22, 14:01 
иногда надо делать конфиги чуть более структурированными, чем просто плоская портянка, для таких случаев json очень хороший вариант: легко читается, минималистичен по дополнительным символам
Ответить | Правка | Наверх | Cообщить модератору

166. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от минона (?), 30-Янв-22, 11:56 
(неловкая пауза) а как связаны движок джаваскрипта и json в конфигах?
Ответить | Правка | Наверх | Cообщить модератору

62. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 26-Янв-22, 10:51 
IMHO QuickJS от Фабриса Белларда покруче будет чем дактэйп
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

80. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (80), 26-Янв-22, 12:36 
Таки почему же?
Ответить | Правка | Наверх | Cообщить модератору

99. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 26-Янв-22, 14:22 
> Таки почему же?

Из малышей он супортит больше фич из ECMAscript ну и продуктивность:

https://bellard.org/quickjs/bench.html

Ответить | Правка | Наверх | Cообщить модератору

82. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (-), 26-Янв-22, 12:38 
нет
Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

100. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от OpenEcho (?), 26-Янв-22, 14:24 
> нет

Спасибо за досканальное разьяснение !!!

Ответить | Правка | Наверх | Cообщить модератору

6. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –4 +/
Сообщение от Аноним (11), 25-Янв-22, 21:21 
Вот и пришла хана polkit

в такие вещи пихать попаскрипт - хоронить

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

Ответить | Правка | Наверх | Cообщить модератору

8. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +19 +/
Сообщение от муу (?), 25-Янв-22, 21:28 
> Вот и пришла хана polkit
> в такие вещи пихать попаскрипт - хоронить

а он, внезапно, там уже давно, до добавления duktape использовался mozjs, для сборки которого нужны python, llvm, rust и ведро соплей девственниц.

Ответить | Правка | Наверх | Cообщить модератору

13. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –3 +/
Сообщение от Аноним (11), 25-Янв-22, 21:44 
та внезапно по барабану. у меня polkit вообще в системе нету и ниразу не понадобился
Ответить | Правка | Наверх | Cообщить модератору

9. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от псевдонимус (?), 25-Янв-22, 21:28 
Зато прог к этому не прикрученых все меньше.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

12. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (11), 25-Янв-22, 21:43 
вагон и маленькая тележка. почти всё не прикручено у меня этого polkit вообще нету
Ответить | Правка | Наверх | Cообщить модератору

38. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 01:46 
Единственное, что к нему прикручено - это DE всякие. Смысл которых лично я не понимал вообще никогда.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

53. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +3 +/
Сообщение от Аноним (53), 26-Янв-22, 07:59 
>Вот и пришла хана polkit
>в такие вещи пихать попаскрипт - хоронить

Так JS в нём отродясь был, только от Мурзилы. Но свежие версии SpyderMonkey хотят собираться Растом.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

55. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от . (?), 26-Янв-22, 08:50 
> Так JS в нём отродясь был

-rwxr-xr-x 1 root root 9980 Nov  5  2011 /usr/lib/polkit-1/polkitd
ты уверен что в нем поместился js? Чудеса микроминиатюризации, не иначе.

Но идея, конечно, и изначально была идиотской. Хотели UAC какввенде. Впрочем, в венде там хотя бы нет js вместе с мурзилой целиком.

Ответить | Правка | Наверх | Cообщить модератору

81. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (-), 26-Янв-22, 12:38 
>> Так JS в нём отродясь был
> -rwxr-xr-x 1 root root 9980 Nov  5  2011 /usr/lib/polkit-1/polkitd
> ты уверен что в нем поместился js? Чудеса микроминиатюризации, не иначе.

https://gitlab.freedesktop.org/polkit/polkit/-/blob/0.111/NEWS
> Highlights:  The JavaScript interpreter is now mandatory.  Both js185 and mozjs17 versions of SpiderMonkey are supported.

Ответить | Правка | Наверх | Cообщить модератору

83. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (83), 26-Янв-22, 12:43 
Надо было задание правил сделать декларативно просто, чтоб не было возможности в алгоритмы.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

87. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (87), 26-Янв-22, 13:07 
В той версии - так и было. Но тогда получалось недостаточное какввенде - поэтому добавили ж0поскрипт.
Ответить | Правка | Наверх | Cообщить модератору

18. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +4 +/
Сообщение от Oxyd76 (?), 25-Янв-22, 22:05 
Божечки. Ну зачем? Почему не более подходящие, для системной компоненты вещи. Ну хочется вам встроить поддержку логики, так возьмите ну тот-же LUA.
Ответить | Правка | Наверх | Cообщить модератору

19. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (19), 25-Янв-22, 22:07 
Луа слишком сложный язык.
Ответить | Правка | Наверх | Cообщить модератору

20. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –9 +/
Сообщение от Аноним (20), 25-Янв-22, 22:14 
А чем JavaScript не подходящий? Он для этого был создан. Реализация отличная, настоящий embedded. Потребляет очень мало.

Наверное это в 💯 раз лучше чем bash портянки (но на них тут никто не ругается).

И он во много-много раз быстрее недоязыка bash.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

21. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (21), 25-Янв-22, 22:21 
запомни: скриптовать что-то сложное принято исключительно на самых тормознутых языках. Например на баше, где "всё есть строка". Или на пыхе, -- писать тормозкрипты пробельчиками. Куда ты тут лезешь со своим яваскриптом?
Ответить | Правка | Наверх | Cообщить модератору

56. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +3 +/
Сообщение от Аноним (56), 26-Янв-22, 08:52 
В php очень быстрый интерпретатор, даже без jit
Ответить | Правка | Наверх | Cообщить модератору

22. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от anonymous (??), 25-Янв-22, 22:25 
Всем хорош. Одна только проблема. polkit до мержа использовал mozjs сиречь spidermonkey, который для себя требует дохера зависимостей рантайма и билда. Но теперь, когда они переехали на duktape, это и в самом деле что-то близкое к embedded.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

29. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (26), 25-Янв-22, 23:22 
Тебе всё равно Firefox ставить, так что на десктопах SM оптимальнее, ибо и JiT, и JS нормальный, и памяти не жрёт дополнительно, ибо у тедя Firefox всё равно перманентно запущен.
Ответить | Правка | Наверх | Cообщить модератору

43. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (-), 26-Янв-22, 02:07 
> Тебе всё равно Firefox ставить, так что на десктопах SM оптимальнее, ибо
> и JiT, и JS нормальный, и памяти не жрёт дополнительно, ибо
> у тедя Firefox всё равно перманентно запущен.

Т.е. тебя не смущает, что в зависимостях там mozjs-78 - отдельный движок как и то, что JIT для пары строк с правилами - никуда не уперся?


Ответить | Правка | Наверх | Cообщить модератору

46. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 04:55 
>Наверное это в 💯 раз лучше чем bash портянки (но на них тут никто не ругается).

Я ругаюсь например.
Ну и так себе аргумент. Всё что угодно лучше баша.

>А чем JavaScript не подходящий? Он для этого был создан.

Даже не знаю для чего он был создан.

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

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

48. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от ыы (?), 26-Янв-22, 05:55 
Ждем от вас дистрибутив линукса, в котором bash заменен на жабоскрипт.
Ответить | Правка | Наверх | Cообщить модератору

66. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от . (?), 26-Янв-22, 10:58 
> Ждем от вас дистрибутив линукса, в котором bash заменен на жабоскрипт.

не надо! А то так и сделают.

Ответить | Правка | Наверх | Cообщить модератору

50. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +3 +/
Сообщение от Anonymoustus (ok), 26-Янв-22, 06:05 
>> А чем JavaScript не подходящий? Он для этого был создан.
>
> Даже не знаю для чего он был создан.
>

Он был создан для того, чтобы рисовать «спецэффекты» в окне браузера: танцующие снежинки, цветные переливы, «динамические меню» и так далее. В своё время, до очередного «изобретения» квадратных колёс в виде HTML5, это называли DHTML.

https://en.wikipedia.org/wiki/Dynamic_HTML

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

119. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 17:35 
Это да, его так намеревались использовать.
Но вопрос был немного в другом.
Ответить | Правка | Наверх | Cообщить модератору

130. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от . (?), 26-Янв-22, 22:47 
> Это да, его так намеревались использовать.

При таком его использовании - и вреда от него не было никакого.
Но, к сожалению, гугль решил иначе.

Ответить | Правка | Наверх | Cообщить модератору

57. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (56), 26-Янв-22, 08:53 
Какие?
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

93. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 26-Янв-22, 14:12 
> Не то чтобы это был ужасный язык если смотреть в вакууме.

Ужасный, ужасный.

Дизайн джаваскрипта зело неудачен, хуже почти всех известных используемых языков. И благодаря кошмарному дизайну жс учит своих программистов отсутствию красоты и стройности кода. Что, в свою очередь, ведет к полному отсутствию культуры программирования и соответствующей кривизне "кода".

Чтобы эту ситуацию хоть как-то исправить возникла куча языков поверх жс (ибо браузеры только его и умеют выполнять), более менее исправляющих этот идиотизм под названием "джава-срипт".

Примеров вокруг - миллионы.

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

98. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (56), 26-Янв-22, 14:21 
Назови хотя-бы 5
Ответить | Правка | Наверх | Cообщить модератору

163. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 28-Янв-22, 22:20 
https://github.com/jashkenas/coffeescript/wiki/List-of-langu...
Ответить | Правка | Наверх | Cообщить модератору

107. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (21), 26-Янв-22, 15:05 
очередной хелловорлдщик Урри вещает свое ыкспертное мнение 👍
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

142. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Урри (ok), 27-Янв-22, 13:22 
Хелловорлдщик Урри, по крайней мере, хелловорлды пишет. В отличие от некоторых чисто теоретиков.
Посему у него экспертиза несколько повыше будет, да.
Ответить | Правка | Наверх | Cообщить модератору

117. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 17:33 
> Ужасный, ужасный.
> Дизайн джаваскрипта зело неудачен, хуже почти всех известных используемых языков.

Может и соглашусь пожалуй.
Ну, на коротеньких трехстрочниках норм вроде. Для того вроде и предназначен.
Всё же мне больше непонятно зачем его вообще нужно было изобретать.

Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

122. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (20), 26-Янв-22, 18:14 
Ну так-то я могу переписывать огромные баулы JS (на TypeScript) кода с очень высокой вероятностью что это всё будет корректно работать.

С и С++ такого и не снилось.

Ответить | Правка | Наверх | Cообщить модератору

126. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 19:04 
> Ну так-то я могу переписывать огромные баулы JS (на TypeScript) кода с
> очень высокой вероятностью что это всё будет корректно работать.

Вы большой молодец.

> С и С++ такого и не снилось.

Хвала Аллаху!

Вы надеюсь тут не пытались провести аналогию между JS - TS и C - C++ ?

Ответить | Правка | Наверх | Cообщить модератору

133. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Likern (?), 26-Янв-22, 23:15 
Конкретный пример - взял Luxon https://github.com/moment/luxon - супер-популярная библиотека работы с датами и временем на чистом JS - переписал на TypeScript.

Нашёл несколько десятков ошибок во время добавления типов.

https://github.com/breeffy/timely/pull/4 - +2,233 −1,231 строк изменилось.

Ни разу не запускал тесты, но на 99% уверен что ошибок будет мало.

Теперь взял чистый С - написал несколько строчек кода открытия и создания файла - 40 минут внимательно читал документацию по open, чтобы правильно его вызвать (до конца не понял). Ошибка на ошибке, одни флаги O_CREAT | O_DIRECTORY можно, другие O_RDONLY | O_WRONLY нельзя.

Вчитываться надо в каждое слово (!) и то сложно понять. Где-то в дeбрях документации про  https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use.

С++ также и хуже - чтобы писать корректный код нужно вчитываться в cppreference. Но я всё равно до конца не понимаю все варианты перезагрузок - что, где, когда, зачем. Куча исключений и описаний - ни до конца понять, ни запомнить это просто невозможно.

Написать корректный код практически невозможно (заваливать баблом, тестами, санитайзерами). На это фоне JavaScript (+TypeScript) просто блестит как яркая вкусная сладкая конфетка.

TypeScript ЗАСТАВЛЯЕТ писать корректный код. Его система типов настолько крута, насколько это возможно для динамического языка.

Например в Java есть NullPointerException, в TypeScript нет - т.к. null это отдельный тип (и его в коде нужно обрабатывать).

Ответить | Правка | Наверх | Cообщить модератору

143. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 27-Янв-22, 13:25 
Вот и совершенно типичнейший комментарий джаваскриптера - "я не хочу учиться, я хочу чтобы само рррраз и получилось".

Вы, кстати, rust не пробовали? Там ваших коллег подавляющее большинство.

Ответить | Правка | Наверх | Cообщить модератору

145. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (20), 27-Янв-22, 14:28 
По-существу ответить нечего. Понятно.

Добавлю что автор языка Zig бывший JavaScript-ер, это по поводу навешивания ярлыков.

Ответить | Правка | Наверх | Cообщить модератору

149. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Газпром (?), 27-Янв-22, 19:29 
>> *концепты владения, времени жизни, заимствований*
> Вот и совершенно типичнейший комментарий джаваскриптера - "я не хочу учиться, я хочу чтобы само рррраз и получилось".
> Вы, кстати, rust не пробовали? Там ваших коллег подавляющее большинство.

Какой объемный выброс газа! Вы молодец! Так держать!

Ответить | Правка | К родителю #143 | Наверх | Cообщить модератору

140. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Урри (ok), 27-Янв-22, 13:18 
> Всё же мне больше непонятно зачем его вообще нужно было изобретать.

Лично я не ходил проверять, но на аналогичные вопросы мне здесь же, на опеннете, цитировали айка, где он утверждал, что это было очень срочное и совершенно временное решение. Другими словами - быстро наг_внокодил в расчете потом переделать, но так и осталось.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

25. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (25), 25-Янв-22, 23:13 
Они не могут взять Lua, потому что там уже был JS. Придётся правила переписывать — никто не хочет.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

28. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –7 +/
Сообщение от Аноним (26), 25-Янв-22, 23:20 
lua - такое говно, что к ней лучше не прикасаться и избегать at all costs. Такого геморроя как с луной я давно не обретал. Дизайнили явно лунатики.
Ответить | Правка | Наверх | Cообщить модератору

39. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 01:50 
Вот уже сто раз ловил себя на том, что очень не хватает простого удобного скриптового языка, который не пытается быть всем.

Нет, не луа с его функциональщиной. Не js с его странностями. Не питон с его кучей "особенностей". А что-то вроде бейсика - простое, как топор, в принципе не пригодное для написания сложного кода, но не провоцирующее, как шелл, выстрелы в ногу. Желательно - строго типизированное, чтобы нельзя было вместо числа засунуть яблоко а потому думать "а что ж не так".

Ответить | Правка | Наверх | Cообщить модератору

44. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (21), 26-Янв-22, 02:19 
> не пригодное для написания сложного кода
> строго типизированное

Параграфы соблюдены.

Не пойму, чем так не нравится JS. Успешно применяется в самых неожиданных областях. explorer.exe в вантуз-98 имел боковую панель с голубым уголком -- он управлялся из JScript. DAZ Studio позволяет себя скриптовать и подгружает свои ассеты через "Daz Script", который тоже ECMAScript. nginx/njs, nodejs, react native... Все применяют, а у тебя, видишь ли, "странности". А обернув в тайпскрипт, получаешь свою типизацию.

А со "странностями" в яваскрипте я сталкиваюсь ровно один раз в 3-5 лет -- когда мне по этим "странностям" задают вопросы на собесах.

Как альтернатива есть Vala, тоже может работать в скриптовом режиме. Всяко получше всяких перлов-башев-пыхов.

Ответить | Правка | Наверх | Cообщить модератору

47. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 04:59 
Вы какой-то со странностями...
Ответить | Правка | Наверх | Cообщить модератору

58. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (20), 26-Янв-22, 09:49 
Кстати, из прошлых срачей "parseInt(Infinity, 19)"
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

63. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (21), 26-Янв-22, 10:54 
ну и что это? снова гипотетическая проблема, которую встретишь только в собесах, и которой нет даже в хелловорлдах начинающих?

declare function parseInt(string: string, radix?: number): number;

Ответить | Правка | Наверх | Cообщить модератору

94. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 26-Янв-22, 14:14 
Дай угадаю - программист хелловорлда, да?
Ответить | Правка | Наверх | Cообщить модератору

105. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (21), 26-Янв-22, 14:57 
дай угадаю: не умеешь в тайпскрипт и держишь в одних и тех же переменных значения самых разных типов, да?
Ответить | Правка | Наверх | Cообщить модератору

120. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 17:41 
> дай угадаю: не умеешь в тайпскрипт и держишь в одних и тех
> же переменных значения самых разных типов, да?

1. Тайпскрип НЕ жаваскрипт.

2. И подумать никто не может чтобы с вами соревноваться в жаваскрипт программировании.

Ответить | Правка | Наверх | Cообщить модератору

121. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (21), 26-Янв-22, 18:12 
Продолжай оправдывай свое незнание тайпскрипта и писать абы как, присваивая ежика зайчику. После этого не забудь пожаловаться на то, что у тебя даже хелловорлды не работают.
Ответить | Правка | Наверх | Cообщить модератору

125. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноньимъ (ok), 26-Янв-22, 19:01 
> Продолжай оправдывай свое незнание тайпскрипта и писать абы как, присваивая ежика зайчику.
> После этого не забудь пожаловаться на то, что у тебя даже
> хелловорлды не работают.

Вы не понимаете как работает форум? Вы говорите сами с собой, у вас шизофрения?
Или вы бот?

Ответить | Правка | Наверх | Cообщить модератору

101. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (56), 26-Янв-22, 14:26 
Не запускала, но ответ 19?
А ещё в js typeof NaN === "number"
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

102. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (56), 26-Янв-22, 14:27 
И "1" + 1 === "11"
Ответить | Правка | Наверх | Cообщить модератору

106. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (21), 26-Янв-22, 15:02 
> А ещё в js typeof NaN === "number"

Подучи матчасть, в частности IEEE 754. Берем например Java:

static double NaN
A constant holding a Not-a-Number (NaN) value of type double.

Берем пых:

>>> type(float('nan'))

<class 'float'>

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

103. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (56), 26-Янв-22, 14:33 
Все странности с типами решает typescript который такую ерунду просто не скомпилирует.
Слабая типизация в js поле для бесконечных манипуляций вида засунуть ерунду в ерунду и получить ерунду. JS ужастный!!!111
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

104. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (56), 26-Янв-22, 14:34 
В сишечке вот тоже слабая типизация хоть и статическая,  но её тут нахваливают
Ответить | Правка | Наверх | Cообщить модератору

146. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 27-Янв-22, 18:01 
> Слабая типизация в js поле для бесконечных манипуляций вида засунуть ерунду в
> ерунду и получить ерунду. JS ужастный!!!111

Типичный js'ник - ноль знаний (по типизации, в данном конкретном случае) и напрочь сломаны блоки мозгов отвечающие за причинно следственные связи.

"Не волгу, а москвич; не в лотерею, а в покер; не выиграл, а проиграл." (с)


Вы путаете причину и следствие - JS объективно ужасный, и именно поэтому можно "засунуть ерунду в ерунду и получить ерунду", а не наоборот. И не "слабая типизация в js", а "идиотские правила типизации в js". Слабая типизация в пхп, например, вполне себе живет и не кашляет, не так ли? А динамическая в питончике никому не мешает.

"!!!111" (с)

p.s. тайпскрипт рулит. если бы его еще прямо в браузер вкорячили, чтобы не приходилось транслировать в жс.

Ответить | Правка | К родителю #103 | Наверх | Cообщить модератору

109. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (109), 26-Янв-22, 15:20 
функция parseInt преобрабразует первые числовые символы в строку. Это даже отравдано учитывае повсеместное распространение в веб значений вида "11px", "2em"

функция parseInt принимает в качестве первого аргумента строку, поэтому константа Infinity типа number автоматически преобразуется в строку "Inifinity"

мы указали десятнацатиричную систему счисления тоесть символы /0-9a-i/i это цифры, в нашей строке первая I это единственное число, а дальше идет строковая часть. i в десятичной системе счисления это 18

Правильный ответ в итоге 18, а не 19, но наверное на собеседовании мне бы этот ответ засчитали так как спрашивают еще и почему так получилось.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

116. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (20), 26-Янв-22, 17:30 
Молодец, практически всё правильно.
А говорят JS программисты тупые.

Они, худо бедно, знают свой 👅, в отличие от Си-шников. Которые даже Hello World в прошлой ветке были не в состоянии написать.

Ответить | Правка | Наверх | Cообщить модератору

144. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 27-Янв-22, 13:53 
Какие прекрасные встроенные грабли.
Ответить | Правка | К родителю #109 | Наверх | Cообщить модератору

164. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (109), 29-Янв-22, 11:16 
просто чтобы программировать на любом языке, нужно знать стандартную библиотеку, хотя бы минимально...
Чтобы вываливать продукты своей жизнидеятельности в комментарии, ничего знать не нужно.
Ответить | Правка | Наверх | Cообщить модератору

110. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (109), 26-Янв-22, 16:42 
Ладно infinity, но вы только посмотрите какой js ужастный!
parseInt("ololo", 36)
41322444
parseInt(undefined, 36)
86464843759093
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

77. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 12:22 
Не нравится тем, что он сложный для нормальных скриптовых задач. Мало того, что куча странностей с преобразованиями, всякие прототипные наследования, так ещё и слишком много хитрой функциональности вроде футур и подобного.

Со "странностями" вы сталкиваетесь каждый день, только привыкли.

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

85. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Аноним (21), 26-Янв-22, 12:52 
> куча странностей с преобразованиями

Гипотетических. На практике их нет ни у кого, включая хелловорлдщиков. Странности -- это поле деятельности авторов статей про "странности яваскрипта", их затем за 5 минут до собеседования вычитывают интервьюеры (потому что сами тоже не сталкивались!) и задают вопросы, чтоб снизить зарплатные ожидания, типа "ну ты же не знаешь, что будет, если засунуть строку в винегрет, а винегрет умножить на пылесос, а это основа основ".

> всякие прототипные наследования
> хитрой функциональности вроде футур и подобного

Вещи полезные, но если СЛОЖНА/НИАСИЛИЛ, то ими пользоваться не обязательно и до определенной степени можно игнорировать.

Ответить | Правка | Наверх | Cообщить модератору

115. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 17:21 
Не. В данном случае хочется язык, на котором сложно написать нельзя. Который учится полностью за час (ладно - день) и после этого - никаких неожиданнстей - либо оно работает ровно как ожидали либо внятно ругается. Поэтому ничего сложнее тупого императивного стиля - никаких лямбд, никаких наследований, конструкторов, явной работы с памятью, исключений и всего прочего, что я очень люблю когда пишу продакшн код с какой-то замтной сложностью.
Ответить | Правка | Наверх | Cообщить модератору

118. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (20), 26-Янв-22, 17:34 
Тебе Zig нужно попробовать. Никаких исключений, даже строк нет (есть []u8 массив, можно считать что UTF8 строка, Но это от тебя зависит).

Нет перегрузки и т.п.
Но он не альтернатива и замена скриптовым 👅. Они как раз должны быть "сложными", чтобы раз функцию в функцию в замыкание и готово.

Ответить | Правка | Наверх | Cообщить модератору

148. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 27-Янв-22, 18:07 
> Тебе Zig нужно попробовать.

Какой-то раст недоделанный. http://rosettacode.org/wiki/Category:Zig

```
pub fn main() !void {
    const stdout = @import("std").io.getStdOut().writer();

    var doors = [_]bool{false} ** 101;
    var pass: u8 = 1;
    var door: u8 = undefined;

    while (pass <= 100) : (pass += 1) {
        door = pass;
        while (door <= 100) : (door += pass)
            doors[door] = !doors[door];
    }

    for (doors) |open, num|
        if (open)
            try stdout.print("Door {d} is open.\n", .{num});
}
```

Ответить | Правка | Наверх | Cообщить модератору

153. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 20:46 
функцию в функцию в замыкание - и в Polkit такое. А потом кто-то будет судорожно пытаться понять, что за парвила вы там накрутили. Или вы сами через пару лет будете мучительно пытаться сообразить, что это было
Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

123. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +3 +/
Сообщение от Аноним (21), 26-Янв-22, 18:22 
> хочется язык, на котором сложно написать нельзя

Ну возьми HQ9+, че:

- ничего сложнее тупого императивного стиля: check
- никаких лямбд: check
- никаких наследований: check
- конструкторов: check
- явной работы с памятью: check
- исключений: check
- и всего прочего: check

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

127. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (109), 26-Янв-22, 19:52 
там есть печать hellow world и квайн, а значет пункт "и всего прочего" нужно считать невыполненным
Ответить | Правка | Наверх | Cообщить модератору

147. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Урри (ok), 27-Янв-22, 18:05 
Возьми лисп (а точнее scheme, ибо cl - буэ).

Учится за 10 минут (я лично объяснял синтаксис языка дошкольникам за 15 минут и они все понимали).
Никаких неожиданностей - наследований, конструкторов, явной работы с памятью, исключений и всего прочего. Хотя, при желании, все это можно и соорудить.

Даже без лямбд можно обойтись. Писать чистую императивщину.

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

159. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Annoynimous (?), 28-Янв-22, 17:57 
> Не. В данном случае хочется язык, на котором сложно написать нельзя. Который
> учится полностью за час (ладно - день) и после этого -
> никаких неожиданнстей - либо оно работает ровно как ожидали либо внятно
> ругается. Поэтому ничего сложнее тупого императивного стиля - никаких лямбд, никаких
> наследований, конструкторов, явной работы с памятью, исключений и всего прочего

Паскаль?

Только не "современный паскаль" в стиле Delphi/Oxygene/FPC - а "старый ламповый", как описан дедушкой Виртмм в Pascal Report 1974 года. Выкинуть указатели, добавить динамические массивы и строки, как их частный случай.


Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

84. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (83), 26-Янв-22, 12:50 
>Как альтернатива есть Vala, тоже может работать в скриптовом режиме. Всяко получше всяких перлов-башев-пыхов.

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

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

59. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (59), 26-Янв-22, 10:04 
Ну т.е. твоя мечта это питон?
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

76. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 12:19 
Нет. Типов нет, зато всякие наследования, magic методы и тому подобное - есть.
Ответить | Правка | Наверх | Cообщить модератору

86. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (59), 26-Янв-22, 12:56 
Как это, нет типов? Он очень типизированный, вот в си, например, нет типов (есть сахар притворяющийся типами). Такие тонкости как наследование ромбиком тебе не понадобятся с таким подходом к вопросу.
Ответить | Правка | Наверх | Cообщить модератору

114. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 17:17 
Да вот так - нет. С точки зрения пользователя, по крайней мере. Не заставляет указать тип параметров функции и переменной. А скрипты - это то, что обычно не документируется, поэтому там читабельность возьмётся только если её гвоздями к языку прибить.
Ответить | Правка | Наверх | Cообщить модератору

60. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (80), 26-Янв-22, 10:34 
mruby хватит всем [pokerface]
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

73. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (20), 26-Янв-22, 12:08 
Закопайте стюардессу.
Ответить | Правка | Наверх | Cообщить модератору

69. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 26-Янв-22, 11:08 
> А что-то вроде бейсика - простое, как топор

FreeBASIC ? Нет?

> в принципе не пригодное для написания сложного кода,

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

> но не провоцирующее, как шелл, выстрелы в ногу.

А можно пример провокации в шеле, где прям раз - и в ногу ?

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

79. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 12:30 
Бейсик уж слишком архаичен в плане синтаксиса, но да, как вариант.

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

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

В шеле - всё, что связано с кавычками - самый яркий пример, ну и то, что всё тащим через строки и, соответственно, по типам никакого контроля.

Ответить | Правка | Наверх | Cообщить модератору

92. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Cradle (?), 26-Янв-22, 14:10 
"back to the basics" - возмоте один из вариантов паскаля, благо их за 50 лет достаточно накопилось. Создавался он вот как будто специально как раз по Вашим запросам.
Ответить | Правка | Наверх | Cообщить модератору

112. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 16:53 
Чем клепать 1001-й вариант (а там, как минимум, надо добавить какие-никакие объекты, хоть и без наследования и приватных членов и поломать "тело программы") можно уж что-то чуть менее многословное наваять.

Если честно - у меня нет сейчас проектов где надо что-то скриптовое вкручивать, так что всё равно это так, хотелки в воздух. Хотя в своё время наматерился.

Ответить | Правка | Наверх | Cообщить модератору

96. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от OpenEcho (?), 26-Янв-22, 14:17 
> чтобы простое было писать легко, а сложное - практически невозможно.

Сорри, но слышится ка - "Хочу белое, но что бы было черное"

> Иначе будет очередной питон или php.

А чем пых не угодил, писать легко, документация ИМХО одна из лучших. Если скомпилировать статически и ужать upx-ом, так по современным меркам 12мег вообще ничто.

> В шеле - всё, что связано с кавычками - самый яркий пример,
> ну и то, что всё тащим через строки и, соответственно, по
> типам никакого контроля.

Так то не язык програмирования, а шелл !
Зачем там типы?
И где это нет проблем с кавычками, в каком таком чудо языке ?

Надо простое но с типами, ну так tinycc или еще лучше chibicc, 8 kilobytes и будет работать везде

Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

113. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 17:05 
как раз запрос "простое легко, а сложное - невозможно" реализуется автоматом если не пихать сложные конструкции в язык. Поди напиши сложный софт если у тебя ни указателей ни наследования нет, например.

Пых не угодил ровно этим, плюс тянущимся сто лет легаси. Уж скорее от питона половину отломать.

По нынешним временам плевать на килобайты, а для скриптов - и на скорость плевать. Но сишный компилятор даст доступ ко всему сишному маразму и необходимости для пользователя понимать штуки врле выделения памяти и связи массивов и указателей.

P.S. В своём роде забавно, что никто даже не понимает, о чём речь. А речь о скриптовом языке в своём изначальном смысле - на котором не пытаются писать "большой" софт, а пишут мелкие конфиги или кастомизации, в том числе это делают power user'ы, к программированию никакого отношения не имеющие. На котором в идеале нельзя (или хотя бы крайне сложно) написать что-то непонятное с первого взгляда. Который как читается - так и работает, а где так сделать не выходит - там его просто не надо использовать. Который, соответственно, дожен быть прост как топор в реализации с минимальной attack surface при фактически отсутствующих требованиях к эффективности, потому что ничего большого/часто исполняемого на нём просто не должно быть.

Ответить | Правка | Наверх | Cообщить модератору

124. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Cradle (?), 26-Янв-22, 18:49 
Вот на полке стоит книжка Вирта по Оберону, там вся грамматика языка на две с половиной страницы помещается, потомы что по убеждению автора, системный язык должен одинаково хорошо подходить как для ядра, так и для скриптов между программами.
Правда, история этого мира потом пошла немного другим путем, почему-то голландцы оказались популярнее швейцарцев :)
Ответить | Правка | Наверх | Cообщить модератору

128. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 26-Янв-22, 20:28 
> как раз запрос "простое легко, а сложное - невозможно" реализуется автоматом если
> не пихать сложные конструкции в язык.

Т.е вы хотите сказать что за пол века люди так и не придумали то, что вам надо?

> Пых не угодил ровно этим, плюс тянущимся сто лет легаси. Уж скорее
> от питона половину отломать.

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

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

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

>[оверквотинг удален]
> речь. А речь о скриптовом языке в своём изначальном смысле -
> на котором не пытаются писать "большой" софт, а пишут мелкие конфиги
> или кастомизации, в том числе это делают power user'ы, к программированию
> никакого отношения не имеющие. На котором в идеале нельзя (или хотя
> бы крайне сложно) написать что-то непонятное с первого взгляда. Который как
> читается - так и работает, а где так сделать не выходит
> - там его просто не надо использовать. Который, соответственно, дожен быть
> прост как топор в реализации с минимальной attack surface при фактически
> отсутствующих требованиях к эффективности, потому что ничего большого/часто исполняемого
> на нём просто не должно быть.

Вы только что описали /bin/dash (И не в коем случе баш, это уже изврат) ну или покруче busybox. И именно поэтому, их не напичкивают стероидами, а держат самый минимальный набор для програмирования. Вы его просто подучите, он сперва вроде как странный, но когда поймешь, то для администрирования систем ну очень редко когда надо что то еще.

Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

134. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 01:42 
Не. Подход "бери подходящее подмножество и не парься" работает для профеесиональных программистов  в проектах с прописанными стайлгайдами, но ни хрена не работает там, где либо не профи либо нет контроля - стили, ревью, вот это всё.

Для встроенных языков не может понадобиться "тулза, которой нет из коробки" - это решается на уровне приложения-хоста. Для не встроенных - если что-то такое попадается-  бери что-то большое вроде того же питона или JS. Но на практике 99% задач не требуют ничего большего, чем совершенно базовые средства - работа с файлами (можно чтобы даже симлинки отдельно не выделяли), строки (и регэкспы туда же), минимальная математика, массивы/словари и простейшие "классы" а-ля struct + сгруппированные в ней функции чтобы не мешать всё в одну кучу.

О шеллах не будем, там одних "логических операторов", эмулируемых чёрт знает из чего, хватит, а читабельности во всяких $чёртзнаетчто вообще никакой. Советовать мне их подучить - это забавно, да. Правда запоздало лет на пятнадцать. как шелл - оно вменяемо. Как скрипт - чудовищно, почему я давным-давно взял за принцип что-либо больше пяти строк сразу делать на перле (ну или сейчас можно на питоне, но я к перлу привык).

Ответить | Правка | Наверх | Cообщить модератору

137. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от OpenEcho (?), 27-Янв-22, 11:32 
>  но ни хрена не работает там, где либо не профи либо нет контроля - стили, ревью,
> вот это всё.

Кажется, я начинаю понимать в какую сторону ветер. Для такой аудитории придумали очень хороший солюшн: https://scratch.mit.edu/
Просто, понятно, нечего серьезного не сделать(хотя я видел проекты, которые очень даже ого-го), но работать будет. Сорри, но типов там не будет.


> Но на практике 99% задач не требуют ничего большего, чем
> совершенно базовые средства - работа с файлами (можно чтобы даже симлинки
> отдельно не выделяли), строки (и регэкспы туда же), минимальная математика, массивы/словари
> и простейшие "классы" а-ля struct + сгруппированные в ней функции чтобы
> не мешать всё в одну кучу.

Ну, регулярки, это уже не для той категории юзеров, которую вы описали хотите таргетить.
А желание иметь "классы", - это вы сами себе тогда противоречите.
Классы и вообше абстракции ООП, - были придумано исключительно чтоб народ не наступал друг другу на пятки когда больше чем один дев или чувак с короткой памятью, не способный запомнить имена функций и переменных. Иметь классы и "наследования"(которых вы не хотите) это все ягодки одного поля - ООП. И тут вы либо тянете всю кухню ООП, либо забудьте об успехе такого проекта.

> О шеллах не будем, там одних "логических операторов", эмулируемых чёрт знает из
> чего, хватит, а читабельности во всяких $чёртзнаетчто вообще никакой

Каждый раз, когда меня злит какой-то язык, я знаю 100%, что я просто его еще не понял, ну чуток практики и вся логика заложенная в язык становится понятна и проста.

Что там страшного? Там всего десяток символов запомнить что делают и все становится довольно понятно и и компактно

>  Советовать мне их подучить - это забавно, да.

Раз вас раздражают "логические операторы", значит вы просто либо не часто пользуете шелл, либо не уделяли время на полное изучение, не через гугл, а как положено, по мэну и с практикой

> Правда запоздало лет на пятнадцать.

За 15 лет много чего можно забыть :)

> Как скрипт - чудовищно, почему я  давным-давно взял за принцип что-либо больше пяти строк сразу делать на  перле (ну или сейчас можно на питоне, но я к перлу  привык).

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

Ответить | Правка | Наверх | Cообщить модератору

152. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 20:44 
Да-да, правильно всё поняли. Вот в моём понимании всякие эмбедные язычки как вот здесь для полкита именно такими и должны быть - иначе там вс любом случае вылезет оверинжиниринг и свзяанные с ним баги.

Реглярки - да, знаю, согласен, но уж слишком распространённая и при этом нетривиальная задача, и лучше брать что-то максимально описанное чем костылить своё и заново идти оп всем граблям, как в том же Lua (чьи паттерны в итоге и не знает никто толокм и слабенькие они).

Классы - смотрим на VB/VBA/1С - классы здесь - это, фактически, модули, группирующие функции и данные, связанные с общей функциональностью. Разумеется, никакого полноценного ООП. Именно для "чуваков с короткой памятью" и возможностью писать xxx.print для любого xxx.

Раздражает неконсистентность. В присовении пробел перед равно не ставь, в [] - наоборот, потому что оно скостылировано внешней командой, на пустоту проверь конкатенацией с дамми символом и так далее, не забудь всё, что можно, заключитть в кавычки... Я понимаю, почему так - но не понимаю, почему не забить на это "почему" и не сделать консистентно и удобно. Хотя бы инвертировать подход к кавычкам - то есть для сплита строки по вайтспейсу применять явный оператор, а не как сейчас. ну, то есть *  или там $1 чтобы возвращал строку вне зависимости от наличия пробелов, а если её хочешь сплитнуть - так и пишешь - ${1}:split или ещё какой синтаксис.

Перловка не помирает, а померла. Я на ней пишу потому что я её уже знаю, а советовать, разумеется, никому не стану. Питон и совместимость - это для распространения проблемно, а для домашних скриптов в рамках одной системы ни черта не ломается, чай, не на арче же сидишь, а на lts каком-то. А раз в десять лет поковырять - скорее на пользу. Да и после перехода с 2 на 3 ничего там радикального нет. Но если не нравится можно тот же js с нодой взять, разницы никакой. Речь о том, что не надо пытаться писать однострочник и проект на десять тысяч строк на одном зяыке - там требования совершенно разыне.

Ответить | Правка | Наверх | Cообщить модератору

158. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 28-Янв-22, 15:23 
> Раздражает неконсистентность. В присовении пробел перед равно не ставь, в [] -
> наоборот, потому что оно скостылировано внешней командой, на пустоту проверь конкатенацией
> с дамми символом и так далее, не забудь всё, что можно,
> заключитть в кавычки... Я понимаю, почему так - но не понимаю,

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


> Речь о том,
> что не надо пытаться писать однострочник и проект на десять тысяч
> строк на одном зяыке - там требования совершенно разыне.

Так и я про то же самое -  не нужен универсальный микроскоп, которым и гвозди можно забить и науку поковырять. На каждую задачу - свой тулз. Я согласен что, надо бы хотя бы парсер строки от awk перенести в шел, чтоб убрать странность с пробелами, но с другой стороны, вы себе не представляете, сколько этих самых скриптов надо будет переписать, утвердить и доказать - "а зачем". Консистенс - значительно более важная штука чем удобство

Ответить | Правка | Наверх | Cообщить модератору

71. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (71), 26-Янв-22, 11:12 
Tcl. Проще некуда, типы добавляются расширением, классический язык конфигурации и настройки. Иногда не нужно изобретать велосипеды, когда есть готовое, отлаженное решение.
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

75. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 12:16 
Сильно инопланетный. По идее нужно что-то такое, что будет понятно любому, кто в школе if-then-else учил.
Ответить | Правка | Наверх | Cообщить модератору

95. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Урри (ok), 26-Янв-22, 14:16 
Ну так и используй Паскаль. Что мешает?
Есть все, что ты хотел.
Ответить | Правка | Наверх | Cообщить модератору

108. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (87), 26-Янв-22, 15:19 
> Ну так и используй Паскаль. Что мешает?

То что он в школе учил basic, наверное?

Ответить | Правка | Наверх | Cообщить модератору

111. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 16:49 
Паскаль как скриптовый язык - уж больно странная идея, не находите?

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

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

129. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 26-Янв-22, 20:39 
> А если серьёзно - я имею в виду, что там не должно
> быть никаких сложных конструкций вроде исключений, поддержки асинхронности и подобного,
> всё должно работать так, как ожидаешь с  первого взгляда.

Ну так это же /bin/dash !

Или возьмите то же awk, вполне приличный язык для задач которые вы описали, на котором можно сделать довольно таки много даже не вызывая стороние инструменты и который очень даже понятен.

На кой она вам эта типизация здалась, для задач которые вы описали ?

Ответить | Правка | Наверх | Cообщить модератору

135. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 01:53 
Идеи одна другой краше. Я о читабельности и предельной понятности (фактически - о том, чтобы всячески затруднить написание непонятного кода), а мне в ответ - то шелл то вообще awk.

Для чего типизация:

1) для того, чтобы, открыв скрипт через два года сходу понять, что там вообще происходит и какую сущность куда пихают.
2) чтобы то же самое было понятно при открытии чужого скрипта.
3) чтобы не было стимула костылировать "а мы сдеаем функцию, окторая умеет принимать десять вариантов чего попало и на них реагировать"
4) чтобы структурировать код - если функция принимает Book то Audiofile туда не запихнёшь. А если сожрёт всё и даже случайно будет работать со всем, что имеет Title - то шансов, что получится какой-то недокод, ломающийся в непредсказуемые моменты, куда больше, а нормального тестирования там не будет потому что на фиг не надо. Дублирование же кода в той области применения, о которой я говорю (мелкие встроенные скрипты и мелкая автоматизация) не критично совершенно.

Ответить | Правка | Наверх | Cообщить модератору

138. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 27-Янв-22, 11:51 
> то шелл то вообще awk.

А что awk? У него кстати попроще будет семантика и нет жестких ограничений с обязательными пробелами или их отсутствием как у шелов. Вы откройте мэн, язык С подобный и очень простой, но в тоже время имеет все фичи которые вы хотели.

> Для чего типизация:
> 1) для того, чтобы, открыв скрипт через два года сходу понять, что
> там вообще происходит и какую сущность куда пихают.

Даже в С, что не парится с этим, люди давно придумали префиксы:

strVar, sVar, nVar, iVar, pVar...


> 2) чтобы то же самое было понятно при открытии чужого скрипта.

Ну, да, перечитаь весь код, найти все дефайны переменых, запомнить по типам - это значительно "проще"

> 3) чтобы не было стимула костылировать "а мы сдеаем функцию, окторая умеет
> принимать десять вариантов чего попало и на них реагировать"

Это накостылят на любом языке если идиоты, так что не поинт

> 4) чтобы структурировать код - если функция принимает Book то Audiofile туда
> не запихнёшь.

Вы о чем вообще? Вы хотите ОЧЕНЬ простой ЯП, но собираетесь процесировать бинари потроха музыки?

> ...кода в той области применения, о которой я говорю (мелкие встроенные
> скрипты и мелкая автоматизация) не критично совершенно.

В мелких скриптах - типизация ???
И это вы называете простым читаемым кодом, где будет мазня символов сперва описывающих, потом применямых сущностей ?
Сорри, но категорию людей которых вы описали будут юзать сиё чудо, надо будет сперва обучить, а не сваливать на них концепты корпоративного програмирования.
А если они обучены, то им нафиг не сдался кастририванный ООП-образный шелл

Ответить | Правка | Наверх | Cообщить модератору

151. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 20:30 
Насчёт авка и шелла - сорри, но тут какое-то принципиальное непонимание. вы на моей памяти первый, кто их считает читаемыми и поддерживаемыми.

Префиксы - штука необязательная и не контролируемая. Следовательно, работать будет только если стиль энфорсится - ревью и прочее.

"Перечитать весь код" в пару экранов (а больше эти скрипты и не должны занимать) - очень сложно, конечно.

Накостялят на любом языке, да. Но на описываемом - очень неинтересно быдет костылить, а у таких товарищей понты - основная мотивация.

Типизация. 95% из которой должен дать хост в готовом виде. И типы, в силу общей примитивности всего, тоже примитивные, поэтому там и обучать нечему будет - достаточно школьного РАЯ или Паскаля.

Ответить | Правка | Наверх | Cообщить модератору

157. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 28-Янв-22, 15:08 
> Насчёт авка и шелла - сорри, но тут какое-то принципиальное непонимание. вы
> на моей памяти первый, кто их считает читаемыми и поддерживаемыми.

Наверное мы из разных "сословий" :)
Подучите awk и вы поймете, насколько он силен в сис-админских делах

> Префиксы - штука необязательная и не контролируемая. Следовательно, работать будет только
> если стиль энфорсится - ревью и прочее.

Если разговор о том, что нужно разбирать чей то код, это значит вас уже более чем два, а значит договорится о одинаковом стиле либо можно либо нужно

> Накостялят на любом языке, да. Но на описываемом - очень неинтересно быдет
> костылить, а у таких товарищей понты - основная мотивация.

Вы сравните на сколько больше писанины в ООП-е и функциональном програмировании. Зачем оно тем кто как вы говорите - ламеры. Вы их сперва должны обучить - "а зачем" эта абстракция.
Если бы вы когда нибудь преподавали програмирование, то вы бы знали, что даже банальный концепт переменной, по началу не  доходит до всех, а вы их сразу и в ООП


> Типизация. 95% из которой должен дать хост в готовом виде. И типы,
> в силу общей примитивности всего, тоже примитивные, поэтому там и обучать
> нечему будет - достаточно школьного РАЯ или Паскаля.

РАЯ - а это еще что за зверь ???

Ну так вот вы и нашли солюшен !

Проблема только в том, что на 99% машин его не будет установлено, а вот даш/бэш будет гарантийно везде и его более чем предостаточно для простой автоматики (если бить по рукам или просто быть в корпоративной среде, где правильный стиль,  это -обязательно)

Ответить | Правка | Наверх | Cообщить модератору

141. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Урри (ok), 27-Янв-22, 13:20 
Нахожу. Но он полностью соответствует озвученным критериям выше.

--
Лично я паскаль люблю, хотя и не использую уже лет 20.
Но вот год назад, где-то, с его помощью мой сын внезапно полюбил программировать.

Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

132. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (71), 26-Янв-22, 23:05 
Тогда Squirell - простой, Си-подобный, встраиваемый аналог Lua.
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

136. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 01:56 
Из описания:

dynamic typing
delegation
classes & inheritance
higher order functions
generators
cooperative threads(coroutines)
tail recursion
exception handling

Вот в данном случае это всё - антифичи

Ответить | Правка | Наверх | Cообщить модератору

139. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от OpenEcho (?), 27-Янв-22, 11:56 
> Из описания:
> dynamic typing
> delegation
> classes & inheritance
> higher order functions
> generators
> cooperative threads(coroutines)
> tail recursion
> exception handling
> Вот в данном случае это всё - антифичи

Чуть выше вы хотели "классы", теперь - нет.

Ответить | Правка | Наверх | Cообщить модератору

150. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 27-Янв-22, 20:22 
Я говорил о наследовании, а не о классах. Класс в минимальном виде - то есть структура с публичными данными и публичными же методами, которые не обладают никаким привилегиями относительно других функций,а просто сгруппированы вместе с данными - штука простая и полезная. Без наследования, конструкторов и прочих наворотов.
Ответить | Правка | Наверх | Cообщить модератору

154. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от PnD (??), 28-Янв-22, 11:51 
У меня такое ощущение что Вы подгоняете решение под ответ (go).
Но в "скриптовые" языки ни go ни python не пролезают по одной очень важной причине: чтобы просто выполнить из сценария какой-то внешний бинарь, надо писа́ть едва ли не полную обвязку к execve().

В своё время там где "*sh маловато будет" был очень популярен perl. Но там не очень удобно с многопоточностью. А потом вообще "поколение пепси^W продвинутого клинского" принялось переписывать всё на python.

В общем, ПМСМ "портянки на bash" ещё долго останутся мейнстримом. Невзирая на полное отсутствие разделения кода и данных. (Вот это настоящий кошмар, а не "всё есть строка".)

Ответить | Правка | Наверх | Cообщить модератору

156. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 28-Янв-22, 14:54 
> В общем, ПМСМ "портянки на bash" ещё долго останутся мейнстримом. Невзирая на
> полное отсутствие разделения кода и данных. (Вот это настоящий кошмар, а
> не "всё есть строка".)

В одной хорошо известной конторе в европе, эту проблему решили жестко и просто:
В качестве шелла - только dash/sh (для совместимости с мэинфрэймами) а все данные - в статически скомпилированный sqlite3, а также разделили репрезентацию в отдельные файлы которые грузятся "контролером" через . (source) по нужности.  В итоге получилась довольно таки шустрая, мультиплатформенная ><реновина с MVC парадигмой и надо отдать должное, довольно таки читаемая и понятная. В итоге система перекатывается через мажорные апгрейды без всяких поломок и работает без изменений на разных никсах как часики

Ответить | Правка | Наверх | Cообщить модератору

155. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 28-Янв-22, 14:37 
> Класс в минимальном виде - то есть структура с публичными данными и публичными же методами

Зачем такая кастрация?
Это и не нормальный ООП и не нормальный "простой" инструмент.

Классы нужны только для того, чтобы разделить большие куски кода, чтобы он не "нaезжал" именами переменных/функций друг на друга.
  И все !
Мы еще лет 30 назад такое делали в ассемблере, чтобы не мешать друг другу. Делаешь структуру, в нее пихаешь указатели и по меткам получаешь так называемые "классы", в которых указатели сгрупированны в этой одной структуре, все что относится к одному "классу".

Не нужно это все, если задача как вы ее расписали, - дебильно просто.
Зачем там классы ??? Простого фукционального програмирования более чем за глаза.
Чем больше букв, тем быстрее мозг теряет контроль над логикой(Тем более для тех, как вы сказали - новичков). Именно поэтому пытаются разбивать до "атомов" куски кода для программистов, чтобы люди концентрировались на маленьком куске кода. А если там классы, то это уже как миниум тянет на корпоративное изделие. Ведь именно для этого их и придумали, - чтобы разные группы не наступали на пятки друг другу.

Ответить | Правка | К родителю #150 | Наверх | Cообщить модератору

160. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Annoynimous (?), 28-Янв-22, 18:08 
>> Класс в минимальном виде - то есть структура с публичными данными и публичными же методами
> Зачем такая кастрация?
> Это и не нормальный ООП и не нормальный "простой" инструмент.

Ну вообще - это и не классы. Это нормальный Си или Паскаль :-D

В Си это называется struct, а в Паскале - record.
Внутрь кладём "процедурные переменные" :-)

C++, как говорят, в своих первых версиях как раз и был макро препроцессором к C

Ответить | Правка | Наверх | Cообщить модератору

162. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от OpenEcho (?), 28-Янв-22, 18:13 
> В Си это называется struct, а в Паскале - record.
> Внутрь кладём "процедурные переменные" :-)
> C++, как говорят, в своих первых версиях как раз и был макро
> препроцессором к C

О чем и разговор, - это просто абстракции, т.к. под капотом, ЦПУ понятия не имеет от таких заморочках

Ответить | Правка | Наверх | Cообщить модератору

88. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (83), 26-Янв-22, 13:12 
>Tcl

RMS его не одобрил. Guile рекомендовал.

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

131. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (71), 26-Янв-22, 23:00 
По политическим причинам, а еще подозреваю из-за NIH. Вместо него породили Bash. Guile - диалект Lisp со всеми плюсами и минусами, но да, его тоже посоветую для настроек и несложных скриптов.
Ответить | Правка | Наверх | Cообщить модератору

161. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Annoynimous (?), 28-Янв-22, 18:12 
> По политическим причинам, а еще подозреваю из-за NIH. Вместо него породили Bash.
> Guile - диалект Lisp со всеми плюсами и минусами, но да,
> его тоже посоветую для настроек и несложных скриптов.

тогда, если guile - то ещё и nix наверное

а вокруг их использования, как "языков для настроек" уж два как-бы-линкуса накрутили, так что и proof of concept есть

Ответить | Правка | Наверх | Cообщить модератору

27. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Аноним (26), 25-Янв-22, 23:18 
>вместо ранее применяемого движка Mozilla Gecko

Gecko - это браузер. Движок - это SpiderMonkey.

Ответить | Правка | Наверх | Cообщить модератору

30. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (26), 25-Янв-22, 23:24 
*JS-движок
Ответить | Правка | Наверх | Cообщить модератору

31. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +5 +/
Сообщение от Генри Форд (?), 25-Янв-22, 23:26 
Реально? В системных компонентах линукса крутится JavaScript?

Как фронтендер заявляю, эту псевдо операционную систему уже ничто не спасёт.

Ответить | Правка | Наверх | Cообщить модератору

34. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Аноним (21), 26-Янв-22, 01:04 
в нгинксе комплекс секьюрити чеки можно делать через njs
в бровзерах помнится бывали PAC-скрипты, возвращающие адрес прокси-сервера по урлу страницы

Но здесь нельзя. Никак нельзя. Это другое. Ни в коем случае. Не-не-не. Вам не понять.

Ответить | Правка | Наверх | Cообщить модератору

40. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 01:52 
Между "можно делать" и "засунули по умолчанию" очень большая дистанция.
Ответить | Правка | Наверх | Cообщить модератору

67. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от john_erohin (?), 26-Янв-22, 11:01 
> бровзерах помнится бывали PAC-скрипты, возвращающие адрес прокси-сервера по урлу страницы

да, бывали. они больше не будут. мерзкое было изобретение.

wpad IN A 127.0.0.1

Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

41. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Crazy Alex (ok), 26-Янв-22, 01:53 
Это не "системные компоненты". Это так, один из возможных вариантов обвязок, хоть и очень распространённый.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

45. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (45), 26-Янв-22, 03:37 
Все спасет. Выкинуть "==" и допилить нормально систему типов и базовую библиотеку будет вполне нормальный язык. А прикрутить LLVM и компиляцию, так вообще сказка будет, но это уже скорее для TypeScript работенка.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

42. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –1 +/
Сообщение от deeaitch (ok), 26-Янв-22, 02:05 
Хорошая новость. Полезная информация. Всегда было на него плевать и не нужен был в embedded его функционал вообще не нужен (нет таких задач, всё жёстко завязано), а если где в сестеме и был (например на ноуте), я его не замечал. Теперь знаю что там внутри. Полезно, познавательно.

Это реальность. К сожалению.

Всем изветсно качество кода на javascript, не потому что он плохой, потому что там много зелёной школоты. Доказательством тому ежедневные сотни замечательных вещей в npm и прочих около javascript штуках. И проблема не в памяти как считают некоторые секты. К сожалению это реальность. И реальность такова что основные сейчас в Linux это дети из мира javascript.

Ну как есть. По крайней мере этот движок легче. Только те кто приписывает это к embedded, ребята, не позорьтесь. Календарьчик в телефоне на javascript для mail.ru это ещё не embedded. Да и вообще не embedded.

Но хоть стал легче. Может когда придут к более здравому решению. Опыт одной крупной компании уже доказал, что javascript в embedded (по крайней мере automotive) не место. Но дороги назад нет и они спешно делают велосипеды.

Учитесь на чужих ошибках, не повторяйте их. Удачи.

Ответить | Правка | Наверх | Cообщить модератору

97. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +1 +/
Сообщение от Урри (ok), 26-Янв-22, 14:17 
> Всем изветсно качество кода на javascript, не потому что он плохой, потому что там много зелёной школоты.

Нет. Именно потому, что он плохой.

Ответить | Правка | Наверх | Cообщить модератору

68. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от хрю (?), 26-Янв-22, 11:04 
Не совсем понятно - в polkit js примитивный донельзя и по идее там любой js двиг. подойдёт. Про duktape встречал несколько упоминаний, что его можно использовать с polkit. Или тут именно вкомпилировать его в сам polkit?
Ответить | Правка | Наверх | Cообщить модератору

78. "В Polkit добавлена поддержка JavaScript-движка Duktape"  –2 +/
Сообщение от . (?), 26-Янв-22, 12:29 
> и по идее там любой js двиг. подойдёт

и много ты их знаешь, "любых"?

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

Да и задача "сделать как в венде!" такого не предполагает.

Ответить | Правка | Наверх | Cообщить модератору

72. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от Ordu (ok), 26-Янв-22, 11:23 
Забавно вышло. Почитал новость: https://arstechnica.com/information-technology/2022/01/a-bug.../

Зашёл на опеннет полюбоваться cpaчем вокруг неё. А тут cpaчик по поводу того, что polkit js-движок встраивает. До обсуждения 0day ещё даже не дошло.

Ответить | Правка | Наверх | Cообщить модератору

74. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (20), 26-Янв-22, 12:11 
По мотивам новая новость. Там будет весь срачик по этому поводу.
Ответить | Правка | Наверх | Cообщить модератору

89. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +2 +/
Сообщение от Аноним (89), 26-Янв-22, 13:15 
> Язык JavaScript в Polkit используется для определения правил доступа, которые взаимодействуют с привилегированным фоновым процессом polkitd при помощи объекта "polkit".

Дискретного контроля прав доступа вполне хватает. Настройте DAC в дистрах и не изврасчайтесь с JavaScript.

Какой самый удобный формат для написания и просмотра правил контроля доступа?
https://www.linux.org.ru/forum/security/15600248?cid=15622030

systemd, dbus, polkitd+JS не нужны совсем:
https://www.linux.org.ru/forum/security/15600248?cid=15620606
https://www.linux.org.ru/forum/security/15600248?cid=15600880
https://www.linux.org.ru/forum/security/15600248?cid=15600757
https://www.linux.org.ru/forum/security/15600248?cid=15600633

Ответить | Правка | Наверх | Cообщить модератору

165. "В Polkit добавлена поддержка JavaScript-движка Duktape"  +/
Сообщение от arisu (ok), 29-Янв-22, 17:41 
и сразу соседняя новость: «Критическая уязвимость в PolKit, позволяющая получить root-доступ в большинстве дистрибутивов Linux». ой. как так-то?..
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру