Re[10]: Дзен-дубизм
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 18.04.06 13:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>Такой же как и в текущем случае — никакой.

ГВ>>Для кого?
AVK>А что, есть кто то, кому он пользу принес?

Да, есть. Почитай дискуссию.

AVK>Впрочем, если посчитать за таковую удовлетворенное себялюбие, то возможно.


Можно предположить и такой исход, как один из возможных результатов
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Дзен-дубизм
От: FR  
Дата: 18.04.06 13:51
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Тем не менее Черч делает смелое заявление: человек не в состоянии делать ничего такого, чего не могла бы машина Тьюринга. Невозможно придумать такое понятие вычислимости, которое было бы "мощнее" вычислимости при помощи МТ или общерекурсивных функций. Доказать этот тезис, очевидно, пока что невозможно.


Некторые физики (Пенроуз и Ко) выдвинули "тезис о невычислимости" и даже собираются его эксперементально проверить(http://www.computerra.ru/think/35650/)

V>>Если рассуждения не ошибочны, то их можно воспроизвести с помощью машины Тьюринга, разумеется.

S>Проблема в том, что никто не знает, что такое "рассуждения". Человек в состоянии воспроизвести машину Тьюринга, или следовать методам формальных доказательств. Однако непонятно, работает ли это в обратную сторону. Лично я уверен в том, что таки да, но удовлетворительного доказательства нет и быть пока не может, ибо методика прямого наблюдения за мышлением не создана.

V>>И что должна была доказать эта ссылка?

S>Что существуют неформализуемые, (пока что неформализованные/слабо формализованные) понятия, которые тем не менее не являются глупостями. Пренебрегать ими как раз и есть глупость.

+1
Re[7]: Дзен-дубизм
От: last_hardcoder  
Дата: 18.04.06 13:58
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, last_hardcoder, Вы писали:


_>>>>Думаю, это разумно для подготовки программистов. А будущим архитекторам полезно знать историю смены парадигм подробнее.


AVK>>>Т.е. предполагается что институт готовит программистов, которые не архитекторы?


_>>Я считаю, что институт готовит в основном программистов.


V>Если взять мою выписку из диплома, то там часов на подготовку меня как программиста — дай бог 5-10% от профилирующих (историю, философию, физкультуру и пр. вычеркиваем, иначе совсем маленький процент получим).


V>Остальные — подготовка как инженера, т.е. конкструктора программных систем.


Не сочти за наезд, просто интересно. А ты давно архитектором работаешь?

_>>Но какой-то процент из них впоследствии дорастут до архитекторов.


V>С 3-го курса их только архитектуре ПО, сетей, БД, БЗ и т.д. и учат... Значит, ты ведешь речь о выпускниках, которые отучились лишь первые 2 курса.


Насколько я себе представляю, учить архитектуре чего-то там и выпускать готовых архитекторов — это разные вещи. Впрочем, возможно, мы вкладываем в понятие "архитектор" несколько разные вещи.
Re[9]: Дзен-дубизм
От: Vermicious Knid  
Дата: 18.04.06 15:44
Оценка: 98 (2) +1
Здравствуйте, vdimas, Вы писали:


V>После всего прочитанного о парадигмах и прочего, склоняюсь к мысли что да, еще одна парадигма. Но если быть точным (исходить из того, что парадигма подразумевает определенный набор методов, правил и т.д.), то это не МП-парадигма, это скорее DSL-парадигма. Если интересно, могу попытаться разложить по полочкам.


Не стоит. Я вот с удивлением слежу за ходом дискуссий по-поводу парадигм. Каждый склоняет в общем-то хорошо известные, и имеющие хорошо понятные и четкие определения, термины как ему угодно. Для начала следуют определиться с тем, что каждый конкретный термин все таки означает(в понимании большинства исследователей, занимавшихся исследованиями в той или иной области) и тогда все эти споры станут абсолютно бессмысленными.

Метапрограммирование это написание программ, создающих программы и манипулирующих программами же(кодом программ). При этом конкретное средство метапрограммирования не имеет никакого значения, это общая концепция. Т.е. компилятор, транслятор, построитель парсеров и т.д. без сомнения являются метапрограммами в широком смысле этого слова. Но как и любая концепция — метапрограммирование, может иметь совершенно различный уровень реализации и развития в том или ином инструменте.

Такие инструменты как Nemerle поддерживают эту концепцию(парадигму если хотите) на очень высоком уровне. Его мета-язык является его же объектным языком и позволяет работать с объектным-кодом в run-time и через подключение пользовательских мета-программ непосредственно к компилятору(который и сам является мета-программой в каком-то смысле) в compile-time.

Есть языки, такие как Prolog, где концепция МП развита на чуть более низком уровне и строго ограниченна рамками run-time. Но тем не менее поддержка МП в этих языках есть, причем во многом более существенная, чем во многих compile-time мета-языках(например C++ templates). На самом деле то же пространство имен System.Reflection это средство метапрограммирования(так как позволяет анализировать и создавать программы).

А теперь пару слов о DSL. DSL это всего навсего частный случай метапрограммирования. То есть создание DSL — это без сомнения метапрограммирование, но вот метапрограммирование это далеко не всегда создание DSL. При этом сам DSL конечно может не иметь с метапрограммированием ничего общего(мета-языком в данном случае является средство непосредственного создания DSL мета-программы).
Re[4]: Дзен-дубизм
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 18.04.06 20:51
Оценка: +1
Здравствуйте, Кодёнок, Вы писали:

V>>При чем тут образ мышления? Есть задачи и есть несколько способов их решения. Разумеется, чем большим набором способов владеет программист, тем больше вероятность того, что он выберет удачный способ решения задачи. На отдельно взятых "образах мышления" лучше не зацикливаться.


Кё>Нет никаких нескольких способов решения. К реальным задачам, возникающим повседневно, готовых решений нет. Каждая задача встречается один раз. Если она встретилась второй раз, то решение УЖЕ есть и решать там нечего вообще. Если нужно что-то решать, продумывать, это говорит о том, что задача — новая.


Однако, есть шаблоны/методики/принципы построения решений схожих задач.

Например, задача построения транслятора обычно делится на несколько подзадач: анализ и разбор входного текста, построение промежуточного кода, построение объектного кода. Разумеется, можно строить объектный код вообще сходу, прямой подстановкой фиксированных наборов машинных команд на место конструкций входного языка. Но при этом можно потерять гибкость в адаптации к разным платформам и запутаться в огромном объёме таких конструкций. Иде здесь парадигма? Чистая математика с экономикой! А если какая-то "парадигма" и есть, то какая именно?

Кё>Человек, который хочет сделать что-либо, не выбирает "наиболее подходящее", как ты думаешь. Сначала он придумывает несколько решений, и только затем выбирает наиболее подходящее. Cколько решений ты сможешь придумать, зависит от того, насколько широко твое воображение. Если ты можешь мыслить только об объектах, то ты придумаешь 1, 10 или 100 решений, но они все будут ООП-шными. И если для задачи объектная декомпозиция плохо подходит, то все эти 100 решений будут плохими.


Кё>А когда ты знаком с другими подходами, тебе доступны новые множества решений. Не отдельные дополнительные решения — а именно множества.


Ну ёлки зелёные! Множества что, пустые, что ли? Или просто обозначенные своими названиями?

Кё>В этом и отличие — узнать новую парадигму, или просто новые шаблоны/методики/принципы.


Фокус в том, что "новая парадигма" — это просто набор слов без шаблонов/методик/принципов. А при познании последних "новая парадигма" снова — просто набор слов.

А есть ещё и соображения учебного процесса. И если некоторые наборы методов имеют в своём составе схожие или, паче чаяния, одинаковые методы, то с целью оптимизации учебного процесса изучать будут именно методы, а не их совокупности. А по агрегатам методов пройдутся где-то в самом конце — и хватит с них.

Кё>Знать парадигмы нужны не для того, чтобы застрять в одной и, не разбираясь, решать все задачи в одном духе. Они нужны как раз для того, чтобы тебе были доступны принципиально иные решения. Это как переход от целых чисел к действительным — и тех и других бесконечное множество, но это бесконечности разного рода.


Мне кажется, ты переоцениваешь значимость агрегативных понятий для синтеза решений. Пока они не конкретизированы методами и прочими сугубо конкретными вещами их ценность близка к нулю. Ну вот скажут, например, что задачи ИИ лучше всего решаются в парадигме сепуления. А что такое сепуление, как выглядит сепулька — за кадром. А если известно, что это такое, то знание о "парадигме сепуления", как о названии группы мало что добавит к владению сепульками.

На самом деле, я на практике чаще сталкивался с такой ситуацией: сначала решение придумывается (синтезируется), а потом кто-то говорит: "О! Так ведь у <нужное вписать> как раз об этом написано!" Ну это так, просто наблюдение.

Кё>Если например, ты не знаешь, что изменение состояния можно представить в виде создания функцией новой функции, которая будет немного отличаться от оригинала (а именно — действовать в соответствии с новым "состоянием"), то решения, включающие такой подход, тебе в голову не придут. А наиболее подходящее может быть как раз среди них.


Lisp был в программе третьего курса, если не ошибаюсь. С этого момента идея о самомодифицирующейся программе укоренилась в мозгах не только в виде stealth-вирусов. Собственно, да. Об этом напоминает сама конструкция компьютера, у которого память может интерпретироваться и как код, и как данные.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Дзен-дубизм
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 18.04.06 21:07
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ГВ>>3. Википедия — очень опасный источник определений. Ссылка на википедию в ответе должна приравниваться автонезачёту.

ГВ>>PS.: Я теперь знаю о чём это: «Какова вероятность, что случайно рассыпанные литеры сложатся в «Войну и Мир»?» Это про википедию.

[скип]
ЗХ>(c) снова avva

Это всё понятно. Но если бы кто-то, не будем говорить кто, не сослался именно на эту статью в википедии в обсуждении вузовского обучения...
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Дзен-дубизм
От: Зверёк Харьковский  
Дата: 18.04.06 21:23
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Зверёк Харьковский, Вы писали:


ГВ>>>3. Википедия — очень опасный источник определений. Ссылка на википедию в ответе должна приравниваться автонезачёту.

ГВ>>>PS.: Я теперь знаю о чём это: «Какова вероятность, что случайно рассыпанные литеры сложатся в «Войну и Мир»?» Это про википедию.

ГВ>[скип]

ЗХ>>(c) снова avva

ГВ>Это всё понятно. Но если бы кто-то, не будем говорить кто, не сослался именно на эту статью в википедии в обсуждении вузовского обучения...


Фразы не понял.
FAQ — це мiй ай-кью!
Re[11]: Дзен-дубизм
От: vdimas Россия  
Дата: 18.04.06 22:22
Оценка:
Здравствуйте, Sinclair, Вы писали:

[skip]

S>При этом совершенно четко можно различить интуитивное представление о температуре и научное представление о том, что это такое.


Пример насчет температуры малость неудачный, т.к. у людей температура ассоциируется с одним из чуств — осязанием. Люди знакомились с ней на ощупь и понятие интуитивным назвать сложно.


S>Неясно, можно ли описать человеческое мышление при помощи машины Тьюринга.


Можно, если не принимать в расчет наличие "души". Ведь на самом низком уровне это сеть нейронов.

S>Тем не менее Черч делает смелое заявление: человек не в состоянии делать ничего такого, чего не могла бы машина Тьюринга. Невозможно придумать такое понятие вычислимости, которое было бы "мощнее" вычислимости при помощи МТ или общерекурсивных функций. Доказать этот тезис, очевидно, пока что невозможно.


Когда сделают нейронную сетку в несколько миллиардов ячеек и с разрешающей способностью в сотни бит на связь, и докажут эквивалентность этой сетки человеческому мозгу (а вдруг доживем!), то это и будет доказательством.

V>>Если рассуждения не ошибочны, то их можно воспроизвести с помощью машины Тьюринга, разумеется.

S>Проблема в том, что никто не знает, что такое "рассуждения". Человек в состоянии воспроизвести машину Тьюринга, или следовать методам формальных доказательств. Однако непонятно, работает ли это в обратную сторону. Лично я уверен в том, что таки да, но удовлетворительного доказательства нет и быть пока не может, ибо методика прямого наблюдения за мышлением не создана.

Разумеется. Логический вычислитель эмулируется нейронной сеткой. Да скорее удасться доказать, что подобный вычислитель с ненулевой вероятностью работает ошибочно.

S>Что существуют неформализуемые, (пока что неформализованные/слабо формализованные) понятия, которые тем не менее не являются глупостями. Пренебрегать ими как раз и есть глупость.


Понятно. Если вернуться к нашим баранам, то бишь к парадигмам, то после размышлений на эту тему мне наиболее правильным показался самый первый вариант его применения. Когда парадигмой в IT было названо все то, что накоплено и используется. И про смену парадигм как про мини-революцию тоже согласен. Затем это понятие стали применять направо и налево, заменили им понятие подход, придали понятию немного широты, но не за счет формального определения, а за счет интуитивного: "способ глядеть на мир". В подобном определении уместно в конце приписать: "to be continued...", ибо само понятие, очевидно, не устаканилось. Не отрицаю, что устаканиться когда-нибудь.

S>На досуге советую подумать над тем, что такое множество, есть ли альтернативный способ определить этот термин (так, чтобы он не слишком противоречил нашему интуитивному представлению о множестве), и можно ли построить другую алгебру множеств, чем та, на котороой зиждется университетский курс.


... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Дзен-дубизм
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 18.04.06 23:11
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ГВ>>Это всё понятно. Но если бы кто-то, не будем говорить кто, не сослался именно на эту статью в википедии в обсуждении вузовского обучения...


ЗХ>Фразы не понял.


Копать отсюда
Автор: VladD2
Дата: 05.04.06
вверх и вниз по ветке.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Дзен-дубизм
От: vdimas Россия  
Дата: 18.04.06 23:12
Оценка:
Здравствуйте, last_hardcoder, Вы писали:

_>Не сочти за наезд, просто интересно. А ты давно архитектором работаешь?


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

_>>>Но какой-то процент из них впоследствии дорастут до архитекторов.


V>>С 3-го курса их только архитектуре ПО, сетей, БД, БЗ и т.д. и учат... Значит, ты ведешь речь о выпускниках, которые отучились лишь первые 2 курса.


_>Насколько я себе представляю, учить архитектуре чего-то там и выпускать готовых архитекторов — это разные вещи. Впрочем, возможно, мы вкладываем в понятие "архитектор" несколько разные вещи.


В нас вкладывали по ГОСТам (19-е, 34-е). Т.к. современные ГОСТы по IT малость отстали, в современных выпускников надо вкладывать сразу несколько буржуазных стандартов и процессов . Скепсис — из-за слишком большой большой пестроты и разброса, сейчас нереально ограничиться только лишь UML+RUP (наиболее близкие по духу к нашим ГОСТам, правда не столь полные)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Дзен-дубизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.06 23:36
Оценка: :))
Здравствуйте, Vermicious Knid, Вы писали:

