|
|
|
4.43, cmp (ok), 18:32, 07/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Все переменные глобальны,весь функционал в динамически линкуемых либах, действительно, как им удалось сделать его быстрым и легковесным?
| |
|
5.46, arisu (ok), 03:40, 08/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Все переменные глобальны
это ж надо. а создание совершенно независимых контекстов исполнения, со своими наборами переменных, поддерживается.
> весь функционал в динамически линкуемых либах
только что попробовал: у тебя враньё какое-то.
if true then print("hello"); endif
работает. никаких «внешних либ» для if и print не надо. и строки работают. и массивы. и словари. и математика. и луа-регулярки. а-я-яй, как нехорошо врать-то.
| |
|
6.48, cmp (ok), 06:26, 08/12/2014 [^] [^^] [^^^] [ответить]
| –2 +/– |
> if true then print("hello"); endif
И в чем бы был смысл если бы и это не работало?
А вот реальная задача, забрать по SNMP и положить в БД, требует портянки предварительной подготовки контекста в котором будет реализована требуемая логика, и в догонку установка дополнений кой нужно еще найти, по итогу написание простого скрипта занимает примерно столько же сколько реализация на с.
> совершенно независимых контекстов исполнения
В большенстве случаев совершенно независимые контексты нафиг не нужны, нужно адекватное наследование, и адекватная работа с индексами в выражениях for(i=0;i<x;i++), а не for(loop_15_i=0;loop_15_i<x;loop_15_i++);
На полноту знаний в данном вопросе я не претендую, у меня нет задачи решить задачу на lua, у меня есть просто задача, и множество раз возникала необходимость в программируемой прослойке между чем-то и чем-то, и js для этого подошел бы просто идеально, но нету нормальной реализации : либо монстр, либо вендор лок, либо лицензия продай душу, либо мертвое поделие. Поэтому попробовал lua, не понравилось, потому что интеграция равнялась бы прибиванию гвоздями.
| |
|
7.49, arisu (ok), 06:32, 08/12/2014 [^] [^^] [^^^] [ответить]
| –2 +/– |
>> if true then print("hello"); endif
> И в чем бы был смысл если бы и это не работало?
не знаю, это же не я утверждал, что *всё* во внешних библиотеках.
> А вот реальная задача, забрать по SNMP и положить в БД, требует
> портянки предварительной подготовки контекста в котором будет реализована требуемая логика,
> и в догонку установка дополнений кой нужно еще найти, по итогу
> написание простого скрипта занимает примерно столько же сколько реализация на с.
гениальный пример. мне даже и сказать-то нечего.
>> совершенно независимых контекстов исполнения
> В большенстве случаев совершенно независимые контексты нафиг не нужны, нужно адекватное
> наследование, и адекватная работа с индексами в выражениях for(i=0;i<x;i++), а не
> for(loop_15_i=0;loop_15_i<x;loop_15_i++);
ты дурак, да? вопрос риторический.
> На полноту знаний в данном вопросе я не претендую, у меня нет
> задачи решить задачу на lua, у меня есть просто задача, и
> множество раз возникала необходимость в программируемой прослойке между чем-то и чем-то,
> и js для этого подошел бы просто идеально, но нету нормальной
> реализации : либо монстр, либо вендор лок, либо лицензия продай душу,
> либо мертвое поделие. Поэтому попробовал lua, не понравилось, потому что интеграция
> равнялась бы прибиванию гвоздями.
вопрос действительно риторический…
| |
|
8.52, cmp (ok), 14:07, 08/12/2014 [^] [^^] [^^^] [ответить] | +/– | ну раз пытаюсь что-то до тебя донести, то видимо да Когда нечего сказать, приня... текст свёрнут, показать | |
|
|
10.54, cmp (ok), 13:12, 09/12/2014 [^] [^^] [^^^] [ответить] | –2 +/– | В ваших копрофильских фетишах совсем не силен, но троль ты такой же махровый ... текст свёрнут, показать | |
|
11.55, arisu (ok), 13:24, 09/12/2014 [^] [^^] [^^^] [ответить] | –1 +/– | когда я указываю тебе на твой идиотизм 8212 это не троллинг, а печальная прав... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
3.50, edwin3d (ok), 10:12, 08/12/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> совместить JIT и низкое потребление ресурсов?
Я Вам сейчас открою секрет страшный - хороший JIT один из немногих корректных путей обеспечить хорошее б-е для языков такого класса.
Вопрос в степени прямизны JIT и разработчика самого приложения.
| |
|
|
3.47, arisu (ok), 03:40, 08/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
> JIT зло и оверхед большой
хорошо, что Mike Pall не в курсе.
| |
3.51, edwin3d (ok), 10:14, 08/12/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> JIT зло
Ждем Вашего рецепта решения проблемы низкой про-ти.
> и оверхед большой
JIT вообще-то добавляет "оверхед" только на первом этапе работы.
Скажем ф-я вызвалась Н раз (к примеру - 100), в 101-й уже выполнился найтивный код
| |
|
4.57, Crazy Alex (ok), 19:31, 10/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Ждем Вашего рецепта решения проблемы низкой про-ти.
Статическая типизация и компиляция. Никакой принципиальной проблемы во вкрутке компилятора в приложение нет. Язык, правда, надо подобрать подходящий. Я бы, пожалуй, в сторону паскаля смотрел - он всегда компилился шустро, а излишние языковые возможности в скриптах - только во вред.
| |
|
5.58, edwin3d (ok), 10:53, 11/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Добрый день.
> Статическая типизация
Никаким боком к JIT. Вообще. Самый наглядный пример - Java.
Не надо сводить JIT только в JS и т.д.
JIT актуален (причем - прежде всего) и там, где генерируется байт-код
> и компиляция. Никакой принципиальной проблемы во вкрутке компилятора
> в приложение нет.
Т.е. Вы предлагаете тот путь, по которому пошли в Google с AOT в Android ?
Путь интересный, но в некоторых случаях спорный, и вот почему:
К примеру - что делать в случае, если приложение должно исполнять другой, загружаемый кусок ? Типа AS серверов ?
> а излишние
> языковые возможности в скриптах - только во вред.
Так Вы значит только о скриптах ?
Простите, а Вы не забыли, что сегодня на этих скриптах, которым как Вы говорите "а излишние языковые возможности в скриптах - только во вред." строятся целые приложения и с учетом этого момента и стоит решать ?
| |
|
|
|
|
|
2.14, Аноним (-), 22:51, 05/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
>а есть js-интерпритатор для консоли? возможно на нём...
aptitude search spidermonkey
| |
|
1.8, Аноним (-), 18:43, 05/12/2014 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
"Состояние проекты "
Но при этом: "стабильное и пригодное для промышленного применения"
| |
|
2.10, Пользователь Debian (?), 20:18, 05/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Язык программирования менее эзотеричен (Таблицы и метатаблицы для всего и double для всех числовых данных? Спасибо, не нужно.)
| |
|
|
4.22, Аноним (-), 03:19, 06/12/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В чём проблема, если JIT это оптимизирует?
Только в 22 кило RAM все это уже явно не уместится.
| |
|
3.20, Аноним (-), 02:06, 06/12/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
таблицы - это просто хэши
магия с прототипами вам больше нравится?
как по вашему в js представлены числа?
| |
|
4.41, Аноним (-), 03:14, 07/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
> магия с прототипами вам больше нравится?
Monkey patching FTW!!!
| |
|
3.25, arisu (ok), 08:07, 06/12/2014 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Таблицы и метатаблицы для всего и double для
> всех числовых данных? Спасибо, не нужно.
ты только что описал javascript.
| |
|
2.15, Crazy Alex (ok), 22:55, 05/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Например, тем, что количество людей, умеющих писать на JS, больше тех, кто умеет Lua, раз в сто как минимум. Готового кода тоже в достатке.
Правда, непонятна скорость этой штуки.
| |
2.29, Аноним (-), 13:38, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Си-подобностью? Переносимостью (в браузер без всяких lua2js) и интероперабельностью с JS-кодом?
| |
2.30, Аноним (-), 13:47, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Чем оно лучше Squirrel?
Отремонтировал для большей справедливости
| |
|
1.23, arisu (ok), 08:02, 06/12/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
больше жаваскрипов для бога жаваскрипов! see? njs? jx9? фатальные недостатки!
| |
1.24, arisu (ok), 08:06, 06/12/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
движок регулярных выражений, само собой, чисто бэктрекинговый. авторы малацца, жгут.
| |
1.27, Аноним (-), 13:27, 06/12/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Для интеграции Duktape в код на C/C++ достаточно добавить в проект файлы duktape.c и duktape.h
Не думал, что в 2014 найдутся люди, не понимающие, почему по пути gnulib идти нельзя.
| |
|
2.28, arisu (ok), 13:29, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
и что тебе не нравится? ты не в курсе термина «амальгамизация»?
| |
|
3.32, Аноним (-), 15:54, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Ты bundle'ишь в программу zlib. Или libpng. Или md5.c. Завтра там находят уязвимость. Твои действия?
| |
|
4.36, arisu (ok), 18:16, 06/12/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ты bundle'ишь в программу zlib. Или libpng. Или md5.c. Завтра там находят
> уязвимость. Твои действия?
выпускаю фикс. конечному пользователю вообще по-барабану, в дистрибутиве давно всё починил маинтайнер. ещё идиотские вопросы есть?
| |
|
5.39, Crazy Alex (ok), 19:45, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Ну, я бы сказал, что он прав... если бы сабж совершенно очевидно не был рассчитан на какой-то эмбед, где хоть шаред, хоть статическую либу будет (или не будет) фиксить один и тот же разработчик прошивки
| |
|
6.42, arisu (ok), 03:59, 07/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Ну, я бы сказал, что он прав...
нет, он идиот. который уверен, что если дали амальгаму, то единственный метод использования амальгамы — затащить к себе в проект. мозги же у него отсутствуют, и предположить, что амальгамизация никак не мешает делать отдельную библиотеку, он не в состоянии.
| |
|
|
4.38, Crazy Alex (ok), 19:40, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Ты выкатываешь новую прошивку. Или забиваешь, так как устройство с уязвимостью тобой уже не поддерживается. Еще раз посмотри описание (в частности, акцент на малом потреблении памяти) и подумай, на какое применение эта штука рассчитана.
| |
|
|
2.31, ix.. (?), 14:32, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Очень даже верный подход. То, что многие отказались от него и даже успели нагородить свехсложную интеграцию - не делает их правыми.
| |
|
3.33, hoopoe (ok), 15:55, 06/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Один из ярчайших примеров использования данной техники - это sqlite, весьма удачное решение
| |
|
4.34, Аноним (-), 16:20, 06/12/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Один из ярчайших примеров использования данной техники - это sqlite, весьма удачное
> решение
% locate libsqlite
/usr/lib64/libsqlite3.so
/usr/lib64/libsqlite3.so.0
/usr/lib64/libsqlite3.so.0.8.6
Вообще мимо кассы. Я говорил про подход gnulib.
| |
|
|
|
1.35, Аноним (-), 17:11, 06/12/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Полезная вещь! Время от времени думал о том что неплохо бы найти нечто подобное, но лениво было.
А аналоги есть? (чтобы сравнить и выбрать лучшее)
| |
1.44, Аноним (-), 00:50, 08/12/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А кто пробовал, а то у меня почему-то require не работает. Что нужно - поделитесь опытом?
| |
|
2.45, Аноним (-), 02:43, 08/12/2014 [^] [^^] [^^^] [ответить]
| +/– |
Нужно определить следующую конструкцию:
'''
Duktape.modSearch = function (id) {
var res;
print('loading module:', id);
// _source_code_from_module = read('...'); // Provide source code from name
return _source_code_from_module;
}
'''
Удачи.
| |
|
|