LINUX.ORG.RU

Встраиваемый язык

 , ,


1

5

Посоветуйте язык для встраивания. Нужно что-то попроще. Выбираю между Quickjs, mujs, scheme-s7, guile, lua, python, tcl. Или что бы ещё получше, хуже. Питон довольно медленный. js v7 не могу собрать просто, поэтому исключил это как неблагоприятный прогноз. Тикль довольно замороченно встраивать. Луа тоже что-то мне не нравится. Какие бы варианты ещё. От языка мне нужно немного, арифметика да работа со строками, не сложная.



Последнее исправление: hobbit (всего исправлений: 1)

еще https://duktape.org забыл )

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

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

Требуется арифметика, для чисел(int64, float64). Ну и строки там… Да и все. Нужно встроить в программу на си, написать функций на встраиваемом языке, и дергать их из си-программы. Как можно все проще.

nionio35
() автор топика

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

вот зачем такое?

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

Хм. Мне казалось есть какая-то сильно скукоженная версия для встраивания. Без всякого лишнего. Мож с чем-то перепутал.

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

Я сейчас переписываю прожку с racket на guile, т.к. по скорости оказалось то же самое, а поддержка параллелизма в ракете какая-то ну совсем странная

Puzan ★★★★★
()

проще всего встраивать tcl (он собственно для того и синженерен)

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

их всего 3: tcl, lua, mruby

python,js,guile(что вообще говоря удивительно) по разным причинам отпадают.

MKuznetsov ★★★★★
()

Tcl классный. Встраивать нифига не заморочно.

hateyoufeel ★★★★★
()

молодежный wasm и писать на любом языке, все эти лиспы и lua не для нормальных людей

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

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

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

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

monk ★★★★★
()

Если только арифметика и работа со строками, то неужели медленность питона как-то заметна? А то он везде есть, наименее напряжная зависимость для юзеров. Если не питон, то lua, имхо. Встраивается легко, довольно распространён.

CrX ★★★★★
()

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

einhander ★★★★★
()

Раскрой подробности. У тебя мегапроект на С, в котором понадобились вставки на языке выс. уровня, типа макросов? Или как?

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

довольно распространён

Вот это я бы поспорил. Из каждого утюга кричат что он «довольно распространён», но как-то в живой природе его видно только во всяких игрулях. Ну т.е. формально по числу копий он может быть в самом деле распространённый. Но вот тот же js в объеме начальной школы знает любая собака, а lua наверное даже меньше ценителей чем у всяких лиспов.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)

попроще

Будь мужиком, запили свою Форт-систему. Проще некуда.

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

а lua наверное даже меньше ценителей чем у всяких лиспов

Ну очень сомнительное предположение. Это может если всю функциональщину в кучу собрать. И то..

mrjaggers
()

Мейнстрим это Lua. Она очень легкая (даже в опенврт встроили), и в силу того, что встраивают в основном её - у тебя будет больше плагинов. Ну а если пишешь чисто для себя, то вообще пофиг, конечно.

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

Плевать, зато быстрый как понос, а FFI позволяет присобачить lua вообще без модификации основной программы без Lua API. Ну в случае если всё управление ей пойдёт через lua.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Ну, он используется например в Awesome, также он в зависимостях у gnuplot, например. Говоря о распространённости я имел в виду не знание языка, а скорее вероятность, что он окажется уже в системе.

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

Зависит от ситуации если выполнение скриптов критично к скорости то берут luajit. Выбор есть всегда, либо скорость, либо фичи. Хотя и обычный lua довольно шустрый, но порой надо шустрее и тут уже и сам подход к написанию скриптов свой и можно ограничить себе в версии ради прыти.

UDP: Ааа тьфу, я прочёл как " В новый софт добавляю" без «т». Пусть добавляют что хотят, у ТС свой софт и он добавит себе ту lua которую захочет.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)

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

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

Возможно от синтаксиса не штырит и прочих вещей. Я вот lua люблю, но сам синтаксис мне оч не нравится. Поэтому я lua люблю, но не пишу на ней (не пишу что-то сложнее клея) =)

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Потребуется библиотека, в которой используются нововведения 5.3 или 5.4 - и тогда заканчивается любое «захочет».

token_polyak ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

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

Крестовый поход против неправильного толкования этого слова лорчанами - продолжается!

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.