LINUX.ORG.RU

Мы запихнули жабу в твою жабу чтобы ты мог жабить пока жабишь

TooPar ()

Согласен. Пушка.

Fabrice Bellard как всегда создаёт шедевры.

Сейчас помаленьку переписываю на qjs свои shell-скрипты с кучей grep и sed магии.

wandrien ()

Вы не можете создавать новые теги (quickjs)

Можно создавать при редактировании уже запощенной темы.

ЗЫ: QuickJS вещь, да. Как почти всё у Беллара.

Stanson ★★★★★ ()

Годный интерпретатор есть.

Осталось найти годные компактные библиотеки для консольного ПО, которые не тащат за собой половину репозитория npm.

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

Осталось написать годные компактные библиотеки для консольного ПО, которые не тащат за собой половину репозитория npm.

Исправил.

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

я думал ты ей применение нашел

Вот вот, я тоже подумал, что реально кто-то применил. А тут человек просто разморозился…

no-such-file ★★★★★ ()
Ответ на: комментарий от wandrien

Мне кажется deno для скриптов интереснее.

Ну и в отличие от ноды можно сделать бандл и просто скопировать на целевой комп

grim ★★★☆ ()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от grim

It’s built on V8, Rust, and Tokio.

Deno will always be distributed as a single executable. Given a URL to a Deno program, it is runnable with nothing more than the ~15 megabyte zipped executable. Deno explicitly takes on the role of both runtime and package manager. It uses a standard browser-compatible protocol for loading modules: URLs.

Комбайнёры.

Ну и в отличие от воды можно сделать бандл и просто скопировать на целевой комп

man qjsc

Или о чем речь?

wandrien ()
Ответ на: комментарий от no-such-file

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

а уж если это не кустарник то не меньше.

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

Комбайнёры

Насчет url - несколько непривычно, но все кэшируется на компе.

man qjsc

Не совсем. Но похоже

Речь о том что в отличии от ноды можно средствами дено сделать xxx.js файл, скопировать на другой комп и все будет работать без npm install

Многое совместимо с нодой и поэтому быстро переносят пакеты.

Мне лично для баловства в консоли самое то, если скрипт вырастает ха пределы 10 строк на баше

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

Комбайнёры.

Так нода тоже одним ~15мб бинарником, я хз, где он нашел критический недостаток.

It uses a standard browser-compatible protocol for loading modules: URLs.

Вот - хорошо. Трояны делать оч. удобно.

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

Речь о том что в отличии от ноды можно средствами дено сделать xxx.js файл

На ноде так сделать было нельзя? Или тут фишка в том, что минификатор вшили в дено? Как модули с бинарными либами будут работать?

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

Я правильно понял, что чтобы это собрать, нужно собрать V8, поставить Rust и еще черт знает что?

Чтобы собрать quickjs, нужен только любой компилятор Си.

Размеры:

$ pacman -Qql quickjs | grep '[^/]$' | xargs du -hs
1012K	/usr/bin/qjs
844K	/usr/bin/qjsc
0	/usr/bin/qjscalc
4,0K	/usr/include/quickjs/quickjs-libc.h
44K	/usr/include/quickjs/quickjs.h
9,8M	/usr/lib/quickjs/libquickjs.a
6,1M	/usr/lib/quickjs/libquickjs.lto.a
32K	/usr/share/doc/quickjs/jsbignum.html
152K	/usr/share/doc/quickjs/jsbignum.pdf
24K	/usr/share/doc/quickjs/jsbignum.texi
52K	/usr/share/doc/quickjs/quickjs.html
164K	/usr/share/doc/quickjs/quickjs.pdf
36K	/usr/share/doc/quickjs/quickjs.texi

Зависимости:

$ ldd /usr/bin/qjs
	linux-vdso.so.1 (0x00007fff8a192000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007ff82436c000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007ff824365000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007ff824344000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007ff824177000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff8245e5000)

Как по мне, это идеальное решение для мелкой скриптоты под Unix-like. Интерпретатор в 1 МБ и наконец-то вменяемый язык внутри, включая воркеры в отдельных потоках.

На днях попробую часть своей shell-скриптоты переписать.

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

Ваще-то основная его фишка - встраиваемость, а не для скриптоты, для скриптоты есть питон уже лет как 100, типа раньше ты не мог написать на питоне скрипты автоматизации, а щас, с появлением очередного js интерпретатора задумался - а не написать ли на js то, что уже написано на bash?