...

Отлично сформулировано. Именно это я и пытался донести.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Дзен-дубизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.06 23:36
Оценка:
Здравствуйте, vdimas, Вы писали:

VD>>Да, как бы список возражающих то повесомее будет. Да и аргументация есть, а путания в том, что есть/чего нет нету. Так что...


V>А можно в одном месте собрать всю аргументацию? Если действительно охота по-людски закончить спор.


Попытаюсь: вот эти мысли кажутся мне верными
Автор: Vermicious Knid
Дата: 18.04.06
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Дзен-дубизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.06 01:29
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>ИМХО парадигма программирования так же относится к реальному программированию, как форум "Философия программирования" — к тематическим форумам


Понимание и оценка в основном завист от личности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Дзен-дубизм
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.04.06 02:50
Оценка: 163 (7) +1 -1 :))) :))) :))) :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Ещё раз услышу про парадигму программирования — заклеймлю нафиг.


Итак, можно подвести итоги данного топика. Совершенно очевидно, что мы стали свидетелями зарождения новой парадигмы — безпарадигматического (aparadigmatic) программирования. Этот образ мышления отрицает наличие какого-либо прикладного значения как у самого понятия "парадигма программирования", так и у конкретных парадигм. Влияние образа мыслей исследователя на проблему в этой парадигме начисто отрицается, считается что в решении задач играют роль только конкретные методики, а также строгие математические модели.

