The OpenNET Project / Index page

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

Новая версия встраиваемого JavaScript-движка от основателя QEMU и FFmpeg

22.01.2020 18:10

Французский математик Фабрис Беллар (Fabrice Bellard), основавший в своё время проекты QEMU и FFmpeg, опубликовал обновление развиваемого им компактного встраиваемого JavaScript-движка QuickJS. Движок поддерживает спецификацию ES2019 и дополнительные математические расширения, такие как типы BigInt и BigFloat. По производительности QuickJS заметно превосходит имеющиеся аналоги (XS на 35%, DukTape более чем в два раза, JerryScript в три раза, а MuJS в семь раз). Проектом предлагается библиотека для встраивания движка, интерпретатор qjs для запуска JavaScript-кода из командной строки и компилятор qjsc для генерации самодостаточных исполняемых файлов. Код написан на Си и распространяется под лицензией MIT. Подробнее о проекте можно прочитать в тексте анонса первого выпуска.

В новой версии добавлена экспериментальная поддержка типа BigDecimal, позволяющего манипулировать десятичными числами с произвольной точностью (аналог BigInt для чисел с основанием 10). Обновлена реализация перегрузки операторов. Добавлены примеры программ для эффективного расчёта числа Пи с точностью до миллиарда чисел после запятой (как математик, Фабрис Беллар известен как создатель самой быстрой формулы вычисления числа Пи).

  1. Главная ссылка к новости (https://bellard.org/quickjs/...)
  2. OpenNews: Основатель QEMU и FFmpeg опубликовал JavaScript-движок QuickJS
  3. OpenNews: Facebook открыл код JavaScript-движка Hermes
  4. OpenNews: Выпуск встраиваемого JavaScript-движка Duktape 2.4.0
  5. OpenNews: Выпуск серверной JavaScript-платформы Node.js 13.0
  6. OpenNews: Релиз 19.3.0 виртуальной машины GraalVM и реализаций Python, JavaScript, Ruby и R на её основе
Лицензия: CC-BY
Тип: Программы
Ключевые слова: quickjs, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (115) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 18:23, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +32 +/
    Фабрис как всегда молодец. Любой из его проектов мог бы стать венцом творения и гордостью для большинства программистов. А у него таких проектов больше десяти.
     
     
  • 2.2, Аноним (2), 18:32, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Bpg спустя 7 лет всё ещё сырой, никому ненужный, и даёт результаты хуже x265. И поддерживается только жаваскриптом на его сайте, но это не точно.
     
     
  • 3.6, Аноним (6), 19:44, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > и даёт результаты хуже x265

    В чем? Дает из 2 часов видео 1 кадр, а остального не видно?

     
     
  • 4.8, Аноним (2), 19:54, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это не про видео, это про картинки — их качество и размер. Bpg кстати тоже может x265 использовать, но на нужность это не влияет. Heic с hevc (читай x265) даёт много лучшие результаты.
     
  • 3.10, KonstantinB (??), 20:12, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Как он может давать результаты хуже, чем hevc, если там внутрях подмножество hevc?

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

     
     
  • 4.15, Аноним (2), 20:37, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Даёт же. Вначале сравнивал через штатную тестовую конвертилку разными параметрами кодера, потом добавил в скрипт с convert (IM умеет цеплять скомпилированный bpgenc), после чего прогнал на данных и оказалось, что bpg слишком придирчивый ко входным данным (попросту в нём баги) и heic стабильно лучше. Качество/размер тоже сравнивал.

    Это было ммм год назад, heif в линуксе всё ещё не поддерживается (обещают добавить в кути, почему-то никак не добавят — на тот момент уже был общепринятым распространённым форматом).

     
  • 4.46, Аноним (-), 04:54, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Как он может давать результаты хуже, чем hevc, если там внутрях подмножество hevc?

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

     
  • 3.13, VEG (ok), 20:28, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    BPG основан на HEVC/h265. Просто на тот момент HEIF ещё не был стандартизован. Как только последний появился, BPG устарел, так как HEIF выполняет его функцию - использовать алгоритм сжатия ключевых кадров из h265 для картинок.

    С тех пор уже успел появиться видеокодек AV1 с сопутствующим AVIF для картинок. А сейчас ещё ведётся работа над специальным форматом для веба JPEG XL (крутая штука, пытаются собрать все лучшие качества современных форматов для картинок, включая FLIF, в одном), который по задумке должен "всех победить" и стать новым стандартом в вебе.

     
     
  • 4.18, Аноним (2), 20:58, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу, спасибо за ликбез для интересующихся. Ну, будем надеяться что будет успешней jpeg2k. Вейвлет-кодирование это конечно круто, но файлы у него ужасно дутые выходили.
     
  • 4.20, Аноним (-), 21:02, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А проблемы с патентами эти господа "expert group" учли уже наконец? Или как обычно - промямлили что их хата с краю, так что в результате ни один браузер это не заимплементит, как с H.265? Ну тогда толку то будет с того что это "для веба"? Веб без браузера не работает. И сколько б россияне не вопили что штатовские патентым им не указ, кодить браузер сами на таком уровне они врядли станут - и значит патенты распостранятся и на них :)
     
     
  • 5.57, VEG (ok), 10:14, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Планируется, что стандарт будет свободным от выплат Над форматом работают Googl... большой текст свёрнут, показать
     
     
  • 6.69, Аноним (-), 13:14, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Звучит неплохо, и если патенты все же учли - глядишь даже может и взлетит, гугл вполне может это учесть, у них поиск по патентам хороший. Потому что без этого всякие умники нас едва не оставили даже без гифа и жыпегов в свое время. И как мне кажется, хранить еще и jpg всяко быстрее чем генерить его, место на дисках нынче довольно дешевое. Но как 1 из вариантов - идея интересная.
     
  • 2.17, Аноним (-), 20:56, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Фабрис как всегда молодец.

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

     
     
  • 3.32, menangen (?), 22:37, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Да у него на сайте тупо ссылки и ничего нет, ты о чём? Такой сайт за 2 дня делается левой пяткой
     
     
  • 4.33, Аноним (33), 22:56, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    6 дней делал шедевры, и только на седьмом решил по быстрому выложить. А что ещё надо?
    Даже если бы было какое-то медиа - не поверю, что это невозможно опубликовать без скрипта.
    Одним словом, KISS.
     
  • 4.47, Аноним (-), 04:57, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Да у него на сайте тупо ссылки и ничего нет, ты о
    > чём? Такой сайт за 2 дня делается левой пяткой

    А вот контент на нем - делается ни разу не за 2 дня. И не левой пяткой, что самое то главное. Впрочем, Фабрис и левой пяткой накодит свой софт получшще чем некоторые руками...

     
  • 4.56, Совершенно другой аноним (?), 09:23, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Совершенство достигнуто не тогда, когда нечего добавить, а когда нечего убрать.
    (с) Антуан де Сент-Экзюпери

    Одним из моих самых продуктивных дней был тот, когда я удалил 1000 строк кода.
    (с) Кен Томпсон.

    Сорри за оффтопик.

     
     
  • 5.82, Michael Shigorin (ok), 15:21, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Совершенство достигнуто не тогда, когда нечего добавить,
    > а когда нечего убрать.
    > (с) Антуан де Сент-Экзюпери
    > Одним из моих самых продуктивных дней был тот, когда я удалил 1000
    > строк кода.
    > (с) Кен Томпсон.
    > Сорри за оффтопик.

    В этой новости это не офтопик, а ценное замечание; спасибо!

     
  • 2.68, Аноним (68), 12:56, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А что он в этой версии исправил вот такие конструкции (=== ===== ==========) языка?
     

  • 1.3, Урри (?), 18:37, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Это ж насколько ЖС хороший, продуманный и великолепно реализованный, раз до сих пор все новые и новые движки для него делают, один быстрее и краше другого!

    Не язык, эталон просто! Вот все бы так.

     
     
  • 2.5, Аноним (5), 19:43, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто один из первых языков который написан для людей, а не для машин для которых тут выдели пять байт, тут зависимостей пучек, тут систему сборки, тут тесты, везде границы всех буферов проверь и райнтайме тоже на всякие проверь. И это только чтобы вывести слово Hello. А если вывести другое то все перекомпелируй и заново проверь.
     
     
  • 3.9, Аноним (9), 20:02, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    s/людей/обезьян/g
     
  • 3.23, Аноним84701 (ok), 21:07, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Просто один из первых языков который написан для людей, а не для
    > машин для которых тут выдели пять байт, тут зависимостей пучек, тут
    > систему сборки, тут тесты, везде границы всех буферов проверь и райнтайме
    > тоже на всякие проверь. И это только чтобы вывести слово Hello.

    Хм, а не расскажите, как проверить границы буферов или как (и зачем) выделить именно 5 байт на Prolog, Smalltalk, Lisp/ML или более молодежных, но все еще старше JS, Perl/Python/Ruby/Lua/Haskell/Java (или тьфу-тьфу-тьфу, VisualBasic)? :)

     
     
  • 4.30, анонимуслинус (?), 21:39, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на этих не получится. потому как интерпритатор считает)) для такого только с/с++ и парочка другая компилируемых. заметь все молодежные стараются уйти от этой модели для "легкости", молодежности или безопасности, но при этом жрать начинают значительно больше. ну а что вы хотели авто с механикой стократ управляемее и экономичнее, зато с автоматом только 2 педали и удобство в пробках, правда %7-14 плюсом по топливу)) каждый выбирает для себя. вот профи выберут механику без оговорок, а новички радостно сядут на автомат. фишка только в затратах на топливо и обслуживание.
     
     
  • 5.34, Аноним (34), 23:06, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    да вроде современные роботы и варики дают бОльшую эффективность по топливу чем механика
     
     
  • 6.37, Аноним (37), 23:26, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем ему что-то доказывать? Он до сих похоже ездит на некромашинах из 80х-90х. У него и механика надежней, и затрат топлива меньше, и профи выбирают механику.
     
     
  • 7.43, Ан оНим (?), 00:34, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На 25-м году водятельского стажа механика осточертела. Врёт он там выше про профи выбирают.

    И не знает о болезнях позвоночника в сочетании с характерными несимметричными движениями.

    Но это оффтопик.

     
     
  • 8.44, анонимуслинус (?), 00:59, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    не надо ля ля про роботов они стали лучше , но пока на этом все если ты работ... большой текст свёрнут, показать
     
  • 4.90, T1000 (?), 17:50, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В LuaJIT'е для этого есть FFI.
    Всё работает и с нативной скоростью.
     
     
  • 5.91, Аноним84701 (ok), 18:49, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В LuaJIT'е для этого есть FFI.

    Вы не поверите - FFI есть даже для/в реализаций Prolog (Perl или Python даже не упоминаю).
    "Но зачем?" ;)

    > Всё работает и с нативной скоростью.

    Не верю ;)

     
     
  • 6.92, T1000 (?), 19:18, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С верой - это в церковь.
    Есть FFI, а есть FFI в LuaJIT.
     
     
  • 7.95, Аноним84701 (ok), 20:21, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > С верой - это в церковь.

    А с голословными утверждениями куда?
    > Есть FFI, а есть FFI в LuaJIT.

    Есть FFI, есть FFI в LuaJIT с прямым вызовом (или что там сейчас является предметом гордости), а есть инлайн/lto.

     
     
  • 8.98, T1000 (?), 20:59, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А-а-а, понятно, вы, господин, просто не в теме ... текст свёрнут, показать
     
     
  • 9.99, Аноним84701 (ok), 21:11, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну-у-у 8230 это не я ворвался в новость о QuickJS, в каждом комментарии уп... текст свёрнут, показать
     
  • 4.96, Anonymoustus (ok), 20:46, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У него лучше получится рассказать, где купить пару планочек памяти и новый 100500-ядерный процессор.
     
  • 3.28, Аноним (-), 21:26, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А когда байты считать перестают - программа начинает стартовать 30 секунд, тупит... большой текст свёрнут, показать
     
     
  • 4.61, еукеекнмсч (?), 10:50, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    вот в том и дело
    ЭКОНОМИТ
    Ь если бы да кабы жЫть в идеальном мире в комунизме хде все работают ради фана то да а так
    ТЫ ЗАПЛАТИЛ ЗА СВОЙ СОФТ
    нет ну тогда кушай (реклама, телеметрия, тормоза, глюки итд)
     
     
  • 5.70, Аноним (-), 13:18, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот за что мне нравится опенсорц - так это за то что весьма солидный процент написан в том числе и ради фана. А у хороших програмеров вообще не поймешь где заканчивается одно и начинается другое - они настолько круто делают то что им нравится что народ начинает неизбежно хотеть дать денег за такие офигенные скиллы. И поэтому програмер уровня Фабриса да совсем уж без денег - это нонсенс.
     
  • 4.83, Michael Shigorin (ok), 15:25, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > И правда, не хватало релизить качественный софт, на радость юзерам,
    > имидж ничто, да?

    Вот тут и не смог плюсик поставить: как раз "качественный софт" и "имидж" (в смысле веб-страничка с избирательной лакировкой поверх кучки эээ... кодна) обычно находятся по разные стороны.  Как раз из вот тех экзистенциальных различий -- кому "имидж", кому суть.  Собственно, обсуждение около #17 об этом и было.

     
     
  • 5.106, Аноним (-), 01:09, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Позволю себе не согласиться. Как говаривал один известный человек, красивые самолеты - красиво летают. Это и к другим областям инженерии применимо и таки некий индикатор отношения к делу.

    Другое дело что какой-нибудь ffmpeg назвать некрасивым сложно. Ну например потому что я не смогу предложить красивый GUI для такого количества опций. Стало быть интерфейс ffmpeg - один из наилучших возможных в его ситуации.

     
  • 3.31, nelson (??), 21:48, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> один из первых языков который написан для людей, а не для машин

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

     
     
  • 4.62, CrazyAlex (?), 11:29, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Люли, которые в ладах с математикой - это очень специфические люди. Вплоть до повышенного процента знакомств с дуркой. А вот с нормальными людьми, как и с реальной архитектурой реального железа, функциональщина дружит слабо.
     
     
  • 5.71, Аноним (-), 13:20, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Математика сама по себе в чистом виде - весьма абстрактная штука. И использование компьютеров для вот настолько вот абстрактных задач - все-таки скорее экзотика.
     
  • 5.72, nelson (??), 13:22, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    на то она и функциональщина, чтобы быть чрезмезно абстрагированной от железа. хаскели, лиспы и т.д. - это ЯПы сверхвысокого уровня, которые, к слову, намного логичнее жабаскриптов и прочей хипстерщины, которая, как правило, являет собой высокоуровневый ЯП, наполненный фон-неймановскими атрибутами типа циклов. понятно, что функциональщина подойдёт далеко не для всех задач, но вот тот же Erlang появился по причине невозможности решения поставленной задачи на C++, что как бы намекает на то, что функциональные ЯПы являются не на 100% академическими, как их пытаются иногда охарактеризовать адепты растишек, гошек и пистонов.  
     
     
  • 6.78, Аноним (78), 13:50, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вообще-то Тюринг постулировал что все ЯП эквивалентны, так что "невозможность решения задачи на %s" - это заведомое вранье. Начиная с наглых подтасовок на уровне теоретических основ.

    Другое дело что кроме возможности есть еще практичность.  Но видимо у эрланга и с этим довольно средне, учитывая количество проектов на нем. Что еще интереснее, фирмы Эриксон с нами уже нет, да и телефония как таковая уже не в фаворе - voip во все поля.

     
     
  • 7.84, Michael Shigorin (ok), 15:28, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Что еще интереснее, фирмы Эриксон с нами уже нет, да и
    > телефония как таковая уже не в фаворе - voip во все поля.

    Необходимость маршрутизации потоков и прочие rbtree от этого никуда не делись :)

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

     
     
  • 8.109, Аноним (-), 02:14, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    сильно снизилась пакетные сети победили Можно реализовать эквивалентную фун... текст свёрнут, показать
     
  • 7.85, nelson (??), 15:29, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> Тюринг постулировал что все ЯП эквивалентны

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

    >> так что "невозможность решения задачи на %s" - это заведомое вранье

    с теоретической точки зрения - да, с экономической - вряд ли

     
     
  • 8.107, Аноним (-), 01:27, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Есть довольно большая разница между невыгодно и невозможно P А это уже дру... текст свёрнут, показать
     
  • 7.114, agent_007 (ok), 14:16, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Что еще интереснее, фирмы Эриксон с нами уже нет

    В Ericsson об этом, видимо, не знают. Поэтому по незнанию продолжают производить телекоммуникационное оборудование во вполне себе масштабах.

     
  • 6.97, Anonymoustus (ok), 20:52, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А процессор-то биты молотит одинаков — что вылезшие из Сишечки, что выпавшие из функциональщины. Разница лишь в количестве этих битов, ага. Из сишечки их почему-то получается меньше, процессору обработать их быстрее. Но мы ведь не бедные, нам купить новый процессор и пригоршню планок памяти — плёвое дело. Главное, чтоб ногорукий хвостатый программист не переутомился нечаянно.
     
     
  • 7.101, Аноним (101), 21:40, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Наговариваете на программистов.

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

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

    Вот и выходит что кто-то просто не любит считать .... Берем программистов отдел на C/C++ и PHP разработчиков и просим сделать сайт и что Вы думаете? Кто побеждает в этих соревнованиях?

     
     
  • 8.102, Аноним 80_уровня (ok), 21:50, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Определите понятие побеждает ... текст свёрнут, показать
     
  • 8.108, Аноним (-), 01:28, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А черт знает, но lwan ws и на сишечке довольно неплохо в это умеет Заодно кстат... текст свёрнут, показать
     
  • 7.103, nelson (??), 22:21, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ага, можно и гвозди отвёрткой забивать и саморезы молотком закручивать
     
     
  • 8.111, Аноним (-), 05:10, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А еще бывает такая штука как шурупгвоздь Не то чтобы дико популярное, но так то... текст свёрнут, показать
     
  • 3.35, Аноним (35), 23:09, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > для людей
    > слабая типизация

    Это ни для людей, ни для робот не подходит.

     
     
  • 4.73, Аноним (-), 13:29, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это для мелких скриптиков. Сабж для вот чего-то такого вот и сделан.
     
     
  • 5.104, Аноним (101), 22:29, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для этого уже Python 3 придумали и кучу всяких фреймворков поверх.
    Так что тут непонятно для чего оно нужно?
     
     
  • 6.115, Аноним (-), 19:43, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Для этого уже Python 3 придумали

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

    > и кучу всяких фреймворков поверх.

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

    > Так что тут непонятно для чего оно нужно?

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

     
  • 3.40, йо ж (?), 00:16, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    #
    do_something() unless $first_condition or $second_condition;
    #

    js для людей, говорите?

     
     
  • 4.59, Аноним (59), 10:26, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это типа на JS код?
     
     
  • 5.63, CrazyAlex (?), 11:31, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это как раз фраза, удобная для чтения человеком. Ибо изобреталась лингвистом.
     
  • 3.116, ivanpetrov (ok), 00:37, 31/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пучек? Что такое пучка?
     
  • 2.11, KonstantinB (??), 20:14, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Движков-то много, а нормального встраиваемого движка, по сути, и нет. Либо неполная реализация спецификации, либо внутри такое, что открыл, посмотрел и закрыл.

    Потому lua и пихают до сих пор везде.

    Беллардовский - первый хороший и по полноте поддержки спецификации, и по качеству кода.

     
     
  • 3.12, T1000 (?), 20:21, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ждем позорных тестов против LuaJIT.
    А так да, пускай лучше Луа "пихают" чем это недоподелие.
     
     
  • 4.21, Аноним (-), 21:04, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Монстры с JIT - это вообще совсем другая весовая категория. Если вам с jit - ну и рубайтесь тогда с v8 каким.
     
     
  • 5.65, T1000 (?), 12:46, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какие монстры, товарищ?
    Бинарник либы LuaJIT весит в релизе ~700Kb.
    Если V8 и пр. поделки весят неадекватные мегабайты, то просто говорит об уровне адекватности их авторов, а не о сложности задачи.
     
     
  • 6.74, Аноним (-), 13:33, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Бинарник либы LuaJIT весит в релизе ~700Kb.

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

     
     
  • 7.89, T1000 (?), 17:35, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Есть варианты с таким JIT'ом легче?
    Яблоки с яблоками пока бы уже сравнивать.
     
     
  • 8.112, Аноним (-), 05:11, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так я не знаю зачем кто-то притащился с JITом и либами на 700 кил в тред по с... текст свёрнут, показать
     
  • 4.25, KonstantinB (??), 21:16, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Для ембеддеда JIT далеко не всегда полезен.
     
  • 4.87, Michael Shigorin (ok), 15:32, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ждем позорных тестов против LuaJIT.

    О, я знал, кто мне его портирует на e2k (и, помнится, на riscv тоже).

     
     
  • 5.88, T1000 (?), 17:34, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И губозакаточную машинку в подарок...
     
     
  • 6.113, Аноним (-), 05:14, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В этом месте мы узнаем что у JIT с портабельностью конкретный гимор, например... что как-то не очень хорошее свойство для мелкого встраиваемого движка скриптинга без особых требований. А суперскорость... блин, можно взять и написать критичные части на си, чтоли.
     
  • 3.64, CrazyAlex (?), 11:32, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А нахрена встроенным движкам полная реализация всех последних завитушек? Там и 10%  всех этих фич не нужно
     
     
  • 4.75, Аноним (-), 13:34, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С другой стороны если там и завитушки, и скорость приличная, и код компактный - это, наверное, хорошо?
     
  • 3.86, Michael Shigorin (ok), 15:31, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому lua и пихают до сих пор везде.

    Ну почему, в polkit вот впихнули mozjs (при этом оставив "системные" правила на xml, как и раньше).  Хочется взять что-нибудь тяжёлое и...

     

  • 1.4, Аноним (4), 18:41, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> как математик, Фабрис Беллар известен как создатель самой быстрой формулы вычисления числа Пи

    не совсем верно, он улучшил формулу для нахождения произвольной цифры после запятой числа пи в двоичной представлении.
    https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80

     
     
  • 2.7, Аноним (5), 19:45, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ничто не мешает ему привлекать бесплатную студенческую силу и все лавры забирать себе.
     
     
  • 3.22, Аноним (-), 21:05, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Он лавров своими делами и без всяких студентов себе нарубил :)
     
  • 3.52, Аноним (52), 07:53, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ничто не мешает ему привлекать бесплатную студенческую силу

    Верно.

    > и все лавры забирать
    > себе.

    Заблуждаетесь. Чем больше учитель вырастил толковых специалистов - тем больше ему, как учителю, почёта.

     

  • 1.14, Аноним (14), 20:31, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    под Windows будет?
     
     
  • 2.24, Аноним (-), 21:08, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это для тех кто программит, однако - для встраивания скриптинга на js в их программы. При том мелкой аккуратной штукой а не супермонстрами-тяжеловесами типа V8 где ты быстрее родишь чем разберешься как его хотя-бы скомпилять, чтоли, не говоря про прикручивание в свою программу.

    Сам по себе код этой штуки вроде достаточно пофигистичный к тому виндус там или что еще. Так что если программишь под виндоус и прикрутишь в прогу это - ну тогда будет, очевидно.

     

  • 1.16, user90 (?), 20:40, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Простой вопрос о нужности встраиваемого (!) js-движка. Лично я постараюсь держаться подальше от любых проектов/девайсов, где ЭТО используется, если  только это не интернет-браузер.
     
     
  • 2.19, Аноним (2), 21:01, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какая разница? Особых рисков нет, если там нет JIT (в дефолтном spidermonkey он, по-моему, есть). Замена duktape давно нужна была. Теперь бы её ещё встроить в elinks, эх.
     
     
  • 3.27, IE 6.0 FOREVER (?), 21:19, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А какие риски у JIT?
     
     
  • 4.29, Аноним (2), 21:29, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    arbitrary code execution
     
  • 3.36, Аноним (34), 23:10, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Замена duktape давно нужна была

    а зачем? чем утка не угодила? вроде очень простая и компактная реализация

     
     
  • 4.38, Аноним (2), 23:36, 22/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    E5, медленная
     
  • 4.93, Аноним (101), 20:10, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Брошена утка и живет без поддержки.
    А допиливать там классы или еще чего-то ну нахрен нужно.
    А клиенты иногда используют странный код.
     
  • 2.41, Егор Мамонтов (?), 00:30, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    у меня небольшой проект по обработке результатов запросов к БД. Бэк на qt, клиент браузер по ws подключается к серверу, пользователь через через codemirror вводит js со строками sql, далее переданный скрипт на сервере выолняет sql запросы и при помощи js обрабатывает результаты ответов от БД, далее выводит через ws на клиента json, клиент строит всякие прелести. Сервер через классы предоставляет в JS пространство функцианал для тяжелых операций, если чтото мелкое посчитать то сравнить можно непосредственно js. И вот он ответ, я люблю скриптовые языки за то что их можно встроить в проект на с++, расширяя тем самым кейсы (ведь все варианты хотелок пользователя не предугадаешь). К сожалению  или к радости (думаю все же второе) не все до конца понимают чем все таки полезены скриптовые языки, говоря про безопасность и так далее ).
     
     
  • 3.50, Аноним (50), 06:53, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    звучит как редактор Visual Studio Code
     
     
  • 4.51, Егор Мамонтов (?), 07:52, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну если толко неболшой отголосок )) а так больще созвучно с node.js ) Обработка js, взаимодействие пока только через web socket (но мне очень понравилось), расширять функцианал классами c++. все это занимает весьма мало объема.
     
     
  • 5.80, Аноним (80), 14:02, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > расширять функцианал

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

     
     
  • 6.105, nen (?), 22:49, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше функциональность
     
  • 2.45, Аноним (45), 01:36, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы не пишете программу, в которой нужно что-то скриптовать на простом языке высокого уровня, то оно вам не надо.

    Скажем, почти во всех играх есть скриптинг: движок на плюсах, уровни-сцены - там, где декларативного описания недостаточно - скриптуются, чаще всего на lua. Учитывая бешеную популярность JS - вполне себе адекватная замена, выше вероятность что его и так уже человек более-менее знает.

    К безопасности это не имеет ровно никакого отношения - тут все контролируется движком, в который интерпретатор внедрен. Если движок дырявый - ну, да, проблема, но тут уже пофигу какой там интерпретатор для скриптинга.

     
     
  • 3.48, Аноним (-), 05:05, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > движком, в который интерпретатор внедрен. Если движок дырявый - ну, да,
    > проблема, но тут уже пофигу какой там интерпретатор для скриптинга.

    А вот не пофиг. В свое время Battle for Wesnoth пытался :) поюзать в этом качестве питон. Однако оказалось что секурно выполнять недоверяемую гадюку - mission impossible. А когда ремотно загружаемые аддоны типы карт и кампаний могут всю систему поиметь - это как-то ну вообще совсем не айс. И поюзали они в результате Lua. С которым таких проблем нет. Заодно список зависимостей урезался и они не имели кайфа с вечной несовместимостью версий в том террариуме.

     
     
  • 4.60, Аноним (60), 10:40, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > не имели кайфа с вечной несовместимостью версий в том террариуме

    Incompatibilities with the Previous Version в мануале каждой версии Lua как бы намекает.

     
     
  • 5.76, Совершенно другой аноним (?), 13:36, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Часть можно нивелировать правильно задав LUA_COMPAT_* в файле luaconf.h.
     
  • 5.110, Аноним (-), 05:05, 24/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И тем не менее, у этих вроде ничего не разваливается, в отличие от гадюки. Да и песочница секурная. Что как бы аргумент - ну вот зачем бы AI который ходы просчитывает иметь возможность у меня файл стырить и в сеть залить, например? :)
     

  • 1.26, Дихлофос (?), 21:16, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    нихрена себе у человека мозг, я и 1/100й такого как он не могу...
     
     
  • 2.42, anonymous (??), 00:33, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не расстраивайся. И среди других людей мало кто может.
     
  • 2.54, ыы (?), 09:14, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Студенты пишут компиляторы с придуманных недоязыков нараз. А потом просто пописывать дописывать и дописывать..
    Ну и не забывать дописывать в новостях: "от основателя ... " а то ведь продут мимо и не заметят.. :)
     
  • 2.100, Аноним (101), 21:36, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А чего там у него с мозгом удивительного? Другое дело, что он почему-то дохрена всего знает, а вот это уже интеерсно когда он это изучает и по работе или нет?
     

  • 1.39, Егор Мамонтов (?), 23:57, 22/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно в QJSEngine какой движок используется?
     
  • 1.49, Аноним (50), 06:50, 23/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Французский математик
    > опубликовал обновление развиваемого им компактного встраиваемого JavaScript-движка QuickJS

    js движок которые реализовала математик
    очень странное явление - чтото тут пошло не так или есть какойто подвох

    математики обычно просто берут какой нормальный мощный язык типа haskell/ocaml...

     
     
  • 2.55, ыы (?), 09:17, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    было бы странно если бы это сделал тракторист... или менеджер салона сотовой связи... тогда да, какойто подвох...

    а у человека специальное образование.

     
     
  • 3.66, Аноним (50), 12:52, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну а цель то какая у проекта?
    просто just for fun - pet project?

    или легковесная замена bash для людей из мира nodejs?

     
  • 3.77, Аноним (77), 13:38, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Бывают и умные трактористы...
     
     
  • 4.94, Аноним (101), 20:12, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда и трактор у него беспилотный, а он тогда уже не тракторист.
    Голова определяет профессию.
     
  • 2.58, Аноним (58), 10:15, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну да, а когда анестезиолог делает планировщик задач для ядра ОС - не странно. И числомолотилку сделал - тоже не странно.
     
     
  • 3.67, Аноним (50), 12:53, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    он ее на живых клетках человека делал?
     
     
  • 4.79, Аноним (-), 13:55, 23/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Неа, сперва на видеокартах амд, потом на asic'ах.
     

  • 1.81, Michael Shigorin (ok), 15:16, 23/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Эх, нет у меня пока для него stdatomic.h...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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