Автор Тема: Парадокс Блаба.  (Прочитано 33366 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Парадокс Блаба.
« Ответ #45 : Февраль 22, 2011, 01:45:00 pm »
Это описание "когнитивной слепоты". А парадокс вообще отсутствует.
Термин "когнитивная слепота" слишком общий и слишком мутный. В частности этих самых подвидов слепоты я нашел сразу несколько штук (это общеупотребимые термины).

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

Мне в статье интересны 2 тезиса:
1. Лисп - самый мощный язык всех времен и народов.
2. Значительная часть его мощности обеспечивается за счет макросов.
А мне не очень, потому как это ж очевидно :-) Лисп по сути является метаязыком. Но он не единственный такой. Из него хороший метаязык получается благодаря двум вещам:
1) Отсутствие синтаксиса.
2) Наличие макросов.
Первый пункт обучает человеческий мозг мыслить сразу в терминах AST и семантики.
Второй пункт позволяет модифицировать семантику и манипулировать AST'ом.
Т.o. отсутствует разрыв между первым и вторым, как в иных языках. И это хорошо.

Однако если вдруг кто-то считает что это плохо, то хотелось бы увидеть пример где наглядно было бы видно, что это плохо.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Парадокс Блаба.
« Ответ #46 : Февраль 22, 2011, 02:59:53 pm »
Если хочется посравнивать лисп с другими языками, вот например табличка Lisp VS Python: http://love5an.livejournal.com/356033.html
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re:Парадокс Блаба.
« Ответ #47 : Февраль 23, 2011, 07:38:38 am »
У меня такое ощущение складывается, что под макросом постоянно подразумевается то недоразумение что имеется в Си (которое, в частности, не ограничено по области действия, не может анализировать типы и т.д. и т.п., и вообще являет собою примитивнейший случай банальной текстовой замены). Так вот в лиспе макросы это совсем другое :-)
Тут было бы полезно попытаться дать определения макроса.
Шарпные дженерики не должны под него попадать - там есть существенная поддержка в run-time.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Парадокс Блаба.
« Ответ #48 : Февраль 23, 2011, 11:38:40 am »
У меня такое ощущение складывается, что под макросом постоянно подразумевается то недоразумение что имеется в Си (которое, в частности, не ограничено по области действия, не может анализировать типы и т.д. и т.п., и вообще являет собою примитивнейший случай банальной текстовой замены). Так вот в лиспе макросы это совсем другое :-)
Тут было бы полезно попытаться дать определения макроса.
Шарпные дженерики не должны под него попадать - там есть существенная поддержка в run-time.
А у лиспа макросы могут работать и в рантайме, т.е. не только на этапе компиляции. Код это данные.
Я ж говорю, шарповые дженерики это частный случай лисповых макросов :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Парадокс Блаба.
« Ответ #49 : Февраль 23, 2011, 11:45:49 am »
Кстати, в .нете рантайм поддержка дженериков -- это ж чистая оптимизация (чтобы код не раздувался). На семантику это не влияет.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Парадокс Блаба.
« Ответ #50 : Февраль 23, 2011, 03:39:40 pm »
Как так только оптимизация?

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

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Парадокс Блаба.
« Ответ #51 : Февраль 23, 2011, 03:49:28 pm »
Забываю, потому, что с .нетом возился крайне мало. Таки та, видимо динамическое инстанцирование с кодогенерацией там используется (в отличае от той же явы например). Впрочем, тем больше .нетные дженерики становятся похожи на лисповые макросы :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Парадокс Блаба.
« Ответ #52 : Ноябрь 14, 2011, 11:48:58 am »
Случайно наткнулся на хорошую статью Macros: why they're evil.
Там в комментариях многие защищают макросы.
Ознакомился с аргументами. Рвотный рефлекс не уменьшился.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Парадокс Блаба.
« Ответ #53 : Ноябрь 15, 2011, 06:50:25 am »
Макросы всего лишь инструмент, так же как и процедуры, функции, объекты, акторы всякие.
С чего бы этим инструментам вызывать такие эмоции?  :o
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DIzer

  • Гость
Re: Парадокс Блаба.
« Ответ #54 : Ноябрь 15, 2011, 07:22:14 am »
Ну да - вон коровцы по сути дела на них (точнее, используя вариант препроцессинга) поддержку русского языка в КП  для ББ сварганили, если я не ошибаюсь,  :) и ничего себе - работает(иначе - перепись + доработка ЯП и компилятора).
« Последнее редактирование: Ноябрь 15, 2011, 07:27:35 am от DIzer »

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Парадокс Блаба.
« Ответ #55 : Ноябрь 15, 2011, 07:36:48 am »
Макросы всего лишь инструмент, так же как и процедуры, функции, объекты, акторы всякие.
С чего бы этим инструментам вызывать такие эмоции?  :o
Неопытный работник знает, что нужно делать. Опытный знает, что не надо делать.
Сразу оговорюсь, что себя не могу отнести ко вторым. Изучение функциональных языков весьма наглядно мне это демонстрирует.

DIzer

  • Гость
Re: Парадокс Блаба.
« Ответ #56 : Ноябрь 15, 2011, 07:42:23 am »
....
Сразу оговорюсь, что себя не могу отнести ко вторым. Изучение функциональных языков весьма наглядно мне это демонстрирует.
и хорошо - иначе никто ничего бы и не делал, ибо все фигня  по сравнению с мировой революцией....  :D

DIzer

  • Гость
Re: Парадокс Блаба.
« Ответ #57 : Ноябрь 15, 2011, 08:07:03 am »
Geniepro, слегка  перефразируя Лелика из "Бриллиантовой руки"  How to read Haskell like Python -  это не актуально,  " How to WRITE Haskell like Python and what is the GAIN you can get from"  - вот это тема... :D :D :D :D
« Последнее редактирование: Ноябрь 15, 2011, 08:11:14 am от DIzer »