Re[10]: Почему макросы Nemerle не являются злом?
От: FR  
Дата: 25.04.11 14:57
Оценка:
Здравствуйте, VladD2, Вы писали:

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


В случае D не очень дорого, lazy преобразуется в анонимную функцию и соответственно добавляется один лишний вызов, в релизном
машинном коде лишний call/ret, будь оптимизатор dmd получше все это заинлайнилось бы.

VD>В случае же if-а имеет место выполнение одного из двух выражений. И это "бесплатно".


Это да.
Re[5]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 25.04.11 16:22
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Знаешь, то что сегодня кажется нормальным и логичным, завтра обрастает такими деталями, что начинаешь сильно жалеть, что ввязался. Имею такой опыт именно с мета-программированием (генерация кода как текста, не немерле).


VD>Ну, так и не надо проецировать свой неудачный опыт на немерл.


Собственно, почему "не надо"? Опыт разработчиков шарпа мне видимо тоже не стоит проецировать на него?

VD>ЗЫ


VD>Я заметил, что многие противники макросов до этого генерили код руками. Может фобии связаны именно с этим?


Ну, у меня еще был опыт генерации xslt-шаблонов с помощью того же xslt. Впечатления тоже не из приятных.
Re[11]: Почему макросы Nemerle не являются злом?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.04.11 17:12
Оценка:
Здравствуйте, FR, Вы писали:

FR>В случае D не очень дорого, lazy преобразуется в анонимную функцию и соответственно добавляется один лишний вызов, в релизном машинном коде лишний call/ret, будь оптимизатор dmd получше все это заинлайнилось бы.


Это и есть очень дорого. Так все делают. Ну, кроме Хаскеля, где ленивость обрабатывается особенным образом.

Сравни косвенный (сильно) вызов и банальное неисполнение выражения. Это очень разные по скорости операции. Во втором случае нет не только вызова по ссылке, но и вообще какого либо вызова. Это пара тактов процессора против пары десятков.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Почему макросы Nemerle не являются злом?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.04.11 17:21
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>>>Знаешь, то что сегодня кажется нормальным и логичным, завтра обрастает такими деталями, что начинаешь сильно жалеть, что ввязался. Имею такой опыт именно с мета-программированием (генерация кода как текста, не немерле).


VD>>Ну, так и не надо проецировать свой неудачный опыт на немерл.


L>Собственно, почему "не надо"? Опыт разработчиков шарпа мне видимо тоже не стоит проецировать на него?


В шарпе появилась поддержка МП?

VD>>Я заметил, что многие противники макросов до этого генерили код руками. Может фобии связаны именно с этим?


L>Ну, у меня еще был опыт генерации xslt-шаблонов с помощью того же xslt. Впечатления тоже не из приятных.


Это те же яйца — вид с боку. Текстовая генерация без возможности возможности взаимодействовать кодом проекта.

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

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

Ну, а если разбираться неинтересно, то по крайней мере не вводи людей в заблуждение распространением своих домыслов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 25.04.11 17:27
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>Ну, так и не надо проецировать свой неудачный опыт на немерл.


L>>Собственно, почему "не надо"? Опыт разработчиков шарпа мне видимо тоже не стоит проецировать на него?


VD>В шарпе появилась поддержка МП?


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

VD>>>Я заметил, что многие противники макросов до этого генерили код руками. Может фобии связаны именно с этим?


L>>Ну, у меня еще был опыт генерации xslt-шаблонов с помощью того же xslt. Впечатления тоже не из приятных.


VD>Это те же яйца — вид с боку. Текстовая генерация без возможности возможности взаимодействовать кодом проекта.


Причем тут вообще код проекта?

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


Это ничего не изменит, т.к. единичный пример (даже мой пример) не является доказательством.

VD>Ты чем по жизни занимаешься? Вебом?


Нет, не вэбом.

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


VD>Ну, а если разбираться неинтересно, то по крайней мере не вводи людей в заблуждение распространением своих домыслов.


Еще раз советую воздержаться от употребления слов, несущих отрицательную коннотацию. Это не способствует конструктивной беседе.
Re[8]: Почему макросы Nemerle не являются злом?
От: WolfHound  
Дата: 25.04.11 17:33
Оценка: +1
Здравствуйте, Lloyd, Вы писали:

