LINUX.ORG.RU

Ответ на: Ду ю спик рашен? от anonymous

Если вообщем, то это программы, или части программы, котороые генерируют программы, [ которые генерируют программы, которые генерируют программы.....]:)

Например шаблоны в C++ и макры в Lisp, там по ссылке есть пример на bash'e.

CrazyPit ★★★
()
Ответ на: комментарий от CrazyPit

Прошу прощения за тупой вопрос, а PHP - ето тоже метапрограммирование? Ну т.е. он генерит HTML-код.

anonymous
()
Ответ на: комментарий от CrazyPit

Я бы добавил бы к "генерируют" еще " и анализируют"

ukez
()
Ответ на: комментарий от W98

Да, программа на PHP может генерить код на PHP, и тут же его исполнять. То же самое можно делать и в Tcl, и в JavaScript. С этой точки зрения они все являются метаязыками. Только от этого не легче - как были они тормозами, так и останутся. Метапрограммирование должно не в рантайме, а во время компиляции работать - как в C++ или Common Lisp.

anonymous
()
Ответ на: комментарий от anonymous

> чем это он ущербен?

Ну, для примера, напиши шаблон(ы), который по аналитической функции в виде выражения, содержащего определённые заранее операции (например, +, -, *, /, exp, sin, cos ) генерит код, вычисляющий производную этой функции. Не численным дифференцированием, а аналитически.

Или, скажем, аналог описанного в главе 24 OnLisp (http://www.paulgraham.com/onlisptext.html).

watashiwa_daredeska ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.