Re[31]: Веб и динамика? Веб и статика+метапрограммирование.
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.12.10 16:19
Оценка:
VD>Нет. Это, просто, еще одна проблема о которой ты что-то где-то читал, но вникнуть не удосужился. И в очередной раз ты смело бросаешься в обсуждение того в чем не разорался.

VD>Повторяю последний раз. Супер-компиляция — это метод оптимизации. Она не изменяет семантики кода. Главной же целью мета-программирования является изменение семантики кода.


задам тебе те же самые вопросы, что и WH

изменение какой именно семантики: аксиоматической, операционной или может денотационной семантики?

в виде определения, пожалуйста.

какую из этих семантик меняет введение foreach, using, peg-грамматики в язык?
какую семантику меняет linq2sql?

почему ту же самую семантику не меняет суперкомпиляция?

доказательство, пожалуйста.

также могу добавить следующие вопросы
на оценку 3+:
1. одинаковая ли аксиоматическая, операционная и денотационная семантика у макроса и у исходного кода?
на оценку 4
2. как меняются данные семантики при переходе от исходного языка к макросам и обратно?
на оценку 4+
3. каковы правила редукции семантики при переходе от языка к макросам и обратно?
Re[31]: Веб и динамика? Веб и статика+метапрограммирование.
От: Воронков Василий Россия  
Дата: 22.12.10 16:21
Оценка:
Здравствуйте, WolfHound, Вы писали:

ВВ>>>>Берешь и пишешь парсер своего языка, а также парсер ХТМЛ-я. На основе полученного АСТ можно генерировать код на целевом языке, который генерирует ХТМЛ.

ВВ>>>>По сравнению с макросом задача усложняется тем, что нужен еще и парсер своего языка. Но его можно создать один раз и реюзать для дальнейших ДСЛ-ей.
WH>>>Ты сам то понял что только что предложил сделать макросы?
ВВ>>Я предложил внешний ДСЛ.
ВВ>>Макросы позволяют сделать внутренний ДСЛ.
ВВ>>А кардинальной разницы нет, да.
WH>А зачем ты написал выделенное?
WH>Это же явное предложение сделать возможность внутри своего языка вставлять другой.
WH>Те превратить нешний ДСЛ во внутренний но сделать это через задний проход.

Это игра какая-то? Ты меня спросил — как без макросов встроить в свой язык код на другом языке (HTML). Теперь тебя удивляет то, что я предложил добавить "возможность внутри своего языка вставлять другой"? А как еще это сделать-то?
И все равно это будет внешний ДСЛ — так же, как и ASPX это внешний ДСЛ. Просто выделять блоки кода лучше все же парсером, чем регексами.

ВВ>>ASPX вот — тоже такой внешний ДСЛ. Просто очень убогий. И вместо парсера там регексы. Почему — я не знаю. Но мне слабо верится в то, что он убогий, потому что в C# нет макросов, и у МС не хватило денег и времени на разработку чего-то более вменяемого.

WH>Именно так.
WH>Они там все на С++ пишут...
WH>А этот язык требует просто нереальное колличество ресурсов для разработки.

Ну сделать парсер на С++ или на С# невелика разница. Скорее всего в обоих случаях будет опять же внешний тул с внешним ДСЛ-ем. Ну есть спирит еще. А у шарпа вот никаких спиритов нету.

ВВ>>Скорее были приоритеты другие на момент его создания + совместимость с ASP Classic.

WH>

А что смешного? Приоритеты и правда были другие. Они хотели сделать веб-фреймворк по аналогии с виндоус формс. Эта идея благополучно слилась. Когда она слилась, и у них появились менее кретинические идеи, тот же MVC, они остались один-на-один с убогим шаблонизатором. Теперь много новых накатали, тот же Разр. Правда, все равно они как-то не то чтобы айс.

ВВ>>Интереснее тут другое. Я в общем не очень понимаю, почему на вопрос "а насколько этим удобно пользоваться?" я получаю ответ "но зато это написано на макросах".