L>Еще раз советую воздержаться от употребления слов, несущих отрицательную коннотацию. Это не способствует конструктивной беседе.

Ты так говоришь как будто ты конструктивен.
Ты тут защищаешь свою веру, а не пытаешься выяснить правду.
У тебя есть вера "макросы говно!". И ты придумываешь кучу совершенно левый "аргументов" чтобы ее отстоять.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: Почему макросы Nemerle не являются злом?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.04.11 17:35
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Нет, разработчики шарпа проектировали синтаксис шарпа. Допустили "нелогичности". Почему я должен предполагать, что я, ты или кто-то другой при переходе на nemerle вдруг перестанет совершать такие ошибки?


ОК. Давай быть конкретными. Приведи список нелогичностей которые ты считаешь синтаксическими и обсудим их.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 25.04.11 17:56
Оценка: -2
Здравствуйте, WolfHound, Вы писали:

L>>Еще раз советую воздержаться от употребления слов, несущих отрицательную коннотацию. Это не способствует конструктивной беседе.

WH>Ты так говоришь как будто ты конструктивен.
WH>Ты тут защищаешь свою веру, а не пытаешься выяснить правду.

Нет, я ставлю под сомнение твою веру. Именно поэтому у тебя такая эмоциональная реакция.

WH>У тебя есть вера "макросы говно!". И ты придумываешь кучу совершенно левый "аргументов" чтобы ее отстоять.


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

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


P.S. Я тебе очень прошу не повторять, что выбор синтаксических макросов — дело добровольное и что nemerle — это не монолитный язык. Я в курсе.
Re[9]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 25.04.11 17:58
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Нет, разработчики шарпа проектировали синтаксис шарпа. Допустили "нелогичности". Почему я должен предполагать, что я, ты или кто-то другой при переходе на nemerle вдруг перестанет совершать такие ошибки?


VD>ОК. Давай быть конкретными. Приведи список нелогичностей которые ты считаешь синтаксическими и обсудим их.


Да, давай будем конкретными. Приведи список причин, почему при переходе на nemerle вдруг перестанут совершаться такие ошибки и мы обсудим их.
Re[10]: Почему макросы Nemerle не являются злом?
От: FR  
Дата: 25.04.11 18:03
Оценка: +2 :)
Здравствуйте, Lloyd, Вы писали:


L>Я не писал, что макросы — гавно. Если ты не заметил, я уточнил, что именно считаю опасным и недальновидным — использование макросов, позволяющих менять синтаксис целевого языка. Ключевое тут — не слово "макрос", а "изменение синтаксиса".


Хороший все таки язык лисп
Re[11]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 25.04.11 18:05
Оценка: +1 :)
Здравствуйте, FR, Вы писали:

L>>Я не писал, что макросы — гавно. Если ты не заметил, я уточнил, что именно считаю опасным и недальновидным — использование макросов, позволяющих менять синтаксис целевого языка. Ключевое тут — не слово "макрос", а "изменение синтаксиса".


FR>Хороший все таки язык лисп


Очень хороший. И время показало, где ему самое место.
Re[12]: Почему макросы Nemerle не являются злом?
От: FR  
Дата: 25.04.11 18:31
Оценка:
Здравствуйте, Lloyd, Вы писали:

FR>>Хороший все таки язык лисп


L>Очень хороший. И время показало, где ему самое место.


Ну скажем не самое плохое место, куча гораздо более молодых и популярных языков давно уже сгинули, а старичок хоть и живет
на самой окраине, но вполне здоров и бодр
Re[10]: Почему макросы Nemerle не являются злом?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.04.11 19:54
Оценка:
Здравствуйте, Lloyd, Вы писали:

VD>>ОК. Давай быть конкретными. Приведи список нелогичностей которые ты считаешь синтаксическими и обсудим их.


L>Да, давай будем конкретными. Приведи список причин, почему при переходе на nemerle вдруг перестанут совершаться такие ошибки и мы обсудим их.


Ну, раз сказать тебе не чего. То что ты лезешь в каждую бочку?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 25.04.11 19:58
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Да, давай будем конкретными. Приведи список причин, почему при переходе на nemerle вдруг перестанут совершаться такие ошибки и мы обсудим их.


VD>Ну, раз сказать тебе не чего. То что ты лезешь в каждую бочку?


