The OpenNET Project / Index page

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



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

"Основатель QEMU и FFmpeg опубликовал JavaScript-движок QuickJS"  +/
Сообщение от opennews (??), 11-Июл-19, 23:14 
Французский математик Фабрис Беллар (Fabrice Bellard), основавший в свое время проекты QEMU и FFmpeg, а также создавший самую быструю формулу вычисления числа Пи и разработавший формат изображений BPG (https://www.opennet.ru/opennews/art.shtml?num=41198), опубликовал первый выпуск нового JavaScript-движка QuickJS (https://bellard.org/quickjs/). Движок отличается компактностью и ориентирован на встраивание в другие системы. Код проекта написан на языке Си и распространяется  под лицензией MIT. Также доступна сборка движка, скомпилированная в  WebAssembly при помощи Emscripten и пригодная для выполнения в браузерах.

Реализация JavaScript поддерживает (https://bellard.org/quickjs/quickjs.html) спецификацию ES2019, включая модули, асинхронные генераторы и прокси. Опционально поддерживаются нестандартные математические расширения (https://bellard.org/quickjs/jsbignum.html) для JavaScript, такие как типы BigInt и BigFloat, а также перезагрузка операторов (https://ru.wikipedia.org/wiki/%D0%9F%D0%...).


Кроме библиотеки для встраивания движка в приложения проектом также  предлагается интерпретатор qjs, который можно использовать для запуска JavaScript-кода из командной строки. Более того, доступен компилятор qjsc, способный на выходе генерировать пригодные для обособленного запуска исполняемые файлы, не требующие внешних зависимостей.


По производительности QuickJS существенно превосходит (https://bellard.org/quickjs/bench.html) имеющиеся аналоги, например, в тесте
bench-v8 опережает движок XS (https://github.com/Moddable-OpenSource/moddable) на 35%, DukTape (https://duktape.org/) более чем в два раза, JerryScript (http://jerryscript.net/) в три раза, а MuJS (https://mujs.com/) в семь раз.


Основные особенности:


-  Компактность и простота встраивания в другие проекты. Код включает лишь несколько файлов на языке Си, не требующих для сборки внешних зависимостей. Скомпилированное простейшее приложение  занимает около 190 Кб;
-  Очень высокая производительность и быстрое время запуска. Прохождение 56 тысяч тестов на совместимость с ECMAScript занимает около 100 секунд при выполнении на одном ядре обычного настольного ПК.   Инициализация runtime занимает менее 300 микросекунд;
-  Почти полная поддержка спецификации  ES2019 и полная поддержка приложения "B", определяющего компоненты для совместимости со старыми web-приложениями;
-  Полное прохождение всех тестов из набора ECMAScript Test Suite;
-  Поддержка компиляции в кода на языке Javascript в исполняемые файлы без внешних зависимостей;
-  Сборщик мусора на основе подсчёта ссылок без цикличного выполнения чистки, позволивший добиться  предсказуемого поведения и снижения потребления памяти;
-  Набор расширений для математических вычислений на языке JavaScript;
-  Оболочка для выполнения кода в режиме командной строки, поддерживающая контекстную подсветку кода;
-  Компактная стандартная библиотека с обвязками над Си-библиотекой.


Проектом также развиваются три сопутствующие Си-библиотеки, задействованные в QuickJS:


-  libregexp - быстрая реализация регулярных выражений, полностью совместимых со спецификацией  Javascript ES 2019;
-  libunicode - компактная библиотека для работы с Unicode;
-  libbf - реализация операций с плавающей запятой произвольной точности и трансцендентных функций с точным округлением.


URL: https://news.ycombinator.com/item?id=20411154
Новость: https://www.opennet.ru/opennews/art.shtml?num=51079

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

Оглавление

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


2. Скрыто модератором  –31 +/
Сообщение от rshadow (ok), 11-Июл-19, 23:16 
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. Скрыто модератором  +8 +/
Сообщение от _kpemail (ok), 12-Июл-19, 00:39 
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

68. Скрыто модератором  +6 +/
Сообщение от mumu (ok), 12-Июл-19, 09:17 
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

78. Скрыто модератором  –1 +/
Сообщение от пох. (?), 12-Июл-19, 10:10 
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

80. Скрыто модератором  –3 +/
Сообщение от e8e998feed8b11e88eb2f2801f1b9fd1 (?), 12-Июл-19, 10:11 
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

43. Скрыто модератором  +1 +/
Сообщение от Анонец (?), 12-Июл-19, 03:40 
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

51. Скрыто модератором  +/
Сообщение от Аноним (51), 12-Июл-19, 06:46 
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

57. Скрыто модератором  –1 +/
Сообщение от Аноним (57), 12-Июл-19, 08:10 
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

73. Скрыто модератором  +8 +/
Сообщение от Аноним (73), 12-Июл-19, 09:57 
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –5 +/
Сообщение от менанemail (?), 11-Июл-19, 23:17 
Класс, со временем прикрутят JIT, и можно будет создать убийцу Electron!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

77. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +3 +/
Сообщение от bw (ok), 12-Июл-19, 10:06 
Для Electron ещё нужны DOM, CSS, рендер и т.д., так что всё равно те же 100Mb получатся.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

124. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (124), 12-Июл-19, 18:11 
С таким грамотным подходом получится сильно меньше чем 100 Мб. Opera когда-то была живым примером. Ничего не мешает повторить тот же опыт, были бы заинтересованные. Корпорациям, очевидно, совершенно по барабану. И это печалит.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

139. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (139), 13-Июл-19, 04:12 
У opera был чудовищный код с кучей костылей и if'ов под каждый случай, это не лучший пример.
Ответить | Правка | ^ к родителю #124 | Наверх | Cообщить модератору

149. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (149), 13-Июл-19, 11:18 
Но оно работало. И весило, и кушало при этом мало. В вопросах оптимизации не до красоты кода. Да вы в исходник сабжа загляните - сплошная математика, но, как видно, обходит другие реализации по всем параметрам.
Ответить | Правка | ^ к родителю #139 | Наверх | Cообщить модератору

140. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (140), 13-Июл-19, 06:03 
С каким грамотным? Разработчик смог сделать урезанную и медленную реализацию js для встраивания. Ок.
Но причем здесь электрон? Сделать медленную и урезанную реализацию браузера, которой невозможно будет пользоваться из-за низкой производительности...
Ответить | Правка | ^ к родителю #124 | Наверх | Cообщить модератору

148. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (149), 13-Июл-19, 11:15 
Ну, судя по тестам, получилось лучше всех из тех, что реалистично написать 1-2 людям, конечно. Если поставить его архитектором и мейнтейнером группы программеров, уверен, что порвет остальные реализации. И я сильно сомневаюсь в том, что V8 - достижимый предел по оптимизациям. Можно быть быстрым и при меньшем потреблении ресурсов.
Ответить | Правка | ^ к родителю #140 | Наверх | Cообщить модератору

4. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +11 +/
Сообщение от Аноним (4), 11-Июл-19, 23:20 
перезагрузка оператора это когда он завис что ли?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от foi (?), 12-Июл-19, 04:59 
Речь про ПЕРЕОПРЕДЕЛЕНИЕ ИМЕНИ
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

46. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +4 +/
Сообщение от Vasya777rus (?), 12-Июл-19, 05:33 
Не, это перегрузка
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

59. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (59), 12-Июл-19, 08:23 
Не надо тут капсом писать, мы знаем что такое перегрузка операторов и функций, в статье написано "перезагрузка".
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

60. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –6 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 08:44 
>что такое перегрузка операторов и
>написано "перезагрузка".

Б[уха]дь .

Поднимем же стакан светлую память издательства "Мир" и профильной академии...   Академики работали, переводили забугорное, _словари_ терминов столбили... для нас,  немытых пейзан.

Теперь только :/ собственные потуги.   #пичально-я-гляжу-на #пятница #опять-нет-повода-не...  #о-терминах

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

72. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от hiveliberty (ok), 12-Июл-19, 09:55 
Написано ведь в новости, "перегрузка", а не "перезагрузка"..
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –16 +/
Сообщение от Урри (?), 11-Июл-19, 23:20 
Ну вот и поправил бы сразу язык, выкинув из него все говно. Может и получилась бы конфетка.

А так - вся производительность тут же умрет под новым провоцируемым языком говнокодом.

[] == ![] // true
[1, 2, 3] + [4, 5, 6] // '1,2,34,5,6'
[,,,].length // 3

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

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

11. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +12 +/
Сообщение от Аноним (11), 11-Июл-19, 23:32 
> [] == ![] // true
> [1, 2, 3] + [4, 5, 6] // '1,2,34,5,6'
> [,,,].length // 3

Сколько бы работодателей ни сменил, нигде не видел этих теоретических примеров. Зато я их видел в статьях типа "смотрите какая приколюха".

Но! Ты можешь меня легко опровергнуть, приведя в каком-нибудь гитхабе реальные примеры твоим трем кускам кода. Ждем опровержений, так сказать. Язык же провоцирует, как ты говоришь? Следовательно, ожидаются не пара ссылок, а пара десятков ссылок, найденных __сходу__ и за 15 минут начиная с 00:00 MSK (даю тебе 30 минут на рефреш страницы и обнаружение моего ответа, сейчас 23:32 MSK).

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

41. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от kiwinix (?), 12-Июл-19, 02:15 
Да ну третий пример +- иногда используется, даже в PHP можно так запятые ставить.

И ваще то, это фича, которую юзают! Кажись так можно пропускать переменные при деструктуризации

const [first,,third] = [1,2,3];

Но я не чекал, работает ли такой код, я с телефона

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

61. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Евгений (??), 12-Июл-19, 08:48 
Чего???

$ php -r 'var_dump([,,,]);'
PHP Fatal error:  Cannot use empty array elements in arrays in Command line code on line 1

Fatal error: Cannot use empty array elements in arrays in Command line code on line 1

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

86. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (86), 12-Июл-19, 11:34 
не, там прикол в другом - в третьем примере по логике ответ должен был быть 4
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

95. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Mmrnmhrm (?), 12-Июл-19, 12:44 
Кому был должен? Ты выясни, чисто для себя, что такое .length - в данном случае он работает так, как ему положено
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

117. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от mickvav (?), 12-Июл-19, 16:35 
Нет, там [1,2,] == [1,2] поэтому empty между последней запятой и закрывающей скобкой не создается.
В python, кстати, тоже можно так писать - [1,2,] и это то же самое, что и [1,2]
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

145. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (140), 13-Июл-19, 09:39 
Реально используемый код
[
  "one",
  "two",
  "three",
]
По Вашей логике там должен быть пустой элемент в конце. А по логике разработчиков языка запятая в конце позволяет избежать ошибки при добавлении последующих элементов. Например
[
  "one",
  "two",
  "three"
  "four"
]
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

93. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Mmrnmhrm (?), 12-Июл-19, 12:38 
Если с андроеда - ставишь termux и можно прогать )
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

88. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –6 +/
Сообщение от Урри (?), 12-Июл-19, 11:46 
Так я об этом и написал: язык является таким скопищем граблей и ловушек, что приходится избегать(!!!!) базовых вещей.

Вот еще:
1 < 2 < 3 // -> true
3 > 2 > 1 // -> false

Отличный язык, да.

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

91. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (11), 12-Июл-19, 12:21 
> Отличный язык, да

Иногда лучше жевать, чем говорить.

$ cat ./fgh.c
#include <stdio.h>
void main () {
  printf("1 < 2 < 3: %d\n", 1 < 2 < 3);
  printf("3 > 2 > 1: %d\n", 3 > 2 > 1);
}
$ gcc ./fgh.c && ./a.out
1 < 2 < 3: 1
3 > 2 > 1: 0

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

96. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +4 +/
Сообщение от Аноним84701 (ok), 12-Июл-19, 12:46 
> $ gcc ./fgh.c && ./a.out
> 1 < 2 < 3: 1
> 3 > 2 > 1: 0

Как будто кто-то утверждал, что сишка в этом плане лучше (один только препроцессор чего стоит)
Хотя там грабли все таки больше исторические, обратно-совместимые, сразу со встроенным грабле-детектором:


% gcc -Wall fgh.c
fgh.c:2:6: warning: return type of 'main' is not 'int' [-Wmain]
void main () {
      ^~~~
fgh.c: In function 'main':
fgh.c:3:35: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]
   printf("1 < 2 < 3: %d\n", 1 < 2 < 3);
                                   ^
fgh.c:4:35: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]
   printf("3 > 2 > 1: %d\n", 3 > 2 > 1);

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

101. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +7 +/
Сообщение от Аноним (11), 12-Июл-19, 13:28 
Грабледетектор - это конечно хорошо, но если разработчик берет свои ожидания не из спецификации языка, а откуда-то из воздуха ("ну вроде очевидно же"), то он ошибся профессией. Какого результата он ожидал от [1,2,3] + [4,5,6]? Ожидал ли он результат в виде [1,2,3,4,5,6]? Или там должно было быть [5,7,9]? Или [1,2,3,[4,5,6]]? Или вовсе 21? А если бы операндами были массивы массивов, ожидал ли он сложение матриц?

Толковый разработчик, не знающий языка, сразу должен заподозрить, что конструкция "массив + массив" может означать всё, что угодно, и поэтому он тут же пойдет прояснять поведение в спецификации языка. А бестолковый примет за ожидаемое поведение единственный вариант, до которого сумел додуматься.

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

118. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Урри (?), 12-Июл-19, 16:39 
Вы путаете разработчика и кодера, сиречь обезьяну, переводящую готовый алгоритм на одном языке на другой.

Толковый разработчик не должен держать в голове пятьсот взаимоисключающих параграфов (таких как true + true дает 2, или "+" - это конкатенация, а "-" - это математическая операция) нужного говноязыка, он должен легко и просто записать на выбранном языке разрабатываемый алгоритм; при этом быть защищенным от большинства интуитивных ошибок.

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

И это не только мое мнение. Это подтверждается постоянно изобретаемыми языками, фреймворками и тулзами поверх JS. Такого зоопарка языков "ну хоть как-то превратить программирование на js из изврата в программирование" больше нигде нету.
46 языков (https://www.slant.co/topics/101/~best-languages-that-compile...), главная цель которых "мы не хотим писать на говне, мы хотим писать для веба комфортно"!!!

/Щас мне скажут: все эти люди - не программисты, они не могут зазубрить весь противоречивый экмаскрипт, поэтому пусть идут вязать лапти. Три раза хаха - когда одни зубрят почему нельзя добавить true и true, другие успешно реализуют алгоритмы и продают свою работу/.


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

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

125. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (11), 12-Июл-19, 18:42 
> Толковый разработчик не должен держать в голове пятьсот взаимоисключающих параграфов (таких как true + true дает 2, или "+" - это конкатенация, а "-" - это математическая операция)

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

У меня например таких ситуаций попросту не возникает. Если я положил в переменную число, то у меня там и будет число: туда я больше не положу ни массив, ни булево, ни что-то еще. Возможно у тебя в в for'e в while в switch'e одна и та же переменная хранит все, что бог на душу положит. Тут уж проблема в генах, а не в языке.

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

129. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Урри (?), 12-Июл-19, 22:49 
Ну вот видишь - все именно так, как я и говорил: "программист" джаваскрипт ходит строго по указанной дорожке между граблями, боясь сделать шаг влево или вправо. При этом еще и обвиняя тех, кто хотя бы указывает на присутствие оных грабель в невежестве и вообще глупости.

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

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

122. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Урри (?), 12-Июл-19, 16:56 
Прекрасное подтверждение тезиса "говноязык воспитывает говнопрограммеров".

Вы, я так понимаю, уже давно перестали понимать разницу между булевыми и числовыми значениями?
JavaScript содержит булевые значения, это true и false. True, это true. False, это false (если не верите мне, сами нажмите Ctrl+Shift+I и введите в консоли. 1 - это 1, а 0 - это 0. Тоже можете проверить. И true === 1 дает в результате false (а не, кстати, 0).

В С булевых значений нету в принципе, там есть только числа. Это низкоуровневой язык. JavaScript же содержит, это высокоуровневой язык. И typeof(false) дает "boolean", а не "number".

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

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

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

126. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (11), 12-Июл-19, 18:58 
> Вы, я так понимаю, уже давно перестали понимать разницу между булевыми и числовыми значениями?

Погоди-ка. Почему это Я не понимаю разницы, если это ТЫ раз за разом пишешь код, когда вместо строк и чисел складывается все, что угодно? Это же __твой__ код производит всякие трюкачества, поэтому у __тебя__ и проблемы. У меня таких проблем нет, в кодовой базе моих работодателей таких проблем нет, на гитхабе таких проблем тоже нет. Ты же не привел ссылки, верно? Пока ссылок нет, ты не сумел показать, что "проблема" носит какой-то массовый характер.

> разные(!) типы могут беспрепятственно неявно конвертироваться друг в друга

Как это неявно, если именно __ты__ своим оператором "+" запросил у языка привести булева и массивы в соответствующие типы? Если не хочешь приведений, клади в переменные строго один тип данных.

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

130. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Урри (?), 12-Июл-19, 22:54 
Дорогой аноним. Почему бы вам не попытаться прочитать то, что написано выше? Или программирование на джаваскрипте заодно и отучает понимать то, что пишут другие? Впрочем, не удивлюсь - ведь то, что написано на джаваскрипте, чаще всего делает совсем не то, что подразумевается. Например, арифметическая сумма является конкатенацией строк, в то время как разница - действительно арифметическая разница.

Но короче - я выше писал про разницу между булевыми и числовыми значениями, а так же о том, что ваш пример с С откровенно глуп (в контексте разговора), так как в С все является числом. В то время как в вашем любимом джаваскрипте это совершенно разные вещи.

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

133. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –4 +/
Сообщение от Аноним (133), 12-Июл-19, 23:52 
Без минимум двух десятков ссылок на гитхаб твои примеры исключительно сферическо-теоретические
Ответить | Правка | ^ к родителю #130 | Наверх | Cообщить модератору

17. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от Антон (??), 11-Июл-19, 23:49 
в чем проблема запомнить несложные преобразования сложных типов к примитивам и условия в котором они неявно производятся?
Да и достаточно использовать любой статический анализатор чтобы недопускать такие дурацкие вещи.
Зато у js так же много плюсов.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

66. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Mr. Beaver (?), 12-Июл-19, 09:13 
Тонюсенько набросил про "плюсы".  Молодец. А не взлетело потому что слишком уж тонко, эксперты опеннетика такую тоньшину не могут замечать
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

119. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Урри (?), 12-Июл-19, 16:42 
В том, что это совершенно излишне.

Ну вот представьте себе, что ваш язык не состоит не из "for", "repeat", "while", а из "+", "++" и "+++" соответственно.

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

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

52. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (52), 12-Июл-19, 07:19 
Это хорошо известное документированное поведение. Если оно для тебя в новинку - катись улицы мести!
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

58. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (57), 12-Июл-19, 08:13 
Что ж такое было в голове, у созавщего(их) _это_.
Такой инструёмент не нужен.
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

62. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 08:52 
> Что ж такое было в голове, у созавщего(их) _это_.
> Такой инструёмент не нужен.

Для метения улиц -- безусловно.  И для писания "ннужно"-камментариев.

То есть Вас лично никто не заставляет.  "Можете не приходить."

И Ваше мнение важно, не останавливайтесь, спасибо!

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

131. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от Урри (?), 12-Июл-19, 23:48 
Прекрасный язык:

var arr = [1, 2, 3, 4, 5, 6, 7, 8];
  arr[-1] = "yo wazzzup";
  console.log(arr.length); // > 8
  console.log(arr[arr.indexOf(99)]); // log's > "yo wazzzup"

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

81. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от e8e998feed8b11e88eb2f2801f1b9fd1 (?), 12-Июл-19, 10:13 
кто тебя заставляет такой код писать? JS никого не заставляет. Если хочешь такое писать изволь разобраться с приведением типов..
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

120. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Урри (?), 12-Июл-19, 16:43 
Когда мне надо - я пишу на тайпскрипте. Но, к сожалению, нормальных средств дебага (как уже 1000 лет есть в С) для него пока не создали.
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

89. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Урри (?), 12-Июл-19, 11:49 
Ну что я вижу по комментаторам - все пишут "тебя никто не заставляет по этим граблям прыгать" и "есть специально определенное практикой подмножество языка JS, на котором и надо писать, чтобы не проваливаться в ловушки и не получать граблями в лоб".

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

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

90. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от vitalif (ok), 12-Июл-19, 11:57 
Не выделишь - язык с динамической типизацией и без приведения типов неудобен
Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

132. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Урри (?), 12-Июл-19, 23:49 
lua. Все красиво, удобно и интуитивно понятно.
Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

137. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (137), 13-Июл-19, 03:42 
И индексы начинаются с 1. Спасибо, ешьте сами.
Ответить | Правка | ^ к родителю #132 | Наверх | Cообщить модератору

160. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Урри (?), 13-Июл-19, 20:28 
Индексация и должна быть с 1. Вся мировая математика считает с 1 - почему программисты должны каждый раз переделывать математику под себя, не забывая отнимать 1 от каждого индекса?
Более того - нулевой индекс лишен математического и семантического смысла.

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

Кстати, в лиспе (одном из древнейших языков) элементы считались с 1. И математики с удовольствием этим пользовались.

p.s. Я когда-то писал для МС математическую библиотеку, она вроде до сих пор где-то в недрах даже десяточки валяется. В ТЗ было написано: индексация векторов и матриц - с единицы. Совершенно никакой деградации скорости.

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

150. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от vitalif (ok), 13-Июл-19, 11:28 
> lua. Все красиво, удобно и интуитивно понятно.

и begin end, ага. убивать

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

92. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Совершенно другой аноним (?), 12-Июл-19, 12:24 
Безотносительно недостатков языка - если автор выделит язык "на котором можно легко и приятно писать, не опасаясь, что из-за близости ящика ананасов и яблок весь склад не взорвется", то это, наверное, уже будет не JavaScript. А новый язык, уже не особо сильно и нужен - их и так уже придумано достаточно много, а автор, к сожалению, не Google, у него нет таких ресурсов, чтобы популяризировать новый язык и создать большое сообщество под своей эгидой.
Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

97. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от gfederix (ok), 12-Июл-19, 12:54 
Ну давайте ещё вспомним операции с плавающей точкой. Всё-таки это применяемый на практике, живой язык. Не нравится пользуйте webassembly как прослойку, для "идеального языка" или обмазывайтесь TS с кофе.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

121. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Урри (?), 12-Июл-19, 16:44 
С вебассембли есть большая проблема - он еще не устаканился, поэтому эмскриптен, например, каждый месяц ломают обратную совместимость и каждый месяц приходится по новой вчитывать "что же они там в этот раз поломали".

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

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

123. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +3 +/
Сообщение от Урри (?), 12-Июл-19, 16:58 
Для идеального языка по работе с числами есть фортран и лисп.

(* 12345678987654321 78912345654321987)
; ==> 974226487611077725558868785855827

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

138. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (137), 13-Июл-19, 03:45 
Обратная запись. Ты наркомэн штолле?
Ответить | Правка | ^ к родителю #123 | Наверх | Cообщить модератору

166. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Урри (?), 14-Июл-19, 09:53 
Вот и выросло поколение...

Во-первых, не обратная, а прямая. Префиксная.

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

> (/ 12345 555)

823/37

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

172. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от gfederix (ok), 22-Июл-19, 14:04 
> Для идеального языка по работе с числами есть фортран и лисп.
> (* 12345678987654321 78912345654321987)
> ; ==> 974226487611077725558868785855827

Вы решаете не ту проблемму том же C++ для такой проблеммы можно просто класс написать, чтобы это решить.

А вы попробуйте вот такой пример скажем в scheme48:
> (+ 0.2 .1)

0.30000000000000004

Ну или
> (+ (/ 2 10) (/ (/ (log 10) (log 10)) 10))

0.30000000000000004

> (log (exp (/ 1 10)))

0.10000000000000007

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

105. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (105), 12-Июл-19, 14:42 
> [,,,].length // 3

А что тут не так? Лист не пустой, конечно длинна будет 3. Вот размер будет нулевой, или в жабе нету подчёта размера?

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

111. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Урри (?), 12-Июл-19, 15:31 
Четыре. Три запятые, четыре элемента.

О чем и речь.

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

151. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (140), 13-Июл-19, 12:07 
не будет он нулевой.
Это будет массив из 3х пустых элементов.
Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

146. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (140), 13-Июл-19, 10:01 
такие грабли есть у всех языков. Не используй автоматическое преобразование типов если не понимаешь как оно работает.
!![] == ![]
[1,2,3].concat([4,5,6])
new Array(4)
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

154. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (154), 13-Июл-19, 12:52 
> такие грабли есть у всех языков.

Правда? В Haskell, Clean, Miranda, МL, Mercury? Или может в семействе паскалевых, в Ada?

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

155. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (154), 13-Июл-19, 12:55 
> такие грабли есть у всех языков.

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

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

156. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от ksa242 (?), 13-Июл-19, 13:31 
isNaN(null) === false
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

167. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (167), 14-Июл-19, 13:04 
и тут он узнал что null и NaN это разные значения (и типы)
Ответить | Правка | ^ к родителю #156 | Наверх | Cообщить модератору

169. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от ksa242 (?), 14-Июл-19, 20:31 
Не в этом дело. По стандарту isNaN() всё, что не Number и не NaN, приводит к Number; и по стандарту же null приводится к +0, хотя, как ниже заметили, typeof null === "object", а object при приведении к Number по стандарту  должен давать как раз NaN. Поведение документировано.
Ответить | Правка | ^ к родителю #167 | Наверх | Cообщить модератору

168. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (167), 14-Июл-19, 14:11 
typeof null === "object"
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +21 +/
Сообщение от Аноним (6), 11-Июл-19, 23:21 
Толковый мужик. Я из математики помню только таблицу умножения.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –7 +/
Сообщение от _Vitaly_ (ok), 11-Июл-19, 23:22 
Про скорость верится с трудом. Скорее всего встроенные как интерпретаторы соревнуют. Это как если в современном браузерном движке просадить инлайновые кеши деоптимизациями. Скорость упадет в 4-10 раз.

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

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

35. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +5 +/
Сообщение от _kpemail (ok), 12-Июл-19, 00:46 
Для встраиваемых систем сейчас позарез нужен компактный Javascript, причём, вменяемость важнее скорости. Буду тестировать.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

8. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –3 +/
Сообщение от Антон (??), 11-Июл-19, 23:26 
Движок js, выполняемый в браузере это сильно конечно, но зачем???
А так самое интересное тут это компилятор. Можно ли будет, скажем, сервер под ноду скомпилировать, т.е. скомпилированный js + libuv
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

63. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 08:57 
> Движок js, выполняемый в браузере это сильно конечно, но зачем???

Мозила наконец-то выкиет неполиткорректный эйковский LISP ^W
js из бровзера же!

</Заживём>.

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

85. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (85), 12-Июл-19, 11:29 
> Можно ли будет, скажем, сервер под ноду скомпилировать, т.е. скомпилированный js + libuv

Возникает вопрос: а зачем вам тогда js сдался? Может писать на компилируемом языке сервер сразу и не заниматься ерундной?

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

87. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (86), 12-Июл-19, 11:38 
JS иногда позволяет починить такие косяки дизайна программ, которые в компилируемых языках починить просто невозможно, в нём отлично реализованы вские замыкания и прочие плюхи, которые весьма облегчают программирование (но не саппорт) и делают код более компактным и простым (ровно до момента пока автор этот код помнит)
Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

107. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (105), 12-Июл-19, 14:44 
> Компактность и простота встраивания в другие проекты. Код включает лишь несколько файлов на языке Си, не требующих для сборки внешних зависимостей. Скомпилированное простейшее приложение занимает около 190 Кб;

Не обязательно в браузере запускать интерпритатор. Достаточно говнореализациию от всяких мозилл и гуглов заменить.

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

9. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –3 +/
Сообщение от Аноним (-), 11-Июл-19, 23:26 
>javascript
>компактность

звучит как оксюморон

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

10. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +5 +/
Сообщение от gsdh (?), 11-Июл-19, 23:32 
Наконец-то, адекватная реализация.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (12), 11-Июл-19, 23:32 
А это можно вместо lua в качестве встраиваемого языка применять?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +7 +/
Сообщение от Аноним (16), 11-Июл-19, 23:46 
Как официальный Аноним оппенета официально запрещаю тебе использовать вместо lua данную js поделку. Во имя Линуса, Ядра и святого опесорсного духа.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

24. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (-), 12-Июл-19, 00:01 
> Во имя Линуса, Ядра и святого опесорсного духа.

Тебе имя автора ни о чем не говорит?

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

29. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (12), 12-Июл-19, 00:08 
Lua - MIT
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

33. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от IRASoldier_registered (ok), 12-Июл-19, 00:23 
И что? "Лицензия MIT (англ. MIT License) - лицензия открытого программного обеспечения (...)". Т.е. - open-source license.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

48. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –4 +/
Сообщение от gsdh (?), 12-Июл-19, 06:06 
> Т.е. - open-source license.

Господи, да сколько вам объяснять что опенсорс != свободный софт,

MIT и BSD != GNU и GPL, которые можно юзать везде

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

50. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (50), 12-Июл-19, 06:27 
Все можно использовать. Вопрос в том, что именно ты пишешь. Исповедования Столлмана (равно как и христианства, мусульманства, буддизма) пожалуйста оставляйте при себе и больше не позорьтесь.

Вот именно сейчас ты опозорил Столлмана, который тебе мильон раз объяснил, что GNU это философия (и акроним), а GPL это лицензия.

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

67. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 09:15 
> Все можно использовать. Вопрос в том, что именно ты пишешь.

Малыши http://www.opennet.ru/openforum/vsluhforumID3/112997.html#153
обижены http://www.opennet.ru/openforum/vsluhforumID3/116924.html#15
на GPL, FSF и лично деда Ричарда:

"" Да, для _проприертарщиков_ GPL-и более несвободны, чем пермиссивы. Это и я говорил неоднократно.
И да, так и задумано, так и надо.  ""

--  http://www.opennet.ru/openforum/vsluhforumID3/109155.html#41


>Исповедования Столлмана

Да, он вообще не понятно, чего там "на[би-бииип]кодил".  (про '!= GPL , ещё что-то")

То есть по впечатлению -- +<|-)  пермиссивщик же.

>пожалуйста оставляйте при себе и больше не позорьтесь.

Сразу, как толь ко Вы -- оставите при себе свои.  Обязательно.

> Вот именно сейчас ты опозорил Столлмана, который тебе мильон раз объяснил, что
> GNU это философия (и акроним), а GPL это лицензия.

У вас парное выступление?  Один наблосил, другой провентилировал-разбросал??   Ай,  "зрада".

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

65. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (65), 12-Июл-19, 09:06 
> Господи, да сколько вам объяснять что опенсорс != свободный софт,
> MIT и BSD != GNU и GPL, которые можно юзать везде

NIT и BSD также являются свободными. Они, кроме того, не являются копилефт-лицензиями, поэтому, в отличие от кода под GNU GPL, код под MIT или BSD действительно можно юзать везде. Учитывая, что это встраиваемая реализация, использование GPL или даже LGPL сильно ограничило бы область применения.

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

98. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 12:54 
>> Господи, да сколько вам объяснять что опенсорс != свободный софт,
>> MIT и BSD != GNU и GPL, которые можно юзать везде
> NIT и BSD также являются свободными. Они, кроме того, не являются копилефт-лицензиями,
> поэтому, в отличие от кода под GNU GPL, код под MIT
> или BSD действительно можно юзать везде. Учитывая, что это встраиваемая реализация,
> использование GPL или даже LGPL сильно ограничило бы область применения.

Ну, давай, давай про "ограничения"....

1) Нельзя в гугле.  Там только ASL, лояры не разрешают.
   http://www.opennet.ru/openforum/vsluhforumID3/116924.html#20
   1.1) в сони, в микрософтк (GPLv2==-им-гр-Торвальдса уже почти можно, но сейчас не об этом), в ...  не суть!
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#172
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#132

2) В твоём проекте, где ты мечтаешь (мечтатель!) жо..ть ^W невозбранно закрывать код и продавать, продавать.... продавать!!!
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#171
   http://www.opennet.ru/openforum/vsluhforumID3/116924.html#23
     & http://www.opennet.ru/openforum/vsluhforumID3/116924.html#20
   http://www.opennet.ru/openforum/vsluhforumID3/105044.html#45

3) Во FreeBSD.  Они идейные сторонноки первых двух пунктов:  "невдобнож аплаянс вендорам" страшый харам.
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#300
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#176
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#270
   http://www.opennet.ru/openforum/vsluhforumID3/114680.html#73
     & http://www.opennet.ru/openforum/vsluhforumID3/114680.html#25
     &&& http://www.opennet.ru/openforum/vsluhforumID3/114680.html#44
   http://www.opennet.ru/openforum/vsluhforumID3/114919.html#39