WH>Это твои фантазии.
WH>Я тебе показал два примера которые в качестве внешних ДСЛ неюзабельны вообще но ты их проигнорировал.

Это какие? Я вообще часто по диагонали читаю, мог и проигнорировать.
Re[35]: Веб и динамика? Веб и статика+метапрограммирование.
От: Воронков Василий Россия  
Дата: 22.12.10 16:22
Оценка:
Здравствуйте, WolfHound, Вы писали:

ВВ>>Мутабельные локальные переменные могут мешать выводу типов. Собственно, в общем случае их тип не выводится вообще. С ref гораздо проще. И в контексте разговора они сильно лучше мутабельных локальных переменных. При этом, что, собственно, ясно из названия, они обеспечивают ref семантику. Для мутабельных переменных пришлось бы вводить дополнительный механизм. А в плане опасности ref ничуть не опаснее хэш-таблиц, частным случаем которых и являются.

WH>Бред!
WH>Изменяемость переменной выводу типов не мешает.

Ты хоть понял, что речь о динамике и выводе типов для интеллисенса?
Re[29]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 16:23
Оценка:
Здравствуйте, DarkGray, Вы писали:


DG>>>кстати, макросы (раскрытие и свертку), исходя из теории программирования можно рассматривать, как подвид суперкомпиляции программы.


VD>>Что за свертку макросов ты сейчас придумал?


DG>если говорить, что foreach — это макрос, то:


DG>это развернутый код

DG>
DG>for(int i = 0; i < 10; ++i)
DG>{
DG>   Console.WriteLine(i);
DG>}
DG>[code]

DG>это свернутый с помощью макросов
DG>[code]
DG>foreach (var i in Enumerable.Range(0, 10))
DG>  Console.WriteLine(i);
DG>


Супер! Придумываешь новые термины и потом ими оперируешь.

В среде тех кто занимается макросами проффесионально второе называется применением макросов. Ни кто из тех кто использует макры не думает о том во что они реально разворачиваются. Люди мыслят на созданном с помощю макросов языке.

VD>>Что до суперкомпиляции, то еще раз повторяю тебе — это метод оптимизации. Она не меняет семантики кода. МП же своей целю имеет изменение семантики.


DG>суперкомпиляция — это теоретическая формулировка решаемой задачи.


Давай ты не будешь подменять определения авторов.

DG>это ответ на вопросы:

DG>1. какую теоретическую задачу решает введение макросов?

Разные. Но всегда конечной целью является изменение семантики кода или введение новой семантики. Например, Немерле вообще нет никаких видов циклов. Стандартные макросы foreach, while и т.п. добавляют такую семантику к языку. Это ничем не отличается от подобной поддержки в самом языке. Просто код реализации циклов четко выделен и доступен для отдельного изучения/модернизации.

DG>2. какая теоретическая задача решается при linq2sql, pl2js и т.д.?


