Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2010, 17:54   #1
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 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 более грамотно замыкания сделали.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не ищутся некторые значения в бд( nuevegramodelamor Помощь студентам 1 11.05.2010 20:45