Более другие ограничения?
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#115

С этими -- вполне можно жить.
   http://www.opennet.ru/openforum/vsluhforumID3/82687.html#80
   http://www.opennet.ru/openforum/vsluhforumID3/116924.html#24

И, кстати!  Свобода(!!)
   http://www.opennet.ru/openforum/vsluhforumID3/116924.html#43
   http://www.opennet.ru/openforum/vsluhforumID3/114680.html#77
использования  --  совсем не страдает.

Да, "использование" -- в изначальном смысле,
   [[ссылка на словарь потеряна в аналах]]
не проприертарщическо-сексуально-мазохистском искажении.

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

143. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (50), 13-Июл-19, 09:17 
Ты очень много ссылаешся на других, а толком выразить свою мысль не можешь. Поясню для тебя на пальцах.

BSD/MIT просят сохранить копирайт, но с кодом велен делать, что хочешь. Эта просьба основа на законе об авторском праве (венская конвенция) и общечеловеческом отношении: все что не мой код, я обязан другим людям.

GPL требует открывать код при любом использовании кода под GPL. Это вирусная лицензия, смысл которой всегда создавать производный код под открытой лицензией.

Рассмотрим на примере. Есть два проекта, скажем библиотека для создания http сервера. Один проект под BSD, другой под GPL.