У них практическая задача. Это провайдеры занимающиеся конвертацией деревьев выражений в другие форматы данных и обратно. К слову, как раз их то очень эффективно реализовывать средствами макросов. Решение задачи упрощает в сотни раз (по сравнению с реализацией на С#).

Суперкомпиляыией же здесь даже не пахнет.

VD>>Ты лучше овтеть на прсотой вопрос. С какой целью ты суперкомпиляцию сюда приплел (если, кончено, отбросить предположение, что брякнул не подумав)?


DG>цель — как у и любого приплетания теории: получить фундаментальный базис на который можно опереться при решении задачи.


А чем прилепленная не понятно из каких соображений теория поможет в другой области? Может давай еще сюда теорию относительности прилепим?

DG>>>при этом фиксированным доп. параметром суперкомпиляции — является исполнитель: с одной стороны — компилятор конкретного языка, с другой стороны — разработчик.


VD>>О, блин, дожили. Разработчик стал у нас параметром программы!


DG>конечно. пользователь программы всегда является одним из самых важных параметром программы.


Вот это гон.

DG>программа делающая одну и ту же функцию — но для космонавта или бухгалтера — это две разные программы.


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

DG>если мы говорим про МП, то пользователем такой программы — является разработчик.


А причем тут параметры? Параметрами макроса является код или данные прочитанные из других испточников. Зачем приплетать сюда пользователей? Так можно далеко зайти.
В общем, явно пудришь мозг с целью завуалировать ошибки в своих рассуждениях.

DG>и поэтому — да, для метапрограммы — разработчик является весомым параметром.


ОК. И как суперкомпиляция влияет на этот фактор?

ЗЫ

Самому то не смешно? Бред же несешь страшнейший!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Веб и динамика? Веб и статика+метапрограммирование.
От: Воронков Василий Россия  
Дата: 22.12.10 16:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

ВВ>>Можно замутить что-то в стиле метаклассов питона. И таки да, типизатор отдохнет в таком случае. Доволен?

WH>А в немерле сволочь такая не смотря на макросы не дохнет.
WH>Теперь то тебе очевидно что твое утверждение
WH>

WH>Если брать с чистого листа, то создание ИДЕ для динамически-типизированного языка и "языка вроде Немерле" — по сложности где-то близкие задачи. И там, и там будет хардкорный вывод типов

WH>Бред.

Нет, не бред. Я просто понимаю, что типы будут выводиться не всегда и интеллисенс не будет работать в ряде случаев. Но большинство сценариев он будет покрывать. В С# 4 вон тоже можно написать код, для которого интеллисенс "официально" не работает.
Re[30]: Веб и динамика? Веб и статика+метапрограммирование.
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.12.10 16:47
Оценка:
VD>В среде тех кто занимается макросами проффесионально второе называется применением макросов. Ни кто из тех кто использует макры не думает о том во что они реально разворачиваются. Люди мыслят на созданном с помощю макросов языке.

дык, а в среде тех кто занимается проффесионально теорией программирования (в том числе разработкой языков программирования) — это называние редуцированием (или сверткой — если более по-русски).
будем дальше меряться — кто более проффессионален?
Re[8]: Веб и динамика? Веб и статика+метапрограммирование.
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.12.10 17:26
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


ВВ>>>Это я не очень понял, к чему ты.

S>>К отсутствию дублирования в некоторых стратегиях разделения обязанностей.

ВВ>Тогда не очень понял, что это за стратегии. Примерчик можно?

Я же приводил. Пишем констреинт на свойство; этот констреинт компилируется в DDL, в JS, и в MSIL.
Кода по построению UI нет в сервере, кода по работе с разделяемым состоянием нет в JS.

ВВ>Ну а причем тут С? Часто на С веб-приложения пишут? На PHP вполне сравнимо, мне кажется. На Nemerle или С# тоже будет практически одинаково.

В PHP я не эксперт.
ВВ>Заметь, кстати, ты сравнил Си и ASP.NET MVC, т.е. корову и яйца. А не Си и C#. Т.е. что тебе упрощает твой РЕСТ-то на самом деле? Не язык, нет. Библиотека.
А на C ASP.NET MVC написать невозможно. Нет в языке средств по построению таких "библиотек". Иначе бы С++ так никогда и не родился бы.

ВВ>Я таких средств не знаю. Linq к ним не относится, к примеру.

Почему? По-моему, он таки как раз относится. Банально то, что он реализует пейджинг из коробки, уже решает очень многое. Потому что на более традиционных фреймворках программисты тупо на это забивают и делают skip/take в серверном коде. Проблемы с масштабируемостью такого подхода очевидны?

ВВ>Кстати, такие средства даже на уровне, скажем, C# кода вносят такой оверхед, что мало не покажется. Представляешь же как linq2sql работает? Не будешь же ты предлагать отказаться от него только потому что он пессимизирует скорость C# кода?

Он оптимизирует скорость SQL кода. Это гораздо лучше.

ВВ>Мне, честно говоря, не особо знакома эта проблема. И совсем не знакомо рекламируемое тобой решение. Если ссылки генерятся с помощью какого-то механизма, то наверное нам уже все равно, на каком языке там код на сервере?

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

ВВ>На худой конец — парсер JS + валидатор ссылок, которые можно тупо натравить на исходники и получить результат, должны решить эту проблему чуть более чем полностью и без всякой статической типизации.

Хм. Каким образом предполагается валидировать ссылки?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Веб и динамика? Веб и статика+метапрограммирование.
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.12.10 17:27
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Тут, мне кажется, другая проблема — как транслировать код, активно использующий FCL? По-моему, вообще никак. Получается, что придется вводить очень жесткие ограничение на дотнетовское АПИ, которое разрешено в таких транслируемых в джаваскрипт функциях. А это уже не очень круто.

Я об этом и говорю — вопрос в окружении. На сервере ты взял, к примеру, прицепился к CryptoAPI, и побежал. Или там на диск сбегал. Вокруг тебя — ось.
На клиенте вокруг тебя — DOM и CSS. С точки зрения системы типов, никакого преимущества у статики тут нет — всё равно всё, с чем работаешь, это хеш таблицы. Как будет выглядеть код на C#, манипулирующий DOM-ом?

Поэтому, на мой взгляд, польза сводится к трансляции изолированных функций типа IsValidEma
ВВ>И самое забавное, что как раз одна из основных проблема джаваскрипта, которую в идеальном мире хотелось бы решить — это бедность доступных на нем библиотек.
Возможно. Лично я в джаваскрипте не особо силён. Мне казалось, что основная проблема там — отсутствие автокомплита и интеллисенса.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[32]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 17:39
Оценка: +1
Здравствуйте, DarkGray, Вы писали:

VD>>Повторяю последний раз. Супер-компиляция — это метод оптимизации. Она не изменяет семантики кода. Главной же целью мета-программирования является изменение семантики кода.


DG>задам тебе те же самые вопросы, что и WH


DG>изменение какой именно семантики: аксиоматической, операционной или может денотационной семантики?


Гы. Ты не на тех нарвался. Тут покидаться умными терминами с целью сойти за умного не удастся. Семантика кода — это всего лишь общепринятое короткое и красивое иностранное слово означающее трактование поведения кода. Если тебя не забанили в википедии, то сходи и погляди общепринятое в программировании значение этого слова.

Так что приплетать сюда красивые научные термины из других областей не нужно. По крайне мере со мной это не прокатит. С возрастом я выработал иммунитет к разводам. В том числе и к терминологическому подлогу.

DG>в виде определения, пожалуйста.


По ссылке.

DG>какую из этих семантик меняет введение foreach, using, peg-грамматики в язык?


Ту что по ссылке. Мы определяем поведение синтаксических конструкций (имеющихся или новых). Скажем макрос PegGrammar вводит в язык расширенный синтаксис PEG-грамматик и придает им семантику парсера. Ни один супер-навороченный супер компилятор никогда в жизни не догадается, что, скажем, конструкцию E* нужно преобразовать в цикл. Тут даже искусственный интеллект будет бессилен, если ему не объяснить семантику. Вот мета-программа и является эдакой записью семантики.

DG>какую семантику меняет linq2sql?


Никакую. Это вообще провайдер данных.

DG>почему ту же самую семантику не меняет суперкомпиляция?


Потому что ее цель изменение формальных свойств программы в которые не входит семантика.

DG>доказательство, пожалуйста.


Доказательство чего? Того что ты имеешь собственные определения для введенных другими понятий?
Сходи в википедию и прочти еще раз определение суперкомпиляции. Там же во первых строках написано "специальная техника оптимизации алгоритмов". Что тут еще надо доказывать?

Может мне еще доказать, что я не верблюд и и принести справки о том, что я не женат на всех женщинах мира?

DG>также могу добавить следующие вопросы

DG>на оценку 3+:

Гы. А ты не хочешь спросить нужны ли кому-то твои оценки?

DG>1. одинаковая ли аксиоматическая, операционная и денотационная семантика у макроса и у исходного кода?


Вопрос бредовый по определителю. Макросы и определяют семантику кода.

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

Так что жонглировать научными терминами не надо прекрывая ими собственное непонимание обсуждаемого вопроса. Тут достаточно обычного общепринятого понятия. Можешь даже вместо слова "семантика" использовать понятие "смысл кода" или даже "поведение". Смысл рассуждений не изменитя.

Так вот суперкомиляция не меняет смысла/поведения кода. Программа подвергшаяся суперкомиляции не начнет выдавать какие-то другие результаты. Надеюсь, тебе не придет в голову жонглировать терминами "поведение" и "смысл".

DG>на оценку 4

DG>2. как меняются данные семантики при переходе от исходного языка к макросам и обратно?

Встречный вопрос: Что означает "переходе от исходного языка к макросам"? Макрос расширяет язык. Появляется макрос — изменяется семантика языка. А раз семантика изменяется, то по фигу как ее там представлять или описывать. Она изменится в любом виде. Если раньше мы под "A+ B" понимали сложение целых, а теперь макрос стал интерпретировать этот код как грамматику, то семантика кода поменялась. И по фигу в каких терминах формально выражается эта семантика. Важно что смысл кода другой.

DG>на оценку 4+

DG>3. каковы правила редукции семантики при переходе от языка к макросам и обратно?

Это не вопрос. Это бредовый набор слов. По крайней мере пока не будет определено понятие "переходе от языка к макросам и обратно".

ЗЫ

Как бы ты не приседал, то всем кто в теме отчетливо понятно, что ты ляпнул чушь и теперь пытаешься увести разговор в другую сторону и скрыть свое не понимание за "умными" терминами. Но ты не на того напал. Я таких жонглеров повидал не мало. Меня так не разведешь.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Веб и динамика? Веб и статика+метапрограммирование.
От: Ziaw Россия  
Дата: 22.12.10 17:54
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>>>по опыту скажу, что вот это очень неприятное ограничение. очень ограничивает встраиваемость макросов.


Z>> У тебя просто нет опыта использования нормального метапрограммирования.

Z>> Ты наверняка встречал людей незнакомых с функциональным программированием. Им довольно сложно объяснить профит от первоклассных функций. Тут все то же самое.

DG>имхо, ты что-то не понимаешь..


DG>я использую МП, активно использую.

DG>настолько активно — что у меня есть две больших работающие системы построенные с помощью того или иного применения МП.
DG>есть множество иследовательских проектов по МП — по тому или иному его аспекту применения и работы.

Ты не стесняйся, расскажи, а то как Воронков, "у меня длиннее" и все. Приводи инструменты и сценарии, где МП слажало.

В твоем опыте хорошо виден очень низкий уровень "МП", ты уж извини за прямоту. У тебя даже гипотетическая кодогенерация выходит насквозь текстовая, тот кто работал с АСТ, пусть с теми же экспрешенами линкушными, так не мыслит. Так что либо ты только что выдумал этот свой опыт, либо просто МП было на уровне кодогенераторов. Впрочем, не буду загадывать, ты же не хочешь прослыть пустомелей и расскажешь как все было.

Кстати, про экспрешены, это уже метапрограммирование. Им бы еще квазицитирование и получилось бы жалкое подобие макросов немерла. А экспрешены я вижу уже в куче библиотек, с очень разнообразными сценариями использования, в том числе и для создания удобного синтаксиса. Так что МП применяют многие передовые проекты, только самые упертые твердят, МП не нужно, МП опасно.
Re[33]: Веб и динамика? Веб и статика+метапрограммирование.
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.12.10 17:57
Оценка: :)
VD>Гы. Ты не на тех нарвался. Тут покидаться умными терминами с целью сойти за умного не удастся. Семантика кода — это всего лишь общепринятое короткое и красивое иностранное слово означающее трактование поведения кода. Если тебя не забанили в википедии, то сходи и погляди общепринятое в программировании значение этого слова.

