Аннотация:
Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ <Зачем вводить в язык то, что реализуется библиотекой?> и <Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек>. Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Чистяков Влад aka VladD2, Вы писали:
ЧВA>Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ <Зачем вводить в язык то, что реализуется библиотекой?> и <Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек>. Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.
Влад, вот скажи мне, откуда такая "любовь" к C++? Ведь это язык, только коммерческая эксплуатация которого идет уже двадцать лет, а начал он создаваться еще лет на пять раньше. Какой смысл сравнивать его с только что появившимися на свет языками, в которых на генетическом уровне заложен опыт (в том числе и негативный) C++ и прочих?
Более того, ведь C++ сейчас даже не самый популярный язык программирования. Почему бы не взять Java? В Java ведь не с меньшей неохотой изменяют сам язык, а вокруг Java сейчас сформировано огромное количество библиотек. Или еще более молодой, но уже популярный C#?
Я не хочу порождать очередной флейм по обсуждению превосходства Nemerle над C++. Я хочу понять, почему C++ (а не Java, не Eiffel, не Smalltalk, ни Lisp, ни Visual Basic, you name it) является такой раздражающей красной тряпкой?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, Чистяков Влад aka VladD2, Вы писали:
ЧВA>>Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ <Зачем вводить в язык то, что реализуется библиотекой?> и <Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек>. Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.
E>Влад, вот скажи мне, откуда такая "любовь" к C++? Ведь это язык, только коммерческая эксплуатация которого идет уже двадцать лет, а начал он создаваться еще лет на пять раньше. Какой смысл сравнивать его с только что появившимися на свет языками, в которых на генетическом уровне заложен опыт (в том числе и негативный) C++ и прочих?
Это "комплекс эмигранта"
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, Чистяков Влад aka VladD2, Вы писали:
ЧВA>>Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ <Зачем вводить в язык то, что реализуется библиотекой?> и <Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек>. Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.
E>Влад, вот скажи мне, откуда такая "любовь" к C++? Ведь это язык, только коммерческая эксплуатация которого идет уже двадцать лет, а начал он создаваться еще лет на пять раньше. Какой смысл сравнивать его с только что появившимися на свет языками, в которых на генетическом уровне заложен опыт (в том числе и негативный) C++ и прочих?
Вот с тем чтобы и показать как учли этот опыт.
E>Более того, ведь C++ сейчас даже не самый популярный язык программирования. Почему бы не взять Java? В Java ведь не с меньшей неохотой изменяют сам язык, а вокруг Java сейчас сформировано огромное количество библиотек. Или еще более молодой, но уже популярный C#?
Дело в том, что Java/C# изначально не рассчитаны на расширение возможностей с помощью метапрограммирования.
В них и нет таких средств.
В то же время в C++ в последнее время как раз активно его (метапрограммирование) используют (boost, особенно boost::lambda), в то же время так как изначально язык на такое применение шаблонов не был рассчитан это происходит достаточно коряво.
E>Я не хочу порождать очередной флейм по обсуждению превосходства Nemerle над C++. Я хочу понять, почему C++ (а не Java, не Eiffel, не Smalltalk, ни Lisp, ни Visual Basic, you name it) является такой раздражающей красной тряпкой?
Из этого списка можно было бы с Lisp только сравнить, наверное, по причинам изложенным выше. Было бы интересно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, eao197, Вы писали:
E>Влад, вот скажи мне, откуда такая "любовь" к C++?
наверно, потому что это единственный мэйнстримный язык, в котором используют метапрограммирование на уровне языка. Ява и сишарп по этому параметру — не конкуренты.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, Чистяков Влад aka VladD2, Вы писали:
ЧВA>>Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ <Зачем вводить в язык то, что реализуется библиотекой?> и <Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек>. Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.
E>Влад, вот скажи мне, откуда такая "любовь" к C++?
Я высказываю свою точку зрения по тем вопросам которые кажутся мне интересными.
А ты умудряшся судить о том, что не читал и вообще в глаза не видел.
E> Ведь это язык, только коммерческая эксплуатация которого идет уже двадцать лет, а начал он создаваться еще лет на пять раньше. Какой смысл сравнивать его с только что появившимися на свет языками, в которых на генетическом уровне заложен опыт (в том числе и негативный) C++ и прочих?
Прочти статью — узнашь. Если после прочтения будет, что сказать, то милости просим писать ответнуд статью.
E>Более того, ведь C++ сейчас даже не самый популярный язык программирования. Почему бы не взять Java? E>...Или еще более молодой, но уже популярный C#?
Потому что Ява и C# не декларировали приципы «Зачем вводить в язык то, что реализуется библиотекой?» и «Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек» обсуждаемые в этой статье. А апологеты С++ постоянно о них упоминают.
E>Я не хочу порождать очередной флейм
Так за чем дело встало? Не порождай.
E> по обсуждению превосходства Nemerle над C++.
А что есть что обсуждать? По-моему все очевидно.
E> Я хочу понять, почему C++ (а не Java, не Eiffel, не Smalltalk, ни Lisp, ни Visual Basic, you name it) является такой раздражающей красной тряпкой?
Вообще, или применительно к этой статье? Если последнее, то я уже ответил.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Из этого списка можно было бы с Lisp только сравнить, наверное, по причинам изложенным выше. Было бы интересно.
Хорошая идея. Но у меня скил в области Лиспа близок по высоте к плинтусу. Так что это задача для кого-то другого.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, VladD2, Вы писали:
АХ>>Из этого списка можно было бы с Lisp только сравнить, наверное, по причинам изложенным выше. Было бы интересно.
VD>Хорошая идея. Но у меня скил в области Лиспа близок по высоте к плинтусу.
У меня тоже
VD> Так что это задача для кого-то другого.
Ну вот тут
Здравствуйте, Чистяков Влад aka VladD2, Вы писали:
ЧВA>Статья:
Не знаю, может быть пример выбран неудачно, может в недоступной части статьи есть объяснение, но... Пример с foreach просто смешон! Ты высказываешь тезис об отсутствии синтаксического сахара в Nemerle и тут же сам опровергаешь его. Мне конструкция с for уже настолько привычна, что вероятность допустить в задании цикла ошибку практически нулевая. Ты же называешь эту конструкцию "свирепой", предлагая взамен другую такую же, чуть короче в байтовом смысле и менее универсальную (что, если я захочу сделать шаг 2?). В чем поинт? Ведь удобство инструмента определяется не этим, верно?
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, Olegator, Вы писали:
O>Не знаю, может быть пример выбран неудачно, может в недоступной части статьи есть объяснение, но... Пример с foreach просто смешон! Ты высказываешь тезис об отсутствии синтаксического сахара в Nemerle и тут же сам опровергаешь его.
А в немерле нет конструкции foreach. Как нет и for и while и много чего другого. За то есть макросы которые это все реализуют те весь сахар (а for несомненно тоже сахар) в бибиотеке.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, WolfHound, Вы писали:
WH>А в немерле нет конструкции foreach. Как нет и for и while и много чего другого. За то есть макросы которые это все реализуют те весь сахар (а for несомненно тоже сахар) в бибиотеке.
Хмм... Но VladD2 указывал именно foreach как одно из преимуществ.
Аргументы в статье не доказывают преимущества Nemerle как инструмента, а лишь показывают какой-то новый [сомнительный] синтаксис.
Re[5]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, Olegator, Вы писали:
O>Здравствуйте, Чистяков Влад aka VladD2, Вы писали:
ЧВA>>Статья:
O>Не знаю, может быть пример выбран неудачно, может в недоступной части статьи есть объяснение, но...
Есть еще один варинт. Ты мог невнимательно прочесть или прочтя не понять о чем идет речь.
O> Пример с foreach просто смешон! Ты высказываешь тезис об отсутствии синтаксического сахара в Nemerle и тут же сам опровергаешь его. Мне конструкция с for уже настолько привычна, что вероятность допустить в задании цикла ошибку практически нулевая.
Я думаю, развивать тему возможности допущения ошики не стоит.
Речь в статье и примере идет о другом. Речь идет о том, что все варианты перебор равнозначны и один можно выразить через другой. Ну, а зачем эта мысль высказывается можно понять только прочтя статью до конца.
O> Ты же называешь эту конструкцию "свирепой", предлагая взамен другую такую же, чуть короче в байтовом смысле и менее универсальную (что, если я захочу сделать шаг 2?). В чем поинт? Ведь удобство инструмента определяется не этим, верно?
Поинт в том, что ты читая про одно зациклился на посторонеей вещи. Причем ты в общем-то не прав и в сделанном тобой выводе по поводу for-а, но обсуждать эту тему значит уйти совсем в сторону от смысла. В общем, подождем пока статья будет выложена целиком, а там поговорим, если конечно, вопросы еще останутся.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, VladD2, Вы писали:
VD>Есть еще один варинт. Ты мог невнимательно прочесть или прочтя не понять о чем идет речь.
Пропустим.
VD>Речь в статье и примере идет о другом. Речь идет о том, что все варианты перебор равнозначны и один можно выразить через другой. Ну, а зачем эта мысль высказывается можно понять только прочтя статью до конца.
Не, это конечно хорошо, что можно изобретать свои варианты перебора. Только зачем? Пусть не foreach, рассмотрим пример с хвостовой рекурсией. Какой в ней, собственно, смысл? Чтобы перебрать значения, ты определяешь дополнительную функцию/макрос, тем самым плодя сущности без необходимости. Такой перебор сложнее читается, т. к. визуально перегружен (условный оператор, рекурсивный вызов).
Это я всё не придираюсь, это я просто к тому, что пример плохой. Хотя может мысль, которую он должен выражать, правильная. Я не телепат.
VD>Поинт в том, что ты читая про одно зациклился на посторонеей вещи. Причем ты в общем-то не прав и в сделанном тобой выводе по поводу for-а, но обсуждать эту тему значит уйти совсем в сторону от смысла. В общем, подождем пока статья будет выложена целиком, а там поговорим, если конечно, вопросы еще останутся.
В статье [пока] довольно мало вещей, чтобы можно было на чём-то зациклиться. И уж поверь, человек, незнакомый с Nemerle, понимает начало так: Nemerle лучше, потому что у него больше возможностей для перебора.
ЗЫ. Зачем такую тему, которую обсуждают на форуме, надо было делать закрытой?
Re[4]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, Olegator, Вы писали:
O>Это я всё не придираюсь, это я просто к тому, что пример плохой. Хотя может мысль, которую он должен выражать, правильная. Я не телепат.
Смысл примера с рекурсией не в его "хорошести", а в том, что без forXXX можно обойтись совсем. Но статья немного о другом и в ней нигде не говорится, что так теперь и надо поступать.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, VladD2, Вы писали:
E>>Влад, вот скажи мне, откуда такая "любовь" к C++?
VD>Я высказываю свою точку зрения по тем вопросам которые кажутся мне интересными.
Хм. Выглядит это так: "я знаю C++, C# и Nemerle. C# и Nemerle мои любимые языки. C++ отстой. Значит нужно попинать C++."
Спасибо, ответ понятен.
VD>А ты умудряшся судить о том, что не читал и вообще в глаза не видел.
Покажи мне точную цитату, где я что-нибудь из твоей статьи осудил.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, VladD2, Вы писали:
VD>Речь в статье и примере идет о другом. Речь идет о том, что все варианты перебор равнозначны и один можно выразить через другой. Ну, а зачем эта мысль высказывается можно понять только прочтя статью до конца.
Ну хотя бы намекни...
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Хоар
Re[4]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, eao197, Вы писали:
E>Хм. Выглядит это так: "я знаю C++, C# и Nemerle. C# и Nemerle мои любимые языки. C++ отстой. Значит нужно попинать C++."
Тебе так хочется видить. А реальность такая. Я заметил интересную вещь и описал ее развернуто. Что касается "любви", то тоже ошибаешся. Я прошел сколу С++, C# и вот сейчас прохожу школу Nemerlr. Каждая мне что-то дала и двинула в перед. Ну, а некоторые сидят на пятой точке и ищут отмазки для того чтобы не отрывать ее от земли. E>Спасибо, ответ понятен.
E>Покажи мне точную цитату, где я что-нибудь из твоей статьи осудил.
Здравствуйте, Olegator, Вы писали:
WH>>А в немерле нет конструкции foreach. Как нет и for и while и много чего другого. За то есть макросы которые это все реализуют те весь сахар (а for несомненно тоже сахар) в бибиотеке.
O>Хмм... Но VladD2 указывал именно foreach как одно из преимуществ.
Вот по этомв я и сказал, что нужно читать статью целиком. Возможно ее слишком плохо порезали. Ровно на подходе к проблемной области. Вот и кажется, что рассуждения о каких-то там foreachо-ах.
O>Аргументы в статье не доказывают преимущества Nemerle как инструмента, а лишь показывают какой-то новый [сомнительный] синтаксис.
Всегда был рад за людей способных судить о погоде по ее прогнозам. Шучу.
В общем, если не уловил мысль с введения, то лучше подождать когда вся статья будет доступна. Уверен, что все вопросы сами собой исчезнут.
Про сомнительность синтаксиса даже говорить не хочу.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Синтаксический сахар или C++ vs. Nemerle :)
Здравствуйте, VladD2, Вы писали:
VD>Тебе так хочется видить. А реальность такая. Я заметил интересную вещь и описал ее развернуто. Что касается "любви", то тоже ошибаешся. Я прошел сколу С++, C# и вот сейчас прохожу школу Nemerlr. Каждая мне что-то дала и двинула в перед. Ну, а некоторые сидят на пятой точке и ищут отмазки для того чтобы не отрывать ее от земли.
Боюсь, что ты эту школу не прошел, а был просто отчислен за неуспеваемость.