Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Динамические программы / 18 сообщений из 18, страница 1 из 1
19.03.2012, 19:05
    #37712320
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
когда программа в рантайме меняет сама себя, например компилит в память некоторые классы, или меняет существующие.

когда такое реально надо? тыкните ссылку на практически интересный пример

спасибо.
...
Рейтинг: 0 / 0
19.03.2012, 20:29
    #37712429
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
Когда-то, когда деревья были большими, году этак в 99-м, сдавал я дипломную по информатике. На Borland Pascal. Задачка была несложная - сделать вывод графика конкретной заданной функции, плюс примочки типа масштабирования, скроллинга, etc... Ну а поскольку я уже тогда страдал великим самомнением о своих программистских способностях - сделал я так, чтобы функцию можно было задавать динамически, во внешнем файлике. И прога компилила на ходу TPU-шник с функцией из её описания, а затем этим модулем пользовалась...
...
Рейтинг: 0 / 0
19.03.2012, 20:54
    #37712458
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
Вот тебе пример .

Enjoy!
...
Рейтинг: 0 / 0
19.03.2012, 21:06
    #37712470
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
mayton,

меня интересует задача ( интересный пример ), решение которой без динамически-изменяющей-сама-себя программы хуже чем с ней ( реально надо )
...
Рейтинг: 0 / 0
19.03.2012, 21:08
    #37712471
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
Любой численный метод есть низкоуровенвая оптимизация типа развертывания циклов.
...
Рейтинг: 0 / 0
19.03.2012, 21:15
    #37712480
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmawкогда такое реально надо?
Каждый раз, когда программа должна вести себя неким не предусмотренным заранее образом. Скажем, любая загрузка плагина - уже "меняет саму себя". Зачем нужны плагины, надеюсь, объяснять не нужно.

Следующий вопрос - зачем программе делать это "компиляцией" - настоящей или не совсем. Ответ на него также прост: это даёт лучшую производительность, это даёт большие возможности довольно малой ценой, нередко это ещё и кардинально проще в реализации, нежели другие варианты.
...
Рейтинг: 0 / 0
19.03.2012, 21:17
    #37712481
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmawменя интересует задача ( интересный пример ), решение которой без динамически-изменяющей-сама-себя программы хуже чем с ней ( реально надо )
Любая оптимизация. Например, выполнение SQL-запроса - та же DB2, помнится, компилит запросы в бинарный исполняемый вид, Оракл компилирует PL/SQL код...
...
Рейтинг: 0 / 0
19.03.2012, 23:29
    #37712633
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmawкогда программа в рантайме меняет сама себя, например компилит в память некоторые классы, или меняет существующие.

когда такое реально надо? тыкните ссылку на практически интересный пример

спасибо.
полиморфный вирус.
...
Рейтинг: 0 / 0
19.03.2012, 23:32
    #37712636
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmawкогда программа в рантайме меняет сама себя, например компилит в память некоторые классы, или меняет существующие.

когда такое реально надо? тыкните ссылку на практически интересный пример

спасибо.
в целях отладки:
что-бы не ребутить сервак при каждом изменении класса. просто спец утилиткой компилится подгружается класс в систему. не совсем то(ведь программа не сама себя модифицирует).

еще гарячую замену кода любят в телекомах. там вырубать серваки нельзя.
...
Рейтинг: 0 / 0
20.03.2012, 10:09
    #37712869
k0rvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
ZyK_BotaNеще гарячую замену кода любят в телекомах. там вырубать серваки нельзя.

Не так давно еще была ситуация с такой заменой кода на каком-то космическом аппарате.
...
Рейтинг: 0 / 0
20.03.2012, 10:19
    #37712885
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmawmayton,

меня интересует задача ( интересный пример ), решение которой без динамически-изменяющей-сама-себя программы хуже чем с ней ( реально надо )
А все они так или иначе меняют. Чтобы написать неизменяемую ( реентерабельную ) программу, надо ещё повозиться. Причём, проблемы начнутся уже с третьей строки кода. :)
ПС. В википедии очень плохая (из рук вон) статья.
...
Рейтинг: 0 / 0
20.03.2012, 12:51
    #37713273
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
Можно еще почитать про Java Instrumentation.
...
Рейтинг: 0 / 0
21.03.2012, 15:51
    #37716022
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
- замена кода в телекомах и космических кораблях
- полиморфные вирусы
- "...Оракл компилирует PL/SQL код..."
- "А все они так или иначе меняют. Чтобы написать неизменяемую (реентерабельную) программу, надо ещё повозиться..."
меня это не интересует

то есть в приземленной, повседневной практике и не найти примерчик? все только из области высших сфер, получается?
...
Рейтинг: 0 / 0
21.03.2012, 15:57
    #37716033
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
Найти можно. Например, я имел дело с системой, которая по описанию бизнес-логики документа генерила, компилировала и подключала программный код реализующих его классов. Другой вопрос, что в приземлённых случаях чаще стоит использовать другие способы.
...
Рейтинг: 0 / 0
21.03.2012, 16:00
    #37716041
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmawто есть в приземленной, повседневной практике и не найти примерчик? все только из области высших сфер, получается?
А что ты собственно хочешь услышать? Какие такие высшие сферы? Про Java Instrumentation я уже говорил.
+есть еще Java Hot Code Replacement (HCR). Используется в отладке кода. Я лично не использовал. Или по крайней
мере не помню чтоб я явно его использовал. А сколько раз оно используется неявно - йух его знает.

+любое приложение которое использует плагины и во время сеанса несколько раз их перегружает. Вот тебе
еще один пример "динамической программы".
...
Рейтинг: 0 / 0
21.03.2012, 16:04
    #37716048
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
самый очевидный пример - браузер.
загружает JS для страницы как текстовые данные, и компилит в функции/объекты.
...
Рейтинг: 0 / 0
21.03.2012, 23:46
    #37716976
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmaw- замена кода в телекомах и космических кораблях
- полиморфные вирусы
- "...Оракл компилирует PL/SQL код..."
- "А все они так или иначе меняют. Чтобы написать неизменяемую (реентерабельную) программу, надо ещё повозиться..."
меня это не интересует

то есть в приземленной, повседневной практике и не найти примерчик? все только из области высших сфер, получается?
э. я же сказал - отладка программ. что-бы на каждый чих - не ребутить сервер.
...
Рейтинг: 0 / 0
22.03.2012, 06:08
    #37717105
f#
f#
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамические программы
kmaw,

Для быстроты регулярное выражение можно компильнуть в сборку

http://msdn.microsoft.com/en-us/library/9ek5zak6.aspx
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Динамические программы / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]