может тебе все-таки стоит почитать хотя бы английскую версию
http://en.wikipedia.org/wiki/Formal_semantics_of_programming_languages

так кроме трех базовых семантик, рассматривается еще как минимум 7.

это на тему того, что в россии на текущий момент — теория программирования почти совсем не развивается.
и поэтому в вики на русском всякий бред написан про программирование.

VD>Так что приплетать сюда красивые научные термины из других областей не нужно. По крайне мере со мной это не прокатит. С возрастом я выработал иммунитет к разводам. В том числе и к терминологическому подлогу.


DG>>в виде определения, пожалуйста.


VD>По ссылке.


с каких это пор определение для домохозяек (а в русской вики — именно такое определение семантики) стало аргументом в споре?
Re[34]: Веб и динамика? Веб и статика+метапрограммирование.
От: hardcase Пират http://nemerle.org
Дата: 22.12.10 18:04
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>с каких это пор определение для домохозяек (а в русской вики — именно такое определение семантики) стало аргументом в споре?


А что доказать-то пытаешься?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[27]: Веб и динамика? Веб и статика+метапрограммирование.
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.12.10 18:06
Оценка: :))
Z>Приводи инструменты и сценарии, где МП слажало.

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

само по себе МП — конечно благо и необходимая в хозяйстве вещь.