Основным парадоксом данной парадигмы, конечно же, является невозможность ее признания ее же приверженцами.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Дзен-дубизм
От: kero Россия  
Дата: 19.04.06 03:45
Оценка: +1
VK>[...] DSL это всего навсего частный случай метапрограммирования. [...] При этом сам DSL конечно может не иметь с метапрограммированием ничего общего

VD>Отлично сформулировано.


По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[10]: Дзен-дубизм
От: vdimas Россия  
Дата: 19.04.06 04:20
Оценка: 6 (1) +1
Здравствуйте, Vermicious Knid, Вы писали:

Ты меня окончательно запутал. МП, получается, это вообще не парадигма, а примочка, которую можно прикладывать к другим парадигмам, так? Ведь само по себе МП не живет. Мы должны определиться с парадигмой, т.е. с "т.з. на программу" (объктная, функциональная, логическая и т.д.), а МП — это вроде как один из инструментов для достижения цели.

Кстати, тема наличия МП в Пролог не раскрыта. С удовольствием послушаю, какие там встроены ср-ва в сам язык. И если уж речь зашла о точности терминов, то воизбежание жонглирования хотелось бы услышать, почему МП — это парадигма?
Re[8]: Дзен-дубизм
От: vdimas Россия  
Дата: 19.04.06 04:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, vdimas, Вы писали:


