Показать сообщение отдельно
Старый 19.04.2012, 00:12
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 13  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну как бы в этом как раз и смысл, чтобы часть программы, которая должна взаимодействовать с пользователем сделать через "посредника" - этот посредник и будет вести лог + этот же лог будет самой программой выполнив которую тестируемая программа в точности воспроизведет то, что делал с ней до этого пользователь.
Самым неудачным местом в этой системе будет то, что нужно будет решить какие вызовы делать через встроенный язык - и они будут однозначно медленнее прямых вызовов, кроме того, у встраиваемого языка могут быть ограничения связаные со всякими особенностями окружения (констуирование объектов со сложными ссылками, например).

Я когда-то думал о вариантах для встроенного языка, и собственно вот размышления по этому поводу:

Что-то совсем примитивное бейсикоподобное - легко написать, ни использовать - у меня тавма детства от бейсика Да и я толком не знаком ни с одной из реализаций. Но, в принципе, как скриптовый язык - нормально.

ЭкмаСкрипт - очень плохо подходит для работы с интерактивной консолью (объявление функций, сложный синтаксис). Но зато близко по духу АС3.

Баш - есть ограничения на то, что можно сделать интерактивно + очень много внимания уделяется раскрытию путей к файлам, которое в такой ситуации не нужно.

Питон - вобщем, было бы даже ничего так, но изза того, что индентация влияет на то, как парсинг - показалось ненадежно.

Из лисповых вариантов - Анси Лисп - было бы здорово почти по всем параметрам, но очень уж он громоздкий. ЕмаксЛисп - вполне бы даже подошло. Схема - отравить жизнь ближним функциональным стилем.
Но даже еЛисп очень уж большой и полная реализация заняла бы много места. Поэтому кропаю какую-то часть чего-то очень похожего на него.

Можно, кстати, подумать об Эрланге - он довольно простой язык, но есть специфические конструкции которые в однопоточной среде тяжело реализовать. Кроме того, интерактивный шел хоть и есть, но не полноценный.
__________________
Hell is the possibility of sanity