Z>В твоем опыте хорошо виден очень низкий уровень "МП", ты уж извини за прямоту. У тебя даже гипотетическая кодогенерация выходит насквозь текстовая, тот кто работал с АСТ, пусть с теми же экспрешенами линкушными, так не мыслит.


в текстовых терминах проще формулировать утверждения.
если рассматривать МП не в текстовых терминов — то там слишком много незнакомых терминов надо вводить.

вон влад, например, до сих пор не выучил термин семантика, и чем одна семантика отличается от другой семантики.
что такое редукция, что такой язык и т.д.

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


но это понятное контролируемое применение МП, которое не вызывает таких побочных эффектов — как те же макросы.
Re[31]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 18:12
Оценка: +1
Здравствуйте, DarkGray, Вы писали:


VD>>В среде тех кто занимается макросами проффесионально второе называется применением макросов. Ни кто из тех кто использует макры не думает о том во что они реально разворачиваются. Люди мыслят на созданном с помощю макросов языке.


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

DG>будем дальше меряться — кто более проффессионален?

Ты видел в теме или моих словах где-то упоминание "тех кто занимается проффесионально теорией программирования"? Здесь обсуждается практика. Ты же просто смешон, так как пытаемый прикрыть свои заблуждения терминологическим жонглерством.

Какими бы умными словами ты не называл простое понятие "смысл кода" оно не изменится! Суперкомпиляция смысла кода не меняет. Код будет другой, нон будет делать тоже самое, если ему на вход дадут одни и те же данные. А вот метапрограмма (ака макрос) своей целью несет изменение смысла кода или введение новых конструкций.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[35]: Веб и динамика? Веб и статика+метапрограммирование.
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.12.10 18:45
Оценка: -1 :)
H>А что доказать-то пытаешься?

