Здравствуйте, WolfHound, Вы писали:
WH>А в чем проблема то? Берешь и пишешь сборку с этими макросам. Потом в отдельном файле пишешь using MyCoolMacroNamespace; и описываешь. Если не написать using MyCoolMacroNamespace; то этих макросов не будет.
Сборку с реализацией макросов или сборку в которой макросы используются?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[9]: Снова о Nemerle или профанация не пройдет :)
WP> Лучшая IDE это Unix. А IDEA — игрушка. Бесполезная.
Чем выкрикивать бессмысленные лозунги, не лучше ли задуматься над тем, почему кто то делает "бессмысленные игрушки"(пользующиеся популярностью), да еще и зарабатывает на этом деньги.
Re[14]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, AndrewVK, Вы писали:
AVK>Где в коде с хеш-таблицей вылез никому не нужный Tuple.
Код рабоатет корректно. А если это баг приводящий к незначительным тормозам, то нет проблем обратиться к авторам. Они вроде как с удовольствием исправляют баги.
AVK>Я не могу рисковать из за мелких задач использованием сверхсырого языка.
Снова наезды. Где ты увидил сверсырые языки? Еще раз напомню. Они свой компилятор полностью на себе поднимают.
VD>>А Нэмерл из C#, ML и Схемы. И что?
AVK>И то, что все товарищи в этом ряду, за исключением шарпа, мейнстримом не являются.
В своей области они самый что ни на есть мэйнстрим. Просто функциональное программирование и макромы вообще не добрались до мэйнстрима. И не доберутся никогда если все идеи будут встречать в штыки.
VD>>Можно поднять твои посты 2001-2002 годов и убедиться, что скепсиса подбного проявляемому сейчас от тебя слышно не было.
AVK>Подними.
что-то не видно, что там сквозил бы скепсис по поводу судбты совсем молодого продукта. Жалоб на отсуствие продуктов написанных на дотнете тоже нет.
А вот твой первый спор по поводу дотнета: Re[6]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Какие-то разговоры про объмем библиотек... Но что-то про риски и т.п. ни гу-гу. Шарп тоже априори не рассмартивается как риск.
VD>>Синтаксис у CTR свой. Это отдельный и довольно убогий движек текстуальных шаблонов.
AVK>Но он один. Его достаточно один раз изучить.
Здорово. А сколько раз надо изучать синтаксис макросов Нэмерла?
AVK>Я не увижу в других программах другого синтаксиса.
Ага как же? Ты видишь метаязык со всеми вытекающими.
AVK>Проблема в том, что язык может изменить кто угодно просто использовав либу.
А наличие неизвесных функций в коде тебя не смущает?
AVK>Сложный и навороченный. Мне не нужно чтобы его использующие сделали что то, отличное от того что я хочу. Если мне нужно DSL, которое содержит только точки и тире, значит ничего другого там нельзя использовать в принципе.
То каким будет встроенный ДСЛ ты определяешь сам. Сколько раз это нужно повторять? Никто не сможет вставить в твой язык ничто кроме точек и тере если ты этого не позволишь.
VD>> Ты не забыл, что каждая команда вольна сама определять все что хочет?
AVK>В том то и дело что не забыл.
Ну, а тогда в чем проблема? Ты как главный в команде определяшь какие ДСЛ-и, расширения языки, и просто макросы может применять ваша команда. Это выражается в наборе допустимых макро-модулей (сборок). Остальные макро-сборки поключать запрещаешь. Если кто-то из подчиненных хочет зпаолучить новую фичу он приходит к тебе и вы обсуждаете нужна ли она и если нужа делаете.
В С++ макросы можно сувать на право и на лево. Причем макросы действительно опасны, но тем неменее анархии не начинается. А тут все в шоколаде и под контролем.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Воронков Василий, Вы писали:
ВВ>А ничего если я спрошу? (без тени скепсиса ) ВВ>Какие бенефеты ты лично видишь от использования Немерле при разработке бизнес-приложений?
Тебе частности или достаточно сказать, что ты сможешь просто писать более краткий и выражительный код?
Из совсем простых примеров. Как по-твоему что читабелнее:
const int Count = 10000000;
или
def Count = 10_000_000;
?
И это просто детские игрушки по сравнению с тем, что позволяет этот язык.
При этом ты можешь программировать на нем как на слегка измененном C#.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Oyster, Вы писали:
O>Ну и очередная мечта — имхо на Nemerle получилось бы написать неплохую O/R-Mapping tool... Это я говорю как человек, измученный NHibernate Только вот где ж стока времени-то валяется...
Дык если подсадить на Нэмерел достаточное количество народа, то рано или поздно NHibernate будет написан на Нэемерле и тогда даже будет оправдана первая буква в слове NHibernate.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, eao197, Вы писали:
E>Для уточнения названий функций я могу использовать идентификаторы пространств имен. А в C, где пространств имен не было, применялись префиксы для имен функций (SSL_, curl_, ACE_ и пр.).
Технологп проста таки 23-го века!
Стиль называется "багус пронус програму". Или "бессоннус ночоус".
E>Забавно, надо полагать, будет выглядеть код на Nemerle, если в нем будут синтаксические конструкции вида: E>
Да было бы забанов. По этому очень приятно, что их от ныне не будет.
E>Очень далеко мы ушли от C, не правда ли?
Да — это радует не подетски. И для тех кто не в теме поясню, как раз гигиеничность макросов Нэмерла устраняет такую проблему. В макросах нэмерла ты можешь пересечься с именами внешней области видимости только если сам специально этого захочешь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, eao197, Вы писали:
E>Вот что-нибудь такое.
Да будет обязательно разное. Как сейчас есть грязный код без намеков на выравнивание и декомпозицию.
Вопрос только в том, будет ли это проблемой.
В С++ к проблемам подталкивает непродуманный дизайн отдельных фич языка. Тут же дизайн продуман и проблемы С++ учтены все как одна. Конечно возможно вылезут новые проблемы. В C# тоже пытались избавиться от всех проблем С++, но ведь умудрились же сделать другие? Например, повторить синтаксис деструктрора С++ для финалайзера и сделать автоматический вызов финалайзера базового класса — это явный просчет дизайнеров языка. К щастью, он не приводит к таким проблемам как в С++. Так вот такие же просчеты наверняка есть и в Нэмереле. Но о них мы узнаем через много лет если будем использовать этот язык достаточно плотно. А сейчас же я вижу невероятно продуманный дизайн языка. Вот этого как раз и не хватает ни в С++, ни в C#. Хотя конечно продуманность дизайна C# намного выше чем С++.
E>И есть у меня определенные сомнения, что задание подобных вещей через атрибуты будет удобнее переопределения синтаксиса. И если я смогу сделать такие вещи на атрибутах, то зачем вообще с Nemerle связываться, если есть C#? Но это уже риторический вопрос, даже больше эмоции.
Замем, что атрибуты — это только расширение метаинфрмации. А чтобы метаинформация начала что-то делать нужно создать код читающий ее и делающий что-то. Так вот макросы Нэмерла как раз и позволяют создать такой код. Причем создать в компайлтайме и создать очень просто!
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, eao197, Вы писали:
WH>>А в чем проблема то? Берешь и пишешь сборку с этими макросам. Потом в отдельном файле пишешь using MyCoolMacroNamespace; и описываешь. Если не написать using MyCoolMacroNamespace; то этих макросов не будет.
E>Сборку с реализацией макросов или сборку в которой макросы используются?
Пишешь сборку с макросами. А используешь в прикладной. Чтобы прикладная сборка могла использовать мкросы при ее компиляции нужно подключить сборку с макросами и в файле где хочешь испльзовать макрос из этой сборки указать пространство имен в ктором объявлен макрос.
В общем, похоже разговору заходят в тупик. Надо просто саздать пару тем где попытаться продемонстрировать как писать и использовать макросы. Тогда все все поймут, а я лично научусь их использовать.
Кроче, ждите. Через пару часов будет вам первые впечатления.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, AndrewVK, Вы писали:
AVK>>>Только вот пока не стал. Следовательно никто в этом мире не способен предсказать проблемы языков с изменяемым синтаксисом на тяжелых и долгих приложениях.
VD>>Стоп. Он не стал просто потму, что молод.
AVK>Доказательств у тебя нет.
Какие тебе еще нужны доказательства? Сам же говоришь, что язык еще не зарелизен.
VD>>Зашибись. А чем же Nemerle тут от Шарпа то отличается? Точно так же привносит новое в уже готовую среду.
AVK>Количество нового несопоставимо.
Очень даже сопоставимо. Ты можешь писать на Нэмерле как на C#. Единственно, что нельзя изменить — это декларацию типов за переменными. Но думаю, ты с этим легко свыкнешся.
AVK>Я уже говорил — бег перед паравозом конечно завлекателен, но плохо совместим с коммерческой разработкой софта.
М сейчас говорим о новом языке который будет использоваться в будущих разработках. C# тоже был новым языком. И ты тоже бежал в переди паравоза когда использовал его в 2001.
VD>>Ага. Самое надежное решение тут будет ничего не делать. Вон в С++ так и поступают. Промежутон между стандартами более 10 лет...
AVK>Есть ненулевая вероятность, что они правы. В отличие от тебя я в повальный идиотизм всех тех, кто им занимается не верю.
Тогда ты совершил ошибку и бежишь впереди паравоза. Надо было писать на С++.
AVK>>>Т.е. недостатков в языке ты не видишь?
VD>>Так чтобы бросались в глаза пока не вижу.
AVK>Т.е. таки серебряная пуля?
AVK>[демагогия поскипана]
Вот эти две последние строчки очень смешно выглядят. Не то скипал.
Демагогия — это твои слова про серебрянную пулю.
Давай от обратного.
Ты видишь недостатки в C#?
Нет? Тогда это серебрянная пуля?
Есть? Но тогда те же недостатки (за редким исключением) ты найдешь и в Нэмерле.
AVK>От того что их можно самостоятельно добавлять.
Можно добавить и есть разнве вещи. Не так ли?
В Шарпе ты тоже можешь добавить глючную библиотеку и получить проблемы. И что же ты его не бросаешь на этом состоянии? Звучит абсурдно? Вот и мне твои слова кажутся абсурдными.
AVK>Подключаю библиотеку, а там часть макросов документировать забыли.
Они как код. Они в пространствах имен. Я уже устал повторять, что раницы с кодом тут нет. Ты точно так же в C# можешь подключить модуль переопределяющий функцию которая раньше работала. Даже более того. Если у тебя пересекутся макросы Нэмерла, то тебе выдадут ошибку. А в C# можно создать ситуацию кодга одна функция просто заменит другую и все! Примеры приводились не однократно. Но на практике таких проблем нет.
AVK>>>Читай внимательнее — информации о практической применимости. Много ты знаешь мало мальски долгоживущих проектов на Nemerle окромя его самого?
VD>>А зачем же его самого то исключать? Прокт огромный и сложный.
AVK>Затем что его создатели не заинтересованы в демонстрации фундаментальных проблем в языке.
А кто заинтересован? Создатели используют язык. Единственное их приемущество в том, что они могут сразу поправить найденный баг. В остальном это такой зе большой прокт. Плюс к проекту идет туча юнит-тестов. Все макросы тестируются при каждой компиляции.
VD>>Можно спросить у того же Vermicious Knid. Он вроде бы уже что-то пописал на нем.
AVK>Что? Все что я слышал — какое то мелкое баловство.
Твою работу тможе можно назвать мелким балоством если очень захотить. Не стоит за глаза осконрблять человека. Лучше спросим у него.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, pavel_turbin, Вы писали:
_>>а смысл гоняться за модой?! Мне на C++ очень хорошо.
VD>А какой смысл было учить С++ когда тебе было бы куда лучше на Коболе?
а шел бы ты лесом со своими советами.
Re[6]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, VladD2, Вы писали:
VD>Кстати, почитал их макросы поставляемые с компилятором... Оказывается C# содран только на уровне описания классов. Все statments и expressions в основном присуствуют в виде макросов. Я оифигел когда увидел, что даже операторы &&, ++, += и т.п., в общем, осная куча, реализованы в качестве макросов!
VD>Макросами реализованы и буквально все операторы языка. Даже if/else и то макрос.
Я не понимаю чем тут восторгаться. Ты Форт выдел? Там то же самое, даже еще круче. И это его и убило.
VD>Это смешно, но во всем языке есть только пара операторов
Это, увы, не смешно.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, Oyster, Вы писали:
O>Кстати, использование Reflection.Emit приводит, например, к таким "приятным" мелочам, как создание инстанса только через фабрику.
С чего бы это?
O>Необосновано всё это. Вот возьму я шарп и напишу библиотеку, в которой все классы/методы будут начинаться с подчёркивания и включать как можно меньше букв.
Неужели ты не видишь разницы между библиотеками и синтаксисом языка?
O>Ну а возможность создать свой синтаксис имхо тоже может пригодиться. Опять же — для уменьшения объёма конечного кода. LINQ же тебя не пугает?
LINQ не позволяет менять синтаксис.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, VladD2, Вы писали:
AVK>>Или ты все таки считаешь что серебраные пули есть?
VD>Я вижу явное и существенное превосходство Нэмерла над C# и вижу ниличие в Нэмерле всего того что меня подкупало в C#.
А при чем тут C#?
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, Oyster, Вы писали:
O>Серебрянных пуль нет, но более мощные языки существуют.
Существуют. Но за все надо платить. Мне так до сих пор никто и не сказал — как читать чужой код, учитывая что менять можно все — ключевые слова, операторы. Да еще вон и python-style. Не получится так что каждая команда будет изобретать свой язык?
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Ничего крутого я не вижу.
VD>Я уже устал повторять, что создание макросов можно эффектино контролировать, так как они создаются отдельно и на отдельной стадии. Случайно залететь тут нельзя.
Я не про случайность, я про результат. Применять слова будет тот кто пишет, а не тот, кто этот код потом будет читать. Вон ты хороший пример привел — гляну я на такой кусок и буду гадать — что бы это значило. И нельзя один раз потратить время и выучить основные конструкции — кажды может изобести свои. В результате изучение чужого проекта должно будет начинаться с изучения нового языка.
[демагогия поскипана, — за нее]
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, WolfHound, Вы писали:
AVK>>Где в коде с хеш-таблицей вылез никому не нужный Tuple. WH>Этот тупл устраняется элементарным анализом потока данных.
Но ведь не устранили? Следовательно генератор кода еще сырой. Андрюш, пойми, в реальных проектах требования к баговатости языка крайне высоки. Ты же прекрасно помнишь проблемы при переходе на 2 фреймворк, при том что он был релизный и МС тестировал его не по децки.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, Дарней, Вы писали:
Д>Не идиотизм. Просто инертность, упрямство и косность мышления.
Да да. Одни мы тут такие неимоверно талантливые. Извини, но я в повальные недостатки не верю, не бывает так чтобы все кругом в дерьме, один я в белом фраке.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>