Обсуждение:Метапрограммирование

Последнее сообщение: 8 лет назад от Arachnelis в теме «Что есть сабж»

Untitled править

Статья, извините, (оскорбление скрыто) (прочитать). Надо переписать полностью. Lovesan 17:44, 11 января 2009 (UTC)Ответить

Поддерживаю. Как это так, чтобы в статье про метапрограммирование, lisp упоминался лишь один раз, и лишь в связи с eval? Сделайте хотя бы кальку с английской версии. Freehck 14:16, 4 марта 2018 (MSK)

Что есть сабж править

1) Приставка «мета-» вошла в современную науку через системологию. В латыни даже ступень на крыльце является «мета-ступенью», но в современной науке это должен быть переход к системе качественно иного уровня, метасистемный переход. Поэтому «метапрограммирование» означает «я программирую не непосредственно то, что требуется, а то, что запрограммирует нужную программу за меня».
2) Императивные GUI-builder'ы генерируют каркас кода, а не данные. В принципе могут устанавливать некие реакции, например, "закрыть окно по Escape", или связать нажатие некой кнопки с открытием другого окна - в этом случае уже можно смело говорить о генерации кода.
3) Кто знает примеры не-императивных GUI-builder'ов - примеры в студию. Я не встречал и слабо представляю себе, как (и зачем) писать, например, генератор для en:Fudgets, wxHaskell или LTK. Arachnelis 12:15, 17 января 2016 (UTC)Ответить
  • Я видел холивар, и он меня огорчил как антиудалиста. Может статья и слабенькая, но УДАЛЕНИЕ известного и употребимого термина из энциклопедии — дело скверное. Должна висеть плашка «дописать» или как там. Да, я привёл либы, но с намёком именно на то, что код под эти либы столь компактен и гибок, что визуальная накатайка над ними только добавляла бы громоздкости и при этом снизила бы гибкость - т.е. это тот случай, когда текстовый DSL мощнее, чем визуальный. Просто там среди последних правок две затевают спор на эту тему, поэтому я и открыл обсуждение. А GUI Builder — это не то, что IDE, хотя такие вещи как BC++B их и смешивают до степени, что и грань не провести толком. Arachnelis 18:43, 17 января 2016 (UTC)Ответить