Накопал я недавно в инете такую интересную вещь. http://root.cern.ch/root/Cint.html Говорят, что у них очень хорошее покрытие стандарты C\C++. Я попробовал - мне понравилось, учитывая JIT - очень быстро работает. Сейчас думаю свой скриптинг весь на него переводить. Кто что скажет о нем?
А я использую язык Gentee http://gentee.ru Синтаксис очень похож на C\C++, компилятор в байт-код и JIT находится в одной DLL, размером около 100 кбайт. Для скриптинга просто идеальный движок. Для Gentee есть компилятор в EXE файлы - GeLink http://scriptcom.narod.ru так, что кроме скриптинга можно писать и обычные программы для Windows.
он насколько я знаю не ни разу не кросс-платформенный. Да и запарило меня новые языки учить. Уже итак порядка 20 выучил. К тому же один из важных поинтов Cint - он кросс-платформенный + понимает _нормальный_ С++ код. т.е. я могу писать проекты в Visual Studio и отлаживать их, а потом прикрутить к апачу, и он просто заработает.
rst а зачем собственно интерпретатор|JIT? - я обычные обжекты гружу и запускаю. И с мультиплатформенностью все ок. Тока один гемор - нада все экстерналы которые юзает обжект ресолвить - для MS загрузить msvcrt.dll и поправить релокэйшены. И не нужно время на JIT и скорость выше, т.к. JIT делают чтоб компилялось быстро... Тока это если не надо на лету си код править - но я так понял тебе это не надо...
он насколько я знаю не ни разу не кросс-платформенный. А мне кроссплатформенность нафиг не нужна. Вообще-то, раньше я Lua юзал, самый кроссплатформенный, скриптовый язык на данный момент. Почти для всех осей, версии Lua есть. В принципе язык неплохой, только уж очень он примитивный. Нет указателей, нет возможности вызова DLL, нет отладчика, единственный тип данных - Variant и т.д. Lua в основном используют в игрушках, для написания AI, но не из-за того, что это такой хороший язык, а просто из-за отсуствия альтернативы... Pyton - тоже неплохой вариант, да вот только размер у него очень большой. В самом простом варианте больше мегабайта прилинковать надо, и еще Pyton очень тормозной язык, в геймерских проектах скриптинг не тянет... С/С++ интерпретаторы слишком монструозны. Зачем мне скрипт машина размером в 2 мбайта, если все мое приложение 300-400 кбайт весит... Gentee мне понравился прежде всего тем, что у него строгая типизация, есть указатели, и можно вызывать функции из DLL файлов, это дает большую гибкость в написании скриптов. Плюс размер около 100 кбайт, для меня это один из решаюших факторов.
parov. в том то и дело, что при необходимости компиляции на с++ тебе не нужна скрипт-машина. он в нетив компилиться. а вот если нужен скриптинг, то тогда интерпретатор. рантайм соответственно тянуть. но насчет размеров - не скажу. но опять же кесарю-кесарево. тебе важен минимальный размер. ты сделал свой выбор. но это более экстремальные условия чем у generic needs. а меня интересует как раз с позиции общих потребностей скриптинга. кстати насчет gentee - есть ли там полиморфизм и нечто вроде stl с векторами и ассоциативными массивами?
опять же. касательно моих задач. первое для чего я рассматриваю cint -это замена php в веб-программировании. в больших проектах. второе - автоматизация рутины. в первом случае нужен серьезный язык с классами, полиморфизмом и т.д. во втором - язык на котором быстро можно что-то сделать. с++ по мне отвечает обоим требованиям.
rst Нет, это я о x86 win\*nix. Кстати если замена php то мой вариант вполне подходит - генеришь классы на лету - и компилишь на лету cl\gcc в обжекты - для веба изначально так делал и php никогда не юзал ибо тормоз по сравнению с си... Короче делал так - покорежил апачу: в дире со скриптами лежат cpp файлы, из апачи они видны как cgi файлы, если к cpp нет обжекта то он компилится грузится и запускается - вот и все. Можно конечно и в бинарки компилить - но я не хотел чтоб процессы запускались лишние...