порекомендуйте script engine для расширений
От: qwerty2006  
Дата: 28.02.08 02:49
Оценка:
Возникла задача добавить в приложение возможность расширения функциональности путем запуска скриптов.
Подробнее:
1. Скрипты должны запускаться в контексте приложения, т.е. не как самостоятельные процессы.
2. Приложение занимается обработкой растровых изображений. Требуется передать исходное изображение и получить обработанное или расчитанную статистику.

Желательно, чтобы скриптовый движок был кроссплатформенным с C-подобным синтаксисом, а также с хорошим performance.

Особо хотелось услышать отзывы (если кто пользовался) о след. продуктах:
— GNU ccScript
— PAWN
— TIScript
Re: порекомендуйте script engine для расширений
От: Zigmar Израиль  
Дата: 28.02.08 11:14
Оценка: 1 (1)
Здравствуйте, qwerty2006, Вы писали:

Q>Возникла задача добавить в приложение возможность расширения функциональности путем запуска скриптов.

Q>Подробнее:
Q>1. Скрипты должны запускаться в контексте приложения, т.е. не как самостоятельные процессы.
Q>2. Приложение занимается обработкой растровых изображений. Требуется передать исходное изображение и получить обработанное или расчитанную статистику.

Q>Желательно, чтобы скриптовый движок был кроссплатформенным с C-подобным синтаксисом, а также с хорошим performance.


Q>Особо хотелось услышать отзывы (если кто пользовался) о след. продуктах:

Q>- GNU ccScript
Q>- PAWN
Q>- TIScript

Из вышеописанных ни с кем не имел дело. Сам пользовался Lua. Из плюсов — простой, очень компактный (200к переносимого с-кода), легко интегрируется, имеет очень быстрый регистровый VM и легко позволяет делать sandboxing. Из минусов — несколько необычный синтаксис (отдаленно напоминающий паскаль).

Другой вариант, воспользоваться полноценным языком (Луа вряд-ли можно называть самостоятельным языком, by design это встраиваемый скриптовый язык) вроде python, perl, javascript. Из плюсов такого подхода — больше средств разработки, документации и пользователей. Но обычно сложнее интегрировать и сильно увеличивает размер проекта. Хотя, например boost::python сильно может облегчить задачу интеграции.
"To protect people you must slay people. To let people live you must let people die. This is the true teaching of the sword."
-Seijuro Hiko, "Rurouni Kensin"
Re[2]: порекомендуйте script engine для расширений
От: qwerty2006  
Дата: 28.02.08 13:06
Оценка:
Здравствуйте, Zigmar, Вы писали:

Q>>Возникла задача добавить в приложение возможность расширения функциональности путем запуска скриптов.



Z>Из вышеописанных ни с кем не имел дело. Сам пользовался Lua. Из плюсов — простой, очень компактный (200к переносимого с-кода), легко интегрируется, имеет очень быстрый регистровый VM и легко позволяет делать sandboxing. Из минусов — несколько необычный синтаксис (отдаленно напоминающий паскаль).


Z>Другой вариант, воспользоваться полноценным языком (Луа вряд-ли можно называть самостоятельным языком, by design это встраиваемый скриптовый язык) вроде python, perl, javascript. Из плюсов такого подхода — больше средств разработки, документации и пользователей. Но обычно сложнее интегрировать и сильно увеличивает размер проекта. Хотя, например boost::python сильно может облегчить задачу интеграции.



Я слабо знаком с питоном, но думаю он плохо подходит для обработки растров с применением математики. М.б. есть у кого готовый пример интеграции boost::python в приложение на С++ с передачей и возвратом bulk-параметров?
Re[3]: порекомендуйте script engine для расширений
От: Left2 Украина  
Дата: 28.02.08 13:13
Оценка: +1
Q>Я слабо знаком с питоном, но думаю он плохо подходит для обработки растров с применением математики.
Я сомневаюсь что вообще любой скрипт хорошо подходит "для обработки растров с применением математики". Может, тебе стОит постараться вынести математику из скрипта в плюсовую часть? К примеру чтобы скрипт отдавал transformation matrix С++-ному движку, а он уже делал всё остальное? Поскольку если на каждый бит изображения будет производиться хоть самое простое действие из скрипта, то всё воткнёт надолго.
... << RSDN@Home 1.2.0 alpha rev. 717>>
Re: порекомендуйте script engine для расширений
От: Сергей  
Дата: 28.02.08 13:50
Оценка: 3 (2)
Здравствуйте, qwerty2006, Вы писали:

Q>Желательно, чтобы скриптовый движок был кроссплатформенным с C-подобным синтаксисом, а также с хорошим performance.


Если нужна хорошая производительность, взгляни на встраиваемый компилятор языка С.
Из интерпретаторов я использовал squirrel, остался доволен. Это язык с С-подобным синтаксисом, внутри интерпретатор похож на lua.
Еще немного имел дело с angelscript — это статически типизированный язык, в отличие от большинства встраиваемых интерпретаторов. Предположительно должно благоприятно сказываться на производительности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.