VD>>>Да, как бы список возражающих то повесомее будет. Да и аргументация есть, а путания в том, что есть/чего нет нету. Так что...


V>>А можно в одном месте собрать всю аргументацию? Если действительно охота по-людски закончить спор.


VD>Попытаюсь: вот эти мысли кажутся мне верными
Автор: Vermicious Knid
Дата: 18.04.06


Несомненно интересный пост по ссылке, но мало относящийся к поставленным вопросам о парадигмах и способе их преподавания. На этом, вроде, не сошлись и мне действиетльно интересно, чтобы противная сторона разложила по полочкам "свое видение" места парадигмы в IT вообще и в преподавании в частности...

А насчет этого поста, есть пара моментов, которые показались мне интересными, но малость непонятными, попытаю автора...
Re[10]: Дзен-дубизм
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 19.04.06 04:49
Оценка: +1 -1 :))
Здравствуйте, Vermicious Knid, Вы писали:

V>>После всего прочитанного о парадигмах и прочего, склоняюсь к мысли что да, еще одна парадигма. Но если быть точным (исходить из того, что парадигма подразумевает определенный набор методов, правил и т.д.), то это не МП-парадигма, это скорее DSL-парадигма. Если интересно, могу попытаться разложить по полочкам.


VK>Не стоит. Я вот с удивлением слежу за ходом дискуссий по-поводу парадигм. Каждый склоняет в общем-то хорошо известные, и имеющие хорошо понятные и четкие определения, термины как ему угодно. Для начала следуют определиться с тем, что каждый конкретный термин все таки означает(в понимании большинства исследователей, занимавшихся исследованиями в той или иной области) и тогда все эти споры станут абсолютно бессмысленными.


