|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.09.2010, 17:54 | #1 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
Ищутся внедряемые скриптовые языки
Обычно языки сравнивают по фичам, но на этот раз меня больше интересуют, скажем так, внешние фичи реализаций:
Возможность делать sandbox'ы. То есть, из скрипта может подгружаться какой–то другой скрипт, но в песочнице с ограниченными возможностями. Возможность ограничивать время выполнения скрипта и память в песочнице. Возможность суспендить и восстанавливать скрипты внутри песочницы. Такая возможность есть, например, в Icon. В этом языке есть специальные функции для сериализации данных с учётом циклических ссылок. После обратного процесса форма графа ссылок сохраняется. Как логичное продолжение этой фичи, можно сериализовать запущенный скрипт в исполняемый файл. Возможность удалённой отладки. Чтобы отладчик открывал порт, а движок пассивно коннектился к этому порту. Так уже сделано в некоторых движках. Ну и некоторые «внутренние» фичи, которые тоже хотелось бы видеть: IPC. На ум приходит DRuby, но вот, к сожалению, далеко не все ЯП я знаю, и как оно в Ruby работает, не представляю. Так или иначе, должна быть возможность удобно взаимодействовать между разрозненными частичками, внутри одного процесса или внутри разных. В том числе послать на удалённый хост исполняться какой–то свой скрипт в песочницу. Сама песочница при этом может тоже быть внутри другой песочницы. Так как исполнение может прерываться в разные моменты, логично пожелать какую–нибудь транзакционную семантику. Хочется генераторов с возможностью забрасывать снаружи исключения (как в современном Mozilla JavaScript). Dependency Injection вместо Global Lookup для поиска модулей. Скажем, если A зависит от B и C, а B и C зависят от D, должна быть возможность использовать B и C с разными версиями D. Global Lookup вообще много хороших скриптовых идей портит. Идею продвинутой командной строки, например. Такой вот один язык на разные случаи. Чтобы, если уж жертвовать производительностью, то не на какую–то туфту типа якобы полезной слабой типизации и всего прочего в PHP, что даже на Quercus тормозит. Quercus компилирует в Java, а Java при исполнении становится нативным кодом, но, чтобы корректно воспроизводить семантику PHP, генерится такой Java код, что прирост получается от силы в 3 раза. И игры писать (с Save Game), и в другие приложения внедрять. JavaScript мне, кстати, не нравится, так как там уж слишком легко утечки памяти создавать через замыкания. В PHP более грамотно замыкания сделали. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не ищутся некторые значения в бд( | nuevegramodelamor | Помощь студентам | 1 | 11.05.2010 20:45 |