что Влад не знает что такое МП

а если серьезно:
1) то, что макросы с МП и рядом не стояли
2) что интересное (и действительно мощное) МП начинается в районе суперкомпиляции и суперкомпозиции (суперпозиции одного алгоритма(программы, системы) над другим алгоритмом(программой, системой))
Re[34]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 18:59
Оценка:
Здравствуйте, DarkGray, Вы писали:

VD>>Гы. Ты не на тех нарвался. Тут покидаться умными терминами с целью сойти за умного не удастся. Семантика кода — это всего лишь общепринятое короткое и красивое иностранное слово означающее трактование поведения кода. Если тебя не забанили в википедии, то сходи и погляди общепринятое в программировании значение этого слова.


DG>может тебе все-таки стоит почитать хотя бы английскую версию

DG>http://en.wikipedia.org/wiki/Formal_semantics_of_programming_languages

Ты мозг то не трахай. Хочешь читать английскую читай ее на здоровье. Смысл слов от этого не изменится.
Еще раз повторяю, что говоря "семантика" я имею в виду общепринятое значение этого слова, а не какие-то тонкие завихрения научной мысли. В нашем случае это просто излишне.

Ты же подсовываешь ссылку на унылое описание направления исследования в математике. Это полнейший оверкил. Зачем это здесь? Ответ очевиден — дальнейшая попытка запутать окружающих с целью завуалировать несостоятельность собственных суждений.

Да и не сказано там ничего нового. Много воды не относящейся к делу. Не более того.

DG>так кроме трех базовых семантик, рассматривается еще как минимум 7.


Да какая разница что там умные ученые придумали для формализации исследований в области семантики языков программирования? Я же не говорил об этом.

DG>это на тему того, что в россии на текущий момент — теория программирования почти совсем не развивается.


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

DG>и поэтому в вики на русском всякий бред написан про программирование.


Аналогичная англоязычная страница говорит тоже самое. Просто ты в очередной раз пытаешься подменить предмет обсуждения терминологическими спорами. Только вот не выходит.

VD>>Так что приплетать сюда красивые научные термины из других областей не нужно. По крайне мере со мной это не прокатит. С возрастом я выработал иммунитет к разводам. В том числе и к терминологическому подлогу.


DG>>>в виде определения, пожалуйста.


Уже несколько раз давал.

VD>>По ссылке.


DG>с каких это пор определение для домохозяек (а в русской вики — именно такое определение семантики) стало аргументом в споре?


Ладно. Твое время видимо ничего не стоит. А мне мое жалко. Неси свою ахинею сколько влезет. Ценность твоих слов лично для меня уже сравнялась с нулем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[35]: Веб и динамика? Веб и статика+метапрограммирование.
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.12.10 19:10
Оценка:
VD>Еще раз повторяю, что говоря "семантика" я имею в виду общепринятое значение этого слова, а не какие-то тонкие завихрения научной мысли. В нашем случае это просто излишне.

слился значит.
как можно утверждать — что-то меняется или не меняется? если при этом ты не хочешь фиксировать это самое "что-то"

VD>Те же суперкомпиляторы придумал представитель той самой российской науки (тебе явно это известно).


во-первых, советской, а не российской. российскую науку — разве что в микроскоп можно увидеть.
во-вторых, в СССР он не смог продолжать свои исследования, и вынужден был уехать в США.
Re[36]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 19:24
Оценка:
Здравствуйте, DarkGray, Вы писали:

VD>>Еще раз повторяю, что говоря "семантика" я имею в виду общепринятое значение этого слова, а не какие-то тонкие завихрения научной мысли. В нашем случае это просто излишне.


DG>слился значит.


Ты? Давно. Над тобой уже давно все потешаются.

DG>как можно утверждать — что-то меняется или не меняется? если при этом ты не хочешь фиксировать это самое "что-то"


Что меняется? Семантика? Я тебе уже отвечал на этот вопрос сто раз.

VD>>Те же суперкомпиляторы придумал представитель той самой российской науки (тебе явно это известно).


DG>во-первых, советской, а не российской. российскую науку — разве что в микроскоп можно увидеть.


Напомню, что РСФСР — Россия, входила в состав СССР с самого его основания. И еще до этого много сотен лет существовала.

DG>во-вторых, в СССР он не смог продолжать свои исследования, и вынужден был уехать в США.


Хорошая тема для обсуждения. Очень подходит чтобы подменить слитую тему.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[36]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 19:37
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ты хоть понял, что речь о динамике и выводе типов для интеллисенса?


Слушай ну ты то ведь должен понимать, что если для динамики можно вывести типы, то это просто статика для которой забыли во время компиляции типы првоерить. А если это реальная динамика, то вывод будет невозможен?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[32]: Веб и динамика? Веб и статика+метапрограммирование.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.10 19:40
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Нет, не бред. Я просто понимаю, что типы будут выводиться не всегда и интеллисенс не будет работать в ряде случаев.


А кому нужен то потухающий, то погасающий интеллисенс?

ВВ>Но большинство сценариев он будет покрывать. В С# 4 вон тоже можно написать код, для которого интеллисенс "официально" не работает.


А может пойти дальше и сделать как в Boo? Ну, чтобы динамика была только там где компилятор не в силах типы вычислить.

Или как в шарпе? Ну, чтобы динамика была только там где это нужно программисту.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.