Скажу больше. Тогда бы их и не возникало. Одно напрягает: не ясно, кого считать исследователями, а кого — кем-то ещё. Также будет трудно оценить уровень и квалификацию отдельного взятого исследователя. За неимением возможности оценить качественные характеристики того или иного субъекта, следует обратиться к исторически сложившемуся понятийному базису.

А не обращаться к голосованию. Нильса Бора я уже устал поминать.

VK>Метапрограммирование это написание программ, создающих программы и манипулирующих программами же(кодом программ). При этом конкретное средство метапрограммирования не имеет никакого значения, это общая концепция. Т.е. компилятор, транслятор, построитель парсеров и т.д. без сомнения являются метапрограммами в широком смысле этого слова. Но как и любая концепция — метапрограммирование, может иметь совершенно различный уровень реализации и развития в том или ином инструменте.


VK>Такие инструменты как Nemerle поддерживают эту концепцию(парадигму если хотите) на очень высоком уровне.


С этого места поподробнее, пожалуйста. Так концепцию или парадигму?

PS.: Это дополнительный вопрос к тем, что задал vdimas.

Его мета-язык является его же объектным языком и позволяет работать с объектным-кодом в run-time и через подключение пользовательских мета-программ непосредственно к компилятору(который и сам является мета-программой в каком-то смысле) в compile-time.

VK>Есть языки, такие как Prolog, где концепция МП развита на чуть более низком уровне и строго ограниченна рамками run-time. Но тем не менее поддержка МП в этих языках есть, причем во многом более существенная, чем во многих compile-time мета-языках(например C++ templates). На самом деле то же пространство имен System.Reflection это средство метапрограммирования(так как позволяет анализировать и создавать программы).


Ну, осталось поглядеть на Prolog с точки зрения марсиан и найти в нём что-то марсианское. Чего не сделаешь ради доказательства всепроникающей сущности жителей красной планеты!

VK>А теперь пару слов о DSL. DSL это всего навсего частный случай метапрограммирования. То есть создание DSL — это без сомнения метапрограммирование, но вот метапрограммирование это далеко не всегда создание DSL.