Между прочим, этих js машин полно, есть ещё v8, Hermes от Facebook, и другие прикольные и тоже мелкие имеются

menangen ★★★★★ ()

О, это же можно в cgi-bin засунуть и иметь JS на веб-сервере.

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

Между прочим, этих js машин полно

Мелкие - ни о чём. Там и ES6 не везде есть. quickjs более полноценный, плюс приделаны перегрузки и bigfloat/bigdec, которые тормоза никак не введут в язык. Может хоть сейчас им начнут клевать мозг и жс в стандарте дайбог 25-го года можно будет юзать для бух. херни без костылей.

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

Ваще-то основная его фишка - встраиваемость, а не для скриптоты, для скриптоты есть питон уже лет как 100, типа раньше ты не мог написать на питоне скрипты автоматизации, а щас, с появлением очередного js интерпретатора задумался - а не написать ли на js то, что уже написано на bash?

Лично мне просто приятнее писать на JS, нежели на всратом питоне и на беспомощном sh. И если упражнения в тасовании строк на sh еще можно как-то оправдать «переносимостью» и «компактной средой исполнения», то на питоне это чисто страдать из любви к страданию.

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

то, что уже написано на bash?

У меня практически ничего не написано на bash. Либо sh, если требования к запуску на кофеварке, в которой только busybox (или просто так исторически сложилось). Либо ruby на обычном лине.

Ваще-то основная его фишка - встраиваемость

О йе, и поэтому автор прокинул туда часть API POSIX по дефолту.

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

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

Лично мне просто приятнее писать на JS, нежели на всратом питоне и на беспомощном sh.

Не всрат он, и даже не думайте отправлять меня в ту тему.

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

Всё понял, питон всратый, а руби - не всратый, потому, что …

Ну да, ну да, ждём переписывания всяких ansible, salt на js просто потому, что кому-то js показался приятным при обработке строк ? Что? В питоне идеальная работа со строками, а в js что? Тупо регекспы? Признайся, ты на регекспах обрабатываешь строки и это всё ради чего тебе нужен js

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

Когда его заюзают для polkit уже?

Не напоминай.

У меня до сих пор культурный шок, хотя уже с полгода прошло, что ли, как я сделал это открытие. :(

Ска, у меня в системе по самые гланды засунут V8 ради того, чтобы polkit выполнил два скрипта по 10 строк каждый. Как раззнать это обратно?

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

В питоне идеальная работа со строками

Представления о качествах языка от поклонников питона.

В цитаты просто.

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

А зачем в тему о JS врывать с питоном, будто на форуме нет больше мест его обсудить? Вопрос к menangen-у на самом деле.

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

Зачем устраивать холивар?

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

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

существенен предмет холивара.

делать предметом холивара «будет или нет в треде холивар» отдаёт заведомо предпочтение одной из сторон участвующей в данной дисциплине спец олимпиады

в интересном холиваре отсутствует очевидность преимущества какой либо стороны

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

Так я не понял, холивар будет или нет? Что там такого «идеального» может делать пистон со строками?

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

Ну формальная — да.

Так с этим никогда не было никаких проблем. wandrien просто малодушничает и не хочет защищать «правое дело»™

menangen
питоне идеальная работа со строками, а в js что? Тупо регекспы?

menangen, так что там в пистоне такого «идеального»?

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

что там в пистоне такого «идеального»?

Смотря с чем сравнивать. Если с джаваскриптом — названия методов приятнее, есть прекрасные функции чр и орд, умножение строки.

А мне нравится работа со строками в Си.

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

названия методов приятнее

Вкусовщина

есть прекрасные функции чр

var chr = String.fromCharCode();

и орд

var ord = (str)=>str.charCodeAt(0);

умножение строки.

'x'.repeat(10) куда читабильнее, чем магическое умножение.
Нууу так себе. Пока никакой разницы нет.

А мне нравится работа со строками в Си.

Но как там работать с utf-8? Придётся же всё перегонять в кои-8р.

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

Осталось найти годные компактные библиотеки для консольного ПО, которые не тащат за собой половину репозитория npm.

Как-то не особенно хочется видеть скрипты еще и на js. Потому что уже есть примерно 5 языков таких же. Ну даже если взять самые-самые распространенные, то перла и питона (в двух вариантах) уже более чем достаточно.

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

Как по мне, это идеальное решение для мелкой скриптоты под Unix-like.

Можно скрипты на lua писать с таким же успехом. Но зачем?

bread ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)