Ты решил написать веб-приложение на основе одной из этих библиотек, например, whois. Твой код это создание (инициализация) веб-сервера, клиент whois, html/js код.

В случае BSD твой код может быть под любой лицензией, в частности GPL.

В случае GPL - только GPL.

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

И снова, если ты выбрал GPL, то я обязан буду выпустить свой код под GPL. Если ты выбрал MIT или BSD, то я буду обязан лишь указать твой копирайт. В последнем случае ты будешь уверен, что я не присвоил себе твой код и точка.

Вывод. Чем лучше GPL или BSD определяет автор своего кода. А свой код ты можешь писать из-за разных внешних факторов.

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

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

И в чем свободность GPL? Даю ответ. BSD/MIT это свобода выбора автора [что делать с твоим кодом]. GPL - свободный код, везде и всегда, хочет автор этого или нет.

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

157. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Andrey Mitrofanov_N0 (??), 13-Июл-19, 14:29 
> Ты очень много ссылаешся на других, а толком выразить свою мысль не

???!  Там почти все ссылки на меня-любимого.  Ты толком читать не научился?

> можешь. Поясню для тебя на пальцах.

Купи себе циркулярку, распальцовщик...

Всё это жовано-переобсосано тыщу раз.   Поэтому тыща ссылок.
Нет, твою простыню я читать не буду.   Как и ты мою.
Разговор не задался.