Бери круче. Создание любой библиотеки — это тоже метапрограммирование. Скажу ещё больше — любая программа на ЯВУ — это чистой воды метапрограмма!

VK>При этом сам DSL конечно может не иметь с метапрограммированием ничего общего(мета-языком в данном случае является средство непосредственного создания DSL мета-программы).


О, как. Логика зажигательна. Три тезиса:

N1

DSL это всего навсего частный случай метапрограммирования.


N2

...сам DSL конечно может не иметь с метапрограммированием ничего общего

...будучи частным случаем метапрограммирования?

N3

(мета-языком в данном случае является средство непосредственного создания DSL мета-программы)

...ага, значит, язык Yacc — тоже метаязык? И ANTLR-грамматики — тоже метаязыки? И нотация [E]BNF (чуть-чуть обобщим) — тоже метаязык? И притом шаблоны C++ — тоже метаязык?

Так что, присоединяюсь к просьбе vdimas — раскрой тему поподробнее.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Дзен-дубизм
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 19.04.06 05:00
Оценка: -1
Здравствуйте, Sinclair, Вы писали:

ГВ>>Ещё раз услышу про парадигму программирования — заклеймлю нафиг.

S>Итак, можно подвести итоги данного топика. Совершенно очевидно, что мы стали свидетелями зарождения новой парадигмы — безпарадигматического (aparadigmatic) программирования. Этот образ мышления отрицает наличие какого-либо прикладного значения как у самого понятия "парадигма программирования", так и у конкретных парадигм. Влияние образа мыслей исследователя на проблему в этой парадигме начисто отрицается, считается что в решении задач играют роль только конкретные методики, а также строгие математические модели.

S>Основным парадоксом данной парадигмы, конечно же, является невозможность ее признания ее же приверженцами.


Ммм... э... ну, у меня в подписи всё сказано. Считай ссылкой на авторитет.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Дзен-дубизм
От: Vermicious Knid  
Дата: 19.04.06 05:48
Оценка: +1
Здравствуйте, vdimas, Вы писали:

V>Ты меня окончательно запутал. МП, получается, это вообще не парадигма, а примочка, которую можно прикладывать к другим парадигмам, так?

Называй как тебе угодно. Хоть примочкой, хоть присоской, хоть парадигмой. Сути это не меняет. Изъясняйся как тебе проще.

V>Ведь само по себе МП не живет.

Конечно не живет, как и любая парадигма. Для того, чтобы МП жило нужно две вещи — метаязык(язык на котором пишется метапрограмма) и объектный язык(язык(и) с которым работает метапрограмма). Все.

Для того, чтобы жило ФП нужны функции как значения. Для ООП нужны объекты. Улавливаешь взаимосвязь?

Другое дело уровень развития этой самой жизни. Скажем на C можно сэмулировать объекты, но уровень такой программы будет значительно ниже аналогичной программы на C++. Тоже самое и с ФП, и с МП. На любом тюринг-полном языке программирования можно написать все что угодно, следовательно он может быть метаязыком. Метаязык правда не обязан быть языком программирования, как и объектный язык, но это вырожденные случаи и мне они малоинтересны.

V> Мы должны определиться с парадигмой, т.е. с "т.з. на программу" (объктная, функциональная, логическая и т.д.), V>а МП — это вроде как один из инструментов для достижения цели.

МП это не инструмент. МП это принцип, концепция, парадигма, идея, все что угодно, но не инструмент. Инструмент для достижения цели в контексте МП это метапрограммы и(или) программы на объектном языке.

V>Кстати, тема наличия МП в Пролог не раскрыта. С удовольствием послушаю, какие там встроены ср-ва в сам язык.

В первую очередь с точки зрения любой вменяемой Пролог-системы код это данные. Эти данные можно создавать, изменять, производить их декомпозицию. В общем rtfm. Здесь кстати приводились небольшие примеры(1
Автор: Vermicious Knid
Дата: 11.03.06
, 2
Автор: uw
Дата: 17.06.05
) использования этих ср-в.

V>И если уж речь зашла о точности терминов, то воизбежание жонглирования хотелось бы услышать, почему МП — это парадигма?

А почему бы и нет? Я кстати не говорил о точности терминов, я говорил о четкости определений. Это немножко разные вещи. Определение метапрограммирования(как чего угодно) я представляю себе очень четко, чего и желаю всем окружающим.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.