Выбор скриптового языка для встраивания в приложение.
От: RailRoadMan  
Дата: 16.10.07 13:32
Оценка:
Есть standalone приложение на С++, компилится под разные платформы, в которое хочется встроить (по крайне мере попробовать) скриптовый язык для управления внутренними объектами.

Требования видятся следующими:
— Язык должен обеспечивать доступ к внутреним объектам приложения без использования бубна
— Должна присутсивовать открытая реализация
— Реализация должна быть достаточно компактна и не требовательна к ресурсам. Собственно никаких библиотек не нужно, только скриптинг + доступ к объектам приложения
— Многоплатформенность реализации (Win, Linux, Solaris, еще пару юниксов). Если не поддерживается, чтобы была возможность достаточно легко портировать (скорее даже построить из исходников) на нужную платформу


Пока склоняюсь к Lua или Tcl ?
Lua — для этого и разработана
Tcl — не помню уже почему выбрал (обдумывал давно, сейчас вернулся к этой идее), сложилось впечатление, что тоже боле менее подходит.
Python и Ruby — отпадают в силу избытка фич, хочется что-то полегче.
JavaScript — не понятно, тоже не то скорее всего.
Что-то еще?

P.S. Может это не совсем в этот форум надо было, только не понятно в какой тогда
Re: Выбор скриптового языка для встраивания в приложение.
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 16.10.07 13:40
Оценка:
После использования lua для схожих целей остались очень приятные впечатления: быстро, удобно, просто.
Re: Выбор скриптового языка для встраивания в приложение.
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 16.10.07 13:51
Оценка:
Здравствуйте, RailRoadMan, Вы писали:

RRM>Есть standalone приложение на С++, компилится под разные платформы, в которое хочется встроить (по крайне мере попробовать) скриптовый язык для управления внутренними объектами.


RRM>P.S. Может это не совсем в этот форум надо было, только не понятно в какой тогда


Scripting engine for С++
Автор: korzhik
Дата: 27.12.05

Помогите выбрать скриптовый движок/язык
Автор: Left2
Дата: 26.01.07


PS. Сам когда-то экспериментировал с Lua -- остались хорошие впечатления, просто встраивается и быстро работает, хорошая документация и много информации в Интернете.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Выбор скриптового языка для встраивания в приложение.
От: _pk_sly  
Дата: 16.10.07 14:12
Оценка:
RRM>Требования видятся следующими:
RRM>- Язык должен обеспечивать доступ к внутреним объектам приложения без использования бубна
RRM>- Должна присутсивовать открытая реализация
RRM>- Реализация должна быть достаточно компактна и не требовательна к ресурсам. Собственно никаких библиотек не нужно, только скриптинг + доступ к объектам приложения
RRM>- Многоплатформенность реализации (Win, Linux, Solaris, еще пару юниксов). Если не поддерживается, чтобы была возможность достаточно легко портировать (скорее даже построить из исходников) на нужную платформу

RRM>Пока склоняюсь к Lua или Tcl ?

RRM>Lua — для этого и разработана
RRM>Tcl — не помню уже почему выбрал (обдумывал давно, сейчас вернулся к этой идее), сложилось впечатление, что тоже боле менее подходит.
RRM>Python и Ruby — отпадают в силу избытка фич, хочется что-то полегче.
RRM>JavaScript — не понятно, тоже не то скорее всего.
RRM>Что-то еще?

у Tcl есть один недостаток: он принципиально необъектный.
вернее... конечно, там можно добавить поддержку (эмуляцию) объектов, но нужен бубен.

если уж есть Lua, можно посмотреть Pike он более эстетичен 8)

Жаваскрипта есть множество реализаций — можно посмотреть по ссылкам на Википедии.

"избыток фич" — странный критерий... я хотел туда добавить Perl.

можно ещё посмотреть SIOD, Guile и другие портабельные варианты Схемы (по нужному кол-ву "фич")
Re: Выбор скриптового языка для встраивания в приложение.
От: Сергей  
Дата: 16.10.07 17:40
Оценка:
Здравствуйте, RailRoadMan, Вы писали:

RRM>Python и Ruby — отпадают в силу избытка фич, хочется что-то полегче.


Интерпретатор Python без стандартных библиотек весит очень мало — несколько десятков килобайт. Я бы выбрал именно его.
Встраивать его при помощи стандартного C-api очень трудоёмко, и поэтому этим никто не занимается. Для встраивания есть специальные библиотеки, например boost::python, Pyrex, Py++.
Если всё-таки питон не подходит, советую посмотреть Squirrel. Это объектно-ориетированный C-подобный язык, интерпретатор частично использует код VM от Lua. Документация понятная, "избытка фич" в языке нет. Я выбирал между Lua и Squirrel для использования в одном из проектов, и выбор пал на Squirrel из-за его C-подобности.
Re: Выбор скриптового языка для встраивания в приложение.
От: _Obelisk_ Россия http://www.ibm.com
Дата: 16.10.07 18:03
Оценка:
Здравствуйте, RailRoadMan, Вы писали:

RRM>Требования видятся следующими:

RRM>- Язык должен обеспечивать доступ к внутреним объектам приложения без использования бубна
RRM>- Должна присутсивовать открытая реализация
RRM>- Реализация должна быть достаточно компактна и не требовательна к ресурсам. Собственно никаких библиотек не нужно, только скриптинг + доступ к объектам приложения
RRM>- Многоплатформенность реализации (Win, Linux, Solaris, еще пару юниксов). Если не поддерживается, чтобы была возможность достаточно легко портировать (скорее даже построить из исходников) на нужную платформу


Выбирай Tcl, гарантировано будет работать на Win/Linux/Solaris. Из минусов — только отсутствие объектной ориентированности.
Мы Tcl как встроенный макро-язык давно используем, проблем не было.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re: Выбор скриптового языка для встраивания в приложение.
От: Petrovich_Alex  
Дата: 16.10.07 18:39
Оценка:
еще есть http://squirrel-lang.org/
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Выбор скриптового языка для встраивания в приложение.
От: z00n  
Дата: 16.10.07 19:33
Оценка:
RRM>Пока склоняюсь к Lua или Tcl ?
RRM>Lua — для этого и разработана
RRM>Tcl — не помню уже почему выбрал (обдумывал давно, сейчас вернулся к этой идее), сложилось впечатление, что тоже боле менее подходит.
RRM>Python и Ruby — отпадают в силу избытка фич, хочется что-то полегче.
RRM>JavaScript — не понятно, тоже не то скорее всего.
RRM>Что-то еще?

Я бы взял Lua. Помимо очевидных плюсов у него есть еще и качественный, прозрачно работающий LuaJIT для x86, который добавляя к dll всего 40к, ускоряет его в несколько раз.

Из свежего, стоит упомянуть еще VM Neko+Haxe — синтаксис похож на JavaScript, по духу близок к Lua.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.