Т.е. у тебя нет ответа на вопрос? Ну так это вполне ожидаемо.
Re[10]: Почему макросы Nemerle не являются злом?
От: Chrome  
Дата: 26.04.11 12:34
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Я не писал, что макросы — гавно. Если ты не заметил, я уточнил, что именно считаю опасным и недальновидным — использование макросов, позволяющих менять синтаксис целевого языка. Ключевое тут — не слово "макрос", а "изменение синтаксиса".


Не в первый раз вижу утверждение, будто синтаксические макросы позволяют менять синтаксис.
И это, будто бы способно породить трудности.
Но менять синтаксис такие макросы не могут, могут только расширять его.
То есть видя известную синтаксическую конструкцию, можно быть уверенным, что она означает то, что означала.
Видя новую, неизвестную вам конструкцию, можно проявить любознательность, ознакомиться с ее предназначением.

Но никакого изменения синтаксиса...

Может это простая терминологическая путаница между словами изменять и расширять, но она способна вести к недоразумениям.
Re[11]: Почему макросы Nemerle не являются злом?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 26.04.11 12:47
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Но менять синтаксис такие макросы не могут, могут только расширять его.


В Немерле, вызов макроса через синтаксис функции или оператора, например, может развернуться во что угодно. Можно переопределить большинство стандартных конструкций, вроде if/else, for, foreach, etc, в том числе и с другим синтаксисом.
Ce n'est que pour vous dire ce que je vous dis.
Re[11]: Почему макросы Nemerle не являются злом?
От: Lloyd Россия  
Дата: 26.04.11 12:50
Оценка: +1 -2
Здравствуйте, Chrome, Вы писали:

C>Но никакого изменения синтаксиса...


C>Может это простая терминологическая путаница между словами изменять и расширять, но она способна вести к недоразумениям.


Расгирение — это частный случай изменения. Это так, к сведению.
Re[11]: Почему макросы Nemerle не являются злом?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.04.11 15:02
Оценка: :)
Здравствуйте, Chrome, Вы писали:

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


L>>Я не писал, что макросы — гавно. Если ты не заметил, я уточнил, что именно считаю опасным и недальновидным — использование макросов, позволяющих менять синтаксис целевого языка. Ключевое тут — не слово "макрос", а "изменение синтаксиса".


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

C>И это, будто бы способно породить трудности.
C>Но менять синтаксис такие макросы не могут, могут только расширять его.
C>То есть видя известную синтаксическую конструкцию, можно быть уверенным, что она означает то, что означала.
C>Видя новую, неизвестную вам конструкцию, можно проявить любознательность, ознакомиться с ее предназначением.

C>Но никакого изменения синтаксиса...


C>Может это простая терминологическая путаница между словами изменять и расширять, но она способна вести к недоразумениям.


Никакой путаницы нет. Макросы nemerle позволяют создавать также операторы и функции, в поведением, которое невозможно предсказать при просмотре функции.
Кроме вод обычно сильносвязный, существует множество неявных зависимостей внутри программы, и макросы влияют в том числе на них.
Re[12]: Почему макросы Nemerle не являются злом?
От: Ziaw Россия  
Дата: 26.04.11 16:36
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Никакой путаницы нет. Макросы nemerle позволяют создавать также операторы и функции, в поведением, которое невозможно предсказать при просмотре функции.


Чем вызов макроса в данном случае отличается от вызова функции? Если не видеть ее кода и документации точно так же нельзя сказать, что она делает.
Re[10]: Почему макросы Nemerle не являются злом?
От: _nn_ www.nemerleweb.com
Дата: 26.04.11 18:13
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


L>>>Нет, разработчики шарпа проектировали синтаксис шарпа. Допустили "нелогичности". Почему я должен предполагать, что я, ты или кто-то другой при переходе на nemerle вдруг перестанет совершать такие ошибки?


VD>>ОК. Давай быть конкретными. Приведи список нелогичностей которые ты считаешь синтаксическими и обсудим их.


L>Да, давай будем конкретными. Приведи список причин, почему при переходе на nemerle вдруг перестанут совершаться такие ошибки и мы обсудим их.


Отсутствие оператора as.

При ссылочном сравнении требуется приведение к object:
class A {}
 
class Program
{
 static Main() : void
 {
  def a = A();
  def b = A();
  
  when (a == b) {}  // Error
  when (a : object == b) {}  // Now ok.
 }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.