Да?

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

106. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Dheev (?), 12-Июл-19, 14:44 
GPL можно использовать не везде. В проприетарные компоненты встраивать нельзя.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

128. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (128), 12-Июл-19, 19:21 
Проблема не только и не столько в проприетарщине. GPL-код нельзя линковать с кодом под кучей других свободных лицензий: https://www.gnu.org/licenses/license-list.html#GPLIncompatib...
Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

109. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –3 +/
Сообщение от Аноним (105), 12-Июл-19, 14:46 
В GPL обязательно открытие исходников (только в 3.0, в 2.0 есть лазейки). В остальном MIT ничем не отличается. Ну да, MIT можно в проприетарщине юзать и не давать никому исходники, это минус.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

170. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Andrey Mitrofanov_N0 (??), 15-Июл-19, 08:38 
> В GPL обязательно открытие исходников (только в 3.0,

Нет.  Не "открытие исходнков", а "предоставление прав".
И не "откытие"  вааще, а предоставление [тех же] прав получателям кода.

Нет.  Выкладывать  винтеренет _не_обязательно_. Но можно, да.

Вас покусали!   Срочно сделайте прививку от гпл-опенсорсия.  А то так и до гидхаб-пермиссивия не далеко.

"" --Резать!  Резать к ч.м., не дожидаясь перитонита. ""

>в 2.0 есть лазейки).

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

116. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от IRASoldier_registered (ok), 12-Июл-19, 16:31 
> Господи, да сколько вам объяснять что опенсорс != свободный софт,

Не надо никому ничего объяснять - то, что ты пытаешься объяснить не имеет отношения к СУТИ вопроса.

> MIT и BSD != GNU и GPL, которые можно юзать везде

Вот ещё один GPL-зацикленный... Кто-то запрещает использовать везде выложенное под MIT? Вот как НАДО формулировать вопрос. Не "но это же не GPL?" (и не "а что по этому поводу говорит Столлман?", бгг), а "что мне позволяет MIT?".

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

64. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 09:00 
> И что? "Лицензия MIT (англ. MIT License) - лицензия открытого программного обеспечения
> (...)". Т.е. - open-source license.

Как что?!1  Она же напрочь отбивает у анОнимов чувство прекрасного, глымления и сарказЬму.   Бида с ней.

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

18. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Crazy Alex (ok), 11-Июл-19, 23:49 
Тот же ducktape сто лет как можно
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

19. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (65), 11-Июл-19, 23:50 
Я тебе по секрету скажу: вон те аналоги, которые в новости перечислены, уже давно именно так и применяют. Правда не знаю, зачем, если есть lua.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

20. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (20), 11-Июл-19, 23:53 
Для встраивания всё есть. Так что можно, разрешаю
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

13. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (16), 11-Июл-19, 23:44 
А мужики то и не знают что встраиваемые системы надо на джава скрипте писать а не на С. Завтра им обязательно сообщу что они ерундой занимаются.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Антон (??), 11-Июл-19, 23:45 
C заменять не надо. А вот вместо питона было бы отлично.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

21. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +11 +/
Сообщение от Аноним (-), 11-Июл-19, 23:56 
Если Беллар не мужик, то я не знаю кого ты зовешь мужиками.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

147. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от Аноним (147), 13-Июл-19, 10:05 
Не путай с "мужчиной". Исторически "мужик" - это крестьянин, почти раб "дворянина".
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Crazy Alex (ok), 11-Июл-19, 23:57 
1) "Встраивание в другие системы" и "встраиваемые системы" - разные вещи.
2) Удивись - питон тот же ещё в avr и PIC упихивали. О бейсике и том, на чём в своё время крутился, и не говорю - тогдашние компы мощи нынешней встройки могут только позавидовать.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

36. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от _kpemail (ok), 12-Июл-19, 01:03 
> А мужики то и не знают что встраиваемые системы надо на джава
> скрипте писать а не на С.

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

Помимо всяких контоллеров, Javascript/Lua есть в фотоаппаратах, контроллерах телескопов...
Быстродействие скриптов в таких применениях некритично, достаточно что бы они не создавали проблем из за частичного соответствия стандартам.

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

15. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +4 +/
Сообщение от andyemail (??), 11-Июл-19, 23:45 
нужно сравнение по производительности с v8
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (22), 11-Июл-19, 23:56 
Какой смысл сравнивать слона с таксой? Лучше сравнить с той же lua
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

28. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от kEKS (?), 12-Июл-19, 00:07 
V8 тоже встраиваемый js-движок (про node.js не слышали?). В чём проблема сравнить?
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

32. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +3 +/
Сообщение от Аноним (22), 12-Июл-19, 00:22 
V8 такой же встраиваемый, как cpython. Тут же речь про компактность. Ну обгонит V8 раз в 10 и дальше что? Какой вывод из этого можно сделать? То что жирный монстр с jit и морем оптимизаций уделал компактный двиг? Вот это неожиданность.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

158. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Michael Shigorinemail (ok), 13-Июл-19, 15:38 
О, у нас снова User294 :)
Привет!
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

69. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 09:29 
> Какой смысл сравнивать слона с таксой?

Нода-и хрома- фаги увидели Возможность!  В новости написано ж "быстрее!"

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

Эффективные оптимизируют.

>Лучше сравнить с той же lua

Вот и Вы тоже -- участвуете, ищете микрооптимизаций и бузинес проффитов, задаёте "интересные вопросы", да?

Поеннет, пятниця -- жизнь бурлит....  //И да, Беллард - титан.

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

40. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +5 +/
Сообщение от НяшМяш (ok), 12-Июл-19, 01:47 
Взял из их архива bench-v8, сбилдил QuickJS и сравнил с нодой: https://pastebin.com/rfb7k13m
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

70. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 09:34 
> Взял из их архива bench-v8, сбилдил QuickJS и сравнил с нодой: https://pastebin.com/rfb7k13m

Где в этом наборе букафф -- сравнение-то??   Не позорился б,  подождал час-другой, пока Ларабель сделает настоящее сравнение с грахвиками, прОцентами и целеуказующими стрелочками на оных "<-<< less is butter".  /</>/

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

84. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (84), 12-Июл-19, 11:21 
Чё ноешь? Циферки не умеешь читать, графики подавай?
Чел взял и сравнил. Хочешь лучше - сделай сам! Или жди фороникс, а не ной.
Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

100. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от НяшМяш (ok), 12-Июл-19, 13:21 
Чёрт, вот хотел же сделать по модно-хипстерски, а сделал на отвянь, за что и поплатился )

А если серьёзно - ещё попробовал запустить их microbench.js, но там как-то жутко прибито к апишкам QuickJS и я пока не прошарил как это запустить на ноде. Там тестов намного больше и они нагляднее.

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

102. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (102), 12-Июл-19, 13:38 
Что показывают эти числа? Число выполненных циклов за фиксированное время (т.е. скорость)? Или время выполнения теста? Вижу, что один в 20 раз лучше другого, но который?
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

104. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от НяшМяш (ok), 12-Июл-19, 14:39 
Выдержка из комментария к бенчмарку:

Suites of benchmarks consist of a name and the set of benchmarks in addition to the reference timing that the final score will be based on. This way, all scores are relative to a reference run and higher scores implies better performance.

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

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

25. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (25), 12-Июл-19, 00:02 
> основавший в свое время FFmpeg
> разработавший формат изображений BPG


» ffmpeg -formats|grep -i bpg
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers

[exit code: 1]

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

26. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +6 +/
Сообщение от Lol (??), 12-Июл-19, 00:06 
В следующий раз проверь поддержку FFmpeg'ом JavaScript'а
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

31. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (31), 12-Июл-19, 00:11 
И QEMU ещё.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

76. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 10:05 
> И QEMU ещё.

https://duckduckgo.com/?q=%D0%B8+%D0%B6&... //и картинка тоже+

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

30. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (30), 12-Июл-19, 00:10 
Ну вот так, в туду пока что, не впилили еще)
https://trac.ffmpeg.org/ticket/4169
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

171. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от мяя (?), 21-Июл-19, 18:03 
Не стандарт же. Широкой поддержки не получил.
Это же по сути HEVC, а для него для изображений есть куда более официальный HEIF.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

27. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +7 +/
Сообщение от izyk (ok), 12-Июл-19, 00:07 
Вот это, реально, крутой чувак.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

37. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Аноним (37), 12-Июл-19, 01:21 
так так так... теперь в реализацию webasm на js засунем QuickJS внутри браузера а то 16Гб на вкладку уже не комильфо
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –6 +/
Сообщение от Аноним (37), 12-Июл-19, 01:24 
хоть более нормальных свободных альтернатив qemu нет, qemu еще то гвн0. Берем учебник английского языка и гаглим  "google cloud && qemu"
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

74. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +3 +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 10:01 
> хоть более нормальных свободных альтернатив qemu нет, qemu еще то гвн0. Берем
> учебник английского языка и гаглим  "google cloud && qemu"

Смотрите, дети, на этого анОнима...

   ...г"А"глит он клауд, а г--но == qemu.

...и никода так не делайте ~

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

110. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (-), 12-Июл-19, 15:13 
Вам бы учебник русского языка взять... ну, погаглить предварительно...
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

42. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –3 +/
Сообщение от user90 (?), 12-Июл-19, 02:21 
Вот этого (js) - не надо! Вроде и математик, а такую фигню.. ааа, точно! Математик жи ;)

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

Ну, такое.. ведь никто не добавляет "из доверенных источников", ХОМЯКИ!))

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

44. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –3 +/
Сообщение от Онаним (?), 12-Июл-19, 04:47 
> Реализация JavaScript поддерживает спецификацию ES2019

Т.е. Babel больше не нужен?

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

153. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (140), 13-Июл-19, 12:16 
А как запускать es2019 в старом ie?
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

47. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от Аноним (47), 12-Июл-19, 05:57 
> Поддержка компиляции кода на языке Javascript в исполняемые файлы без внешних зависимостей;

Зависимости будут в рантайме из интернета подтягиваться.

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

79. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Andrey Mitrofanov_N0 (??), 12-Июл-19, 10:10 
>> Поддержка компиляции кода на языке Javascript в исполняемые файлы без внешних зависимостей;
> Зависимости будут в рантайме из интернета подтягиваться.

Тебе ж русским языком по белому написали:  без glibc-а  .
Всё.  Остальное не важно.

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

49. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от Аноним (49), 12-Июл-19, 06:10 
Интересно сможет ли он заменить PhantomJS? Было бы круто использовать его в CI/CD системах для тестирования фронтенда.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

55. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Quarck (?), 12-Июл-19, 08:01 
phantomjs давно помер и не нужен, chrome и firefox поддерживают headless режимы.
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

56. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (56), 12-Июл-19, 08:07 
насколько помню, PhantomJS был браузером без GUI, а не просто js-движком. И его уже заменяет современный хром в режиме headless, драйверы к нему уже прикрутили, вроде
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

71. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –4 +/
Сообщение от qwerty123 (??), 12-Июл-19, 09:42 
# du -h quickjs.c
1.5M    quickjs.c

# wc -l quickjs.c
   47841 quickjs.c

вот так, сразу, внезапно, кода на 1000 страниц.
в одном файле.

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

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

82. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +3 +/
Сообщение от пох. (?), 12-Июл-19, 10:15 
разница между вами в том, что у него этот код - работающий, и, в общем-то, даже и понимаемый.

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

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

141. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от qwerty123 (??), 13-Июл-19, 08:30 
>А тебе сколько ни кури - ничего кроме хихиканья не произведешь.

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

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

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

ты думаешь, кроме него в структуру кто-то может еще вотнуться и дописать?

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

114. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от имя (?), 12-Июл-19, 16:14 
> взял чувак ганджубас, хорошо так затянулся, и фигак с клавиатуры кода полтора
> магабайта в одну портянку.

Звучит так, будто он за день в одно рыло нагенерировал, но нет:

> * Copyright (c) 2017-2019 Fabrice Bellard
> * Copyright (c) 2017-2019 Charlie Gordon

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

142. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от qwerty123 (??), 13-Июл-19, 08:32 
>Звучит так, будто он за день в одно рыло нагенерировал, но нет:
>2017-2019

А это как затянуться.

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

144. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (50), 13-Июл-19, 09:35 
Он математик, а не программист. Не злись, придут люди и расфасуют код по файликам как надо. Ты сам можешь начать это делать.
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

94. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +1 +/
Сообщение от Андрей (??), 12-Июл-19, 12:39 
> Опционально поддерживаются нестандартные математические расширения для JavaScript, такие как типы BigInt и BigFloat

BigInt только только в Firefox 68 официально появился. А тут один Человек успел. Да ещё и не кое-как лишь бы работало.

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

99. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –5 +/
Сообщение от Аноним (99), 12-Июл-19, 13:05 
Вроде бы и математик - умный человек. А приток смузи победил. Модно-молодёжно... а шутки про тостер с дырявым JS скоро станут кошмарной реальностью
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

162. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (162), 14-Июл-19, 03:05 
Альтернативная реальность, где ранее разумные люди делают что-то полезное тебе не доступна?
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

103. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –2 +/
Сообщение от Аноним (103), 12-Июл-19, 14:00 
Приложение под видом документа - это троян.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

163. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (162), 14-Июл-19, 03:06 
Где ты был последние 20 лет? Тебя всё устраивало?
Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

112. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Wilem (?), 12-Июл-19, 15:46 
Вместо того, что бы похоронить этот недоязык, они его развивают. Whyyyy.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

113. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (113), 12-Июл-19, 16:00 
Научите Белларда в git уже! Ну что за архивы в tar.gz на его странице?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

127. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Michael Shigorinemail (ok), 12-Июл-19, 19:01 
Если кого возмутила встройка -- ну посмотрите, с чем нынче линкуется polkit.  Да, меня там и libxml2 смущала, но и это познаётся в сравнении, как оказалось.

PS: надо добыть себе немного стадотомиков:

lcc: "quickjs.c", строка 107: фатальная ошибка: не
          могу открыть исходник файл "stdatomic.h"

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

135. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Андрей (??), 13-Июл-19, 00:35 
> lcc

И в значительно более активно развивающемся tcc нет. Вот это точно досадно.

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

136. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +2 +/
Сообщение от Аноним (136), 13-Июл-19, 00:54 
Фабрис опять жжет. То виртуалку на джеэс напишет, то компилятор, а ведь уже 47 лет мужику.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

164. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (162), 14-Июл-19, 03:07 
И, с твоей точки зрения он должен перестать делать то, что он делает? Или как?
Ответить | Правка | ^ к родителю #136 | Наверх | Cообщить модератору

152. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  –1 +/
Сообщение от Аноним (140), 13-Июл-19, 12:15 
Компиляция js в исполняемый файл это очень интересно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

165. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (162), 14-Июл-19, 03:08 
Чем это ново и почему это интересно тебе?
Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

159. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от KonstantinB (ok), 13-Июл-19, 16:06 
Вот за libregexp Фабрису спасибо!

"Backtracking with an explicit stack is used so that there is no recursion on the system stack. Simple quantizers are specifically optimized to avoid recursions."

Прямо то, что мне надо, чтобы заменить PCRE с его комбинаторными взрывами, но иметь возможность backtracking-а.

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

173. "Основатель QEMU и FFmpeg опубликовал JavaScript-движок Quick..."  +/
Сообщение от Аноним (173), 05-Авг-19, 17:00 
Крутой чувак надо ему памятник поставить...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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