OberonCore
https://forum.oberoncore.ru/

О парадоксе Блаба и макросах
https://forum.oberoncore.ru/viewtopic.php?f=61&t=1914
Страница 6 из 8

Автор:  Info21 [ Воскресенье, 04 Октябрь, 2009 07:04 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Geniepro писал(а):
Вы бы сделали систему макросов лучше, чем авторы этих языков?
Хм. В принципе почему нет. Другое дело, что лисп прост, и там не так много разумных вариантов.

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 12:33 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Geniepro писал(а):
Возьмём лиспы: Scheme (1975г) и Common Lisp(1984г). Вы считаете, что эти языки недостаточно проверены? Вы бы сделали систему макросов лучше, чем авторы этих языков?


Тут совсем другое - это "вещи в себе". Очень интересные, но однобокие - т.е. не годящиеся на универсальную роль. И это касается всего, где разные вещи сведены до одного способа выражения. Это изящно и красиво само по себе; но с точки зрения жизни - требуется мощный "рантайм в голове", который будет осуществлять эти трансформации. Т.е. нести нагрузку, не связанную с решаемой задачей. Т.е. та же штука, что и с программированием на заниженном уровне - нужно "компилировать" многообразие в примитивы, вообще ничего общего к исходной постановке не имеющие.
Даже с учётом вылепляемого синтаксиса - это ничего не меняет. Если синтаксис монолитен, то за ним следить не надо. Если синтаксис изменчив, то о нём надо постоянно думать. А если чужие программы... и т.п. Это как с твёрдой земли на зыбучий песок.

Автор:  Сергей Оборотов [ Воскресенье, 04 Октябрь, 2009 15:45 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Т.е. нести нагрузку, не связанную с решаемой задачей.

Если не универсальные - то да. Но похоже, что они всё-таки универсальны. Вездесущи, по крайней мере.

Автор:  kreol [ Воскресенье, 04 Октябрь, 2009 16:06 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

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

Не автоматически выводить, а дать пользователю возможность задать правила вывода инстансов для своего класса. Например, правила вывода для Eq элементарны и теоретическим могут быть заданы с помощью некоторого макроязыка, однако такая возможность доступна только разработчикам компилятора, что несколько дискредитирует пользовательские классы. Насколько эта возможность важна на практике, мне сложно судить, но равенство встроенных и пользовательских классов/типов/процедур, как правило, является плюсом для языка.

Илья Ермаков писал(а):
Тут совсем другое - это "вещи в себе". Очень интересные, но однобокие - т.е. не годящиеся на универсальную роль.

Ой, и даже Вы ведётесь на этот миф? :) Ну разработками в сфере ИИ на Лиспе никого не удивишь. Знаю пару историй про управление космическим шатлом (или там спутником, или чем-то вроде) из REPL'а. У того же Грехема куча историй про успешное применение Лиспа для веба. Franz Inc., судя по всему, вполне успешно применяет его для десктопных приложений. Слышал также про людей, которые писали на этом языке прошивку для микроконтроллеров. Ну да, совсем не универсальный язык ;)

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 16:10 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Sergey Oborotov писал(а):
Если не универсальные - то да. Но похоже, что они всё-таки универсальны. Вездесущи, по крайней мере.


Так и нули и единицы тоже универсальны в ИТ. Вездесущи. И что?

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 16:16 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

kreol писал(а):
Илья Ермаков писал(а):
Тут совсем другое - это "вещи в себе". Очень интересные, но однобокие - т.е. не годящиеся на универсальную роль.

Ой, и даже Вы ведётесь на этот миф? :)


Причём тут миф. Решать-то можно что угодно. Давайте примеры повторяющейся, систематической подготовки чисто-ЛИСП-программистов, для которых ЛИСП - первый и достаточный. А не пример того, как профессионал с очень внушительным опытом берёт его и что-то отлично на нём решает.

Не будем утверждать, что это невозможно. Но само то, что возможность за столько лет непроверена и неочевидна, говорит об неуниверсальности.

Критерий универсальности, на пальцах говоря, возможность объяснить с опорой на инструмент всё, что нужно. SICP? Красиво. Но нет никакой уверенности, что это так же красиво и полноценно с точки зрения обучения "с нуля", а не с позиции видавшего виды спеца, восхищающего стройностью и рафинированностью изложения.

Автор:  Иван Кузьмицкий [ Воскресенье, 04 Октябрь, 2009 16:23 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

kreol писал(а):
Это вообще акроним, никакого отношения к рекурсии он не имеет.


http://ru.wikipedia.org/wiki/Рекурсивное_определение
Насчёт картин Дали - гугл в помощь.

Не стоит мифологизировать рекурсию. Это вполне бытовая штука.

Автор:  Сергей Оборотов [ Воскресенье, 04 Октябрь, 2009 16:38 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Так и нули и единицы тоже универсальны в ИТ. Вездесущи. И что?
Как что? То, что эти средства универсальны способствует более простому представлению программ. Имхо.

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 17:58 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Смотрите.

Алфавит универсален - из него можно составить любой текст. Но всё равно нужно накладывать поверх лексику, морфологию, грамматику?

Есть некий набор среднего уровня абстракции, который так или иначе придётся воспроизводить.

Автор:  Geniepro [ Воскресенье, 04 Октябрь, 2009 18:00 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Тут совсем другое - это "вещи в себе". Очень интересные, но однобокие - т.е. не годящиеся на универсальную роль.

В таком случае универсальных вещей вообще не существует. Думаете, обероны универсальны? Агащаз...

Илья Ермаков писал(а):
Если синтаксис изменчив, то о нём надо постоянно думать. А если чужие программы... и т.п. Это как с твёрдой земли на зыбучий песок.

Абсолютно тоже самое можно сказать и про библиотеки...

Автор:  Geniepro [ Воскресенье, 04 Октябрь, 2009 18:14 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Давайте примеры повторяющейся, систематической подготовки чисто-ЛИСП-программистов, для которых ЛИСП - первый и достаточный. А не пример того, как профессионал с очень внушительным опытом берёт его и что-то отлично на нём решает.

Ужасно...

Хорошо, закономерный встречный вопрос -- можете привести примеры оберон-программистов, для которых оберон будет первым и достаточным?
И контрольный вопрос -- а достоин ли такой программист, остановившийся в своём развитии, быть примером?

Илья Ермаков писал(а):
SICP? Красиво. Но нет никакой уверенности, что это так же красиво и полноценно с точки зрения обучения "с нуля", а не с позиции видавшего виды спеца, восхищающего стройностью и рафинированностью изложения.
Ну во-первых, у преподавателей курсов SICP и HtDP нет сомнений в правильности выбранного ими пути, и, во-вторых, можете ли Вы привести примеры аналогичных законченных курсов с использованием оберонов?

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 18:24 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Идёт сопоставление ЛИСПа, как самобытной системы, со "стандартной парадигмой" (упрощённо говоря, Паскаль-Си-семейства). Оберон не выходит за рамки стандартной парадигмы. Его универсальность - такой же факт, как для всего П-С-семейства. Обоснований можно требовать только для утверждения, что в рамках этого семейства он даёт особое преимущество.

Если же у "экзотиков" имеется желание сравниваться по универсальности (или чему-то ещё) с Обероном, то мы вполне имеем права на первом этапе сравнения выставлять целиком "стандартную парадигму". И если уже на этом этапе всё спорно...

Цитата:
Хорошо, закономерный встречный вопрос -- можете привести примеры оберон-программистов, для которых оберон будет первым и достаточным?
И контрольный вопрос -- а достоин ли такой программист, остановившийся в своём развитии, быть примером?


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

И вообще, батенька, я в этом сентябре вышел преподавать 6-й год. И ничего мне обосновывать не надо. Вы обосновывайте.

Автор:  Geniepro [ Воскресенье, 04 Октябрь, 2009 19:42 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Идёт сопоставление ЛИСПа, как самобытной системы, со "стандартной парадигмой" (упрощённо говоря, Паскаль-Си-семейства).

В случае "лисп vs си-паскаль" противопоставлять можно только синтаксис -- нестандартный скобочный у лиспа и стандартный (привычный для большинства народа) у паскаля или си. Парадигма в лиспе может использоваться любая. в том числе и стандартная процедурная (как у паскали или си) или ооп как у Дельфи/С++ и прочих...

Илья Ермаков писал(а):
И вообще, батенька, я в этом сентябре вышел преподавать 6-й год. И ничего мне обосновывать не надо. Вы обосновывайте.
Значит, по существу вопроса Вам сказать нечего (ну или в лучшем случае некогда -- но тогда так и говорите, чего лукавить-то).

Автор:  Иван Кузьмицкий [ Воскресенье, 04 Октябрь, 2009 19:53 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Geniepro писал(а):
Хорошо, закономерный встречный вопрос -- можете привести примеры оберон-программистов, для которых оберон будет первым и достаточным?
И контрольный вопрос -- а достоин ли такой программист, остановившийся в своём развитии, быть примером?


А надо ли, это "развитие"? Верёвка хороша в свитом виде, а развитая станет никому не нужным пучком ниток.

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 20:26 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Geniepro писал(а):
Значит, по существу вопроса Вам сказать нечего (ну или в лучшем случае некогда -- но тогда так и говорите, чего лукавить-то).


У меня нет специальных аргументов (да и цели) убеждать конкретно взятого программиста, что ему что-то надо (или не надо). Может, ему конкретно и правда не надо. А аргументы более масштабные (и "не от балды", а проверенные) этому конкретному программисту часто непонятны, просто в силу того, что он одиночка, не ставит каких-то целей, не имеет каких-то проблем, ну и т.п. Не в контексте. Но почему-то некоторые такие одиночки обожают ходить ныть и капать на мозги. С той подоплёкой "вот вы говорите - что это хорошо и нужно, а мне вот не хорошо и не нужно... А вот это вы говорите нехорошо и ненужно, а вот мне наоборот.."
Но их утверждения субъективны. А наши - далеко не абсолютны, шо ж мы, дураки?? - но статистически будут работать.

Автор:  Илья Ермаков [ Воскресенье, 04 Октябрь, 2009 20:34 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Geniepro писал(а):
Парадигма в лиспе может использоваться любая. в том числе и стандартная процедурная (как у паскали или си) или ооп как у Дельфи/С++ и прочих...


При программировании на ассемблере тоже может использоваться любая парадигма. Я на полном серьёзе, кстати. Если умеючи к делу подойти. Ну и что?

Вопрос, не что можно, а какие паттерны уже предоставлены. Не слишком ли их мало, но и не слишком ли их много (много универсальных не бывает..).

Автор:  kreol [ Понедельник, 05 Октябрь, 2009 01:10 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Иван Кузьмицкий писал(а):
http://ru.wikipedia.org/wiki/Рекурсивное_определение

Я там внизу поправился уже, вообще говоря ;) И опять же, рекурсивные акронимы - дело исключительно рук человеческих, как и вызов из функции самой себя, а что это такое физически, как оно выглядит, какое оно на ощупь, на вкус или на слух, представить невозможно. Цикл - возможно, ветвление - возможно, последовательность команд - возможно. Рекурсия - нет, это абстрактное понятие.

Иван Кузьмицкий писал(а):
Насчёт картин Дали - гугл в помощь.

Мы о том, который Сальвадор, говорим? Да вроде и так неплохо с его творчеством знаком, и как-то не припомню в них ничего рекурсивного.

Иван Кузьмицкий писал(а):
Не стоит мифологизировать рекурсию. Это вполне бытовая штука.

http://local.joelonsoftware.com/wiki/%D ... D0%B0_Java
Джоэл Спольски писал(а):
Это может звучать немного резковато, это просто моё скромное мнение, но есть две вещи, которым традиционно учат в университетах в курсе компьютерных наук (Computer Science, CS) и которые многие люди никогда полностью по-настоящему так и не понимают: указатели и рекурсия.

Я к тому, что рекурсия - далеко не самая простая тема в программировании, но её все признают и всех ей учат, а макросы вдруг объявили слишком сложными и поэтому вредными.

Автор:  Сергей Оборотов [ Понедельник, 05 Октябрь, 2009 05:39 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Но всё равно нужно накладывать поверх лексику, морфологию, грамматику?
Вы предлагаете вообще ими не пользоваться? Или в данном случае они отсутствуют?

Автор:  Валерий Лаптев [ Понедельник, 05 Октябрь, 2009 08:44 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

Илья Ермаков писал(а):
Одно дело, если я сделаю это сам; другое дело - использовать уже кем-то сделанный механизм. Где гарантия, что он сделан наилучшим возможным образом. У меня нет ни времени, ни контекста задач, ни желания продумывать от и до такую общую тему, каким мог бы быть единый механизм метакомпиляций и проверять, а правы они там в своих Немерлях или нет. А порождать зависимость от непроверенного лично (в концептуальном плане) инструментария наш коллектив, например, считает недопустимым. Это может показаться элитарным, штучный подход, но он, имхо, может быть оправданным гораздо чаще, чем кажется. По умолчанию - без веских причин для нарушения - на него и следует ориентироваться. Нужно привыкать отвечать за творения своих рук; а для этого надо быть уверенным во всём.


В производстве ПО - я согласен. Но ведь Немерля - исследовательский проект! В этом его задача и состоит - исследовать способы представления алгоритмов, средства, предоставляемые языком. Еще раз повторю: ББ, похоже содержит то же самое, но на уровне среды... :)
Хотя это все - не ново. Про лисп и прочие функциональные штучки тут уже все написали. Но это было не только в функциональщине. Я работал с Клиппером еще в начале 90-х - там все традиционные операторы тоже через макросы были сделаны. Очень похоже на Немерлю. И никакой функциональщины!

Автор:  Иван Кузьмицкий [ Понедельник, 05 Октябрь, 2009 09:17 ]
Заголовок сообщения:  Re: О парадоксе Блаба и макросах

kreol писал(а):
[И опять же, рекурсивные акронимы - дело исключительно рук человеческих, как и вызов из функции самой себя, а что это такое физически, как оно выглядит, какое оно на ощупь, на вкус или на слух, представить невозможно. Цикл - возможно, ветвление - возможно, последовательность команд - возможно. Рекурсия - нет, это абстрактное понятие


Наблюдаю острую некогерентность в Вашем высказывании. Сначала говорите о конкретном "Gnu's not Unix", потом говорите, что рекурсия - абстрактное понятие. Я понимаю, Вам хочется элитности, но её тут нет.

Как сотворяющее само себя, отражение в зеркале - бытовая рекурсия. Уроборос - древнейший символ рекурсии. Я уже не говорю о Библии, где человек - тоже рекурсия.

Страница 6 из 8 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/