ANS>Это была не самоцель, а не обходимость. Увы и ах, сказывается отсутсвие нормальной ньюсо-читалки под виндоус.
Звучит не очень здорово. Ну, да не будет обсуждать количество читалок новостей доступных в Виндовс.
VD>>В общем, разговор про Лисп нужно закрыть.
ANS>Это форум "Философия программирования" нужно закрыть.
Не вопрос. Закрой окно и для тебя его не будет.
ANS> Кому какой язык кому нравится, пусть берёт и пользуется, и молчит себе в тряпочку.
Замечательно. Вот и пользуйтесь своим Лиспом, но не нужно меня убеждать, что я тоже им должен пользоваться. Для меня — это синоним внеполовых извращений.
ANS>Влад, "философия" и подразумевает поиск проблемы в голове, а не в клозете.
Поиск проблем в голове — это не философия, а психиатрия. Мне она вроде пока не нужна.
VD>> Если тебе нравится Лисп и ты считашь его подходящим для тебя, то бери и пользуйся им. Я этого делать принципиально не хочу.
ANS>Кесарю — кесарево.
Ну, вот и считай себя кесорем. Я вроде все сказал. Если не согласен со мной — это твои проблемы. Если не веришь в то, что Лиспу не стать мэйнстримом, то можешь спросить об этому у этого самого мэйнстрима по средствам голосования.
Что спорить то?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, WinniePoh, Вы писали:
WP> Уверяю вас, это вовсе не так. Вам просто не хватило способностей для того чтобы перестроить своё мышление.
Уверяю тебя моих способностей хватит куда на больше чем на Лисп. Я просто не буду тратить их на него. Потому как найду им лушее применение. А тебе советую в предь не осбуждать чужие способности.
WP> А уметь перестраивать мышление на любую произвольную парадигму обязан каждый. И не только каждый программист, вообще каждый. Адаптивность — основополагающее свойство интеллекта.
Громкие слова тоже в лес. И вообще, как соотносятся парадигмы и желание испльзовать Лисп?
Я лично не против разных парадигм вроде ФП или МП, но я против программирования в AST коим и является Лисп. В общем, я против Лиспа. Причем не навязываю свою волю никому. Если кто-то видит в Липе идильное средство разратбоки, то пусть его использует. Только без обсуждения чужих умственных способностей.
WP> Кто запретил приделать к Лиспу строгую типизацию? Лично мне никто не запрещал, чем и пользуюсь цинично.
А зачем мне приделывать к Лиспу то и се, когда я могу просто взять язык где это уже приделано и приделано качество? Я не уверн, что смогу приделать все что мне нужно в разумные сроки. И не понимаю зачем мне этим заниматься.
Лично за тебя цинично радуюсь. Пользуйся дальше. Я не хочу.
WP> Профессионалы всегда в меньшенстве. Лабухов-ремесленников гораздо больше.
И что? Ты типа причислил себя к гордой касте профи и уже взерашь на других с высока?
В общем, мне очень не нравится твой надменный тон. По меньше громких слов, и по больше интересных фактов. Там будет все приятнее.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, WinniePoh, Вы писали:
WP> Те же макросы, что и, например, в dia2code.
Нет слов. Ну, называй диаграмы хоть горшком. Мне без разницы.
VD>>Дизайнер классов видел в VS 2005? Вот он как раз на этом самом DSL Tools сделан. Чем он на макросы похож?
WP> Тем и похож — что каждый графический элемент (по сути — это ровно то же AST) разворачивается очень примитивным образом (подстановкой) в код.
В DSL Tools вообще не определяется как ты будещь переводить модель и во чето. Есть некоторые средства, но они не обязательны. В конце концов ты волен взять генерируемый дизайнером ХМЛ и делать с ним, что хочешь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Это абсолютно несущественно в контексте данного обсуждения. Оба положения совершенно эквивалентны в качестве подтверждения ограниченности ресурсов MS,
Существенно то, что ресурсов у МС как раз выше крышы. Просто сложность задачи запредельная для человека и/или современных машин. Вот и все. Если же язык сразу проектировался в рассчете на дизайнеры, то и сложность укладывается в разумные пределы.
VD>>Я конечно понимаю, что ты снова сочтешь мои слова за новую потытку унизить С++, но еще раз повторюсь. При разработке С++ его дизайнером небыло уделено внимания важным аспектам вроде модульности и предсказуемости.
ПК>Не так.
Ладно. Разводить очередной спор желания нет. Давай закроем тему.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Снова о Nemerle или профанация не пройдет :)
E>Если это не расширение синтаксиса, то проблем не будет. С расширениями синтаксиса все несколько сложнее. Если они конфликтуют друг с другом, то совместно их использовать невозможно, а подключать пространства имен можно только на уровне пространств имен/единиц трансляции(так как такие макросы изменяют логику парсера).
И что? Если у тебя конфликтуют названия функций, ты тоже их использовать не сможешь. Что же тебя это не огорчает?
Макросы немерла подчиняются тем же самым ограничениям, что и функции в С.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Снова о Nemerle или профанация не пройдет :)
Кстати, меня вот один вопрос интересует. Я как-то попытался написать обобщенную версию функции работющей с IList<T>. Ну, что-то вроде:
def f[T](IList<T> seq)
{
seq.Count;
}
Так вот, когда я передал в нее массив который вроде бы иреализует интерфейс IList<T>, то компилятор заорал, что мол немогу привести тип.
Тогда я применил приведение типов :> и все прошло. Но ведь в C# в таких случаях приведение не требуется. Не баг ли это?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Vermicious Knid, Вы писали:
VK>Посмотри есть ли у тебя в GAC нэтивный образ Nemerle.Compiler.dll. Я не инсталлировал новую версию, запускал бинарники из дистрибутива исходников(там есть компилятор для осуществления self-бута). У меня он жутко тормозил, пока я через ngen вручную не сгенерировал образы для Nemerle.Compiler.dll и Nemerle.Macros.dll. Правда обрабатывать Nemerle.dll(стандартная библиотека) он вообще отказался. Возможно он JIT'ит его каждый раз при запуске и это сказывается негативно.
Биг сенкс. Действительно скорость загрузки компилятора резко увеличилась. Хотя задержечка все равно есть. Но уже не столь большая.
Я, кстати, тоже бутовым компилятором пользуюсь, так как у него версия более новая.
VK>Вообще во времена .NET 1.1 и эмуляции дженериков компилятор работал гораздо быстрее. Что изменилось я не в курсе, но оптимизацию(в том числе и кодогенератор улучшить) и профилинг разработчикам делать определенно надо. Еще возможно это из-за того, что разработчики используют преимущественно Mono(т.е. ориентируются на него при оптимизации и т.п.). Насколько мне известно они даже засабмитили несколько патчей в Mono, в том числе связанных с производительностью. Так что это может быть результатом такой вот однобокой оптимизации.
Да нет. Рельно поддержка дотнета у них на высоте. В Моно с дженириками вообще пока фигово. Но попрофайлить им компилятор не мешало бы. Хотя вроде бы маса компиляци идет быстро. Так что можно сделать кастом-акшон для MSBuild-а который будет кэшировать компилятор и все будет ОК.
VK>Возможно это пресловутое отсутствие поддержки ковариантности, меня самого жутко раздражает.
В Шарпе ковариантности для дженериков тоже нет. Но приведение к интерфейсу работате без проблем. Тут явно что-то не то.
VK>Тут лучше спросить у самих разработчиков. Может к версии 1.0 что-нибудь придумают.
А где это проще всего сделать (аськой не пользуюсь)?
VK>И если они не дай бог добьются какого-то признания и начнут напрямую конкурировать с C#, то индустрии можно только посочувствовать. Она перевернется с ног на голову, а вместо Страуструпа и Андерса "как-там его" мировой знаменитостью в области дизайна языков станет Москаль (в прямом смысле этого слова). Если хорошенько подумать, то не очень веселая перспектива.
Что-то не пойму, а что тут плохого? Или это такой стеб?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, VladD2, Вы писали:
VD>Погоди, ты говоришь "перевесят ли эти достоинства недостатки синтаксических макросов". Вот я тебя и спрашиваю, а они есть? Как можно обсуждать что перевесит, если еще не ясно есть ли какие-то недостатки?
Поэтому прежде хотелось послушать о недостатках.
VD>Покак что я особых недостатков не вижу.
Плохо. Серебрянных пуль, как ты знаешь, не бывает. За повышенную гибкость и мощность надо платить. Вопрос в том чем.
VD>Нет. Но твой безосновательный скепсис подавляет.
Кого?
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, VladD2, Вы писали:
VD>Не понял. А где нужно ломать синтаксис? И что нужно сделать в ЛИНКе для добавления тех самых хинтов?
Реализовать собственный extension вместо DLINQ.
VD>Заметь многие восприняли ЛИНК в штыки именно потму, что это довольно не универсальное и не естественное расширение языка. Если лы бы это было сделано на макрсоах, то вряд ли кто стал бы возмущаться. Ведь тогда решение было бы универсальным.
Я все же продолжаю считать что за универсальность всегда надо платить.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, VladD2, Вы писали:
AVK>> и неизвестно когда этот язык использовать можно будет.
VD>А чем его сейчас то использовать нельзя?
А что, можно? Сам же тут расписывал про глюки кодогенератора.
VD>Понятно, что для большого проекта его испльзовать пока опасно. Но для многих задач уже очень даже можно.
У меня практически нет таких задач, для которых его можно использовать. Поэтому для меня Nemerle в практическом плане пока не более чем концепция.
AVK>> Всем известна твоя любовь к бегу впереди паровоза, вот только не надо думать что у всех остальных такие же предпочтения.
VD>Хм. Когда в 2001 ты взялся за C# и донет, то ты значит за паравозом не бежел?
Нет, потому что дотнет львиную долю своих фич взял от джавы. Никаких новых парадигм по сравнению с последней он не вводил. И мне понадобился год и небольшой проект, прежде чем убедится, что этот язык можно использовать всерьез.
AVK>>Позволь мне самому определять свои чувства и их причины.
VD>Не вопрос. А ты позволь мне выражать мнение о чужом скепсисе. ОК?
Если есть желание заняться демагогией — то конечно. Правилами это не запрещено.
VD>Как ты там говорил? Не надо затыкать мне рот.
А я и не затыкаю. Просто намекаю на то что это демагогия.
AVK>>Тем, что CTR не ломает синтаксис языка.
VD>Да? А ты точно хоношо рассмотрел примеры в обзоре Синулярити? Там свой язык шаблонов. Намного более убогий чем Нэмерел.
Я имел ввиду разработчик конкретных расширений не ломает синтаксис языка.
VD> Считай, что макросы Нэмерал — это и есть CTR, только названое по другому и куда более грамотно продумано. Идея квази-цитирования куда более мощьная вещь чем те текстуальные макросы кторые есть в CTR.
Я не про шаблоны, а про их использование.
VD>Дык ты волен использовать (или даже не использовать) макросы так как тебе нужно.
Это пока я как ты, все свои проекты пишу один. А вот как не один, то уже все не так просто.
VD> Если тебе нужен свой внутренинй DSL, то расширяй синтаксис.
Вот только мне не нужен такой сложный и навороченный DSL.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, VladD2, Вы писали:
VD>Скорее 10. А в том виде в каком они есть в Нэмерле их вообще никде больше нет.
Кстати давным давно было обсуждение подобных возможностей для С++. Я там
предложил не точтобы совсем макросы Nemerle но что-то довольно похожее.
Хотя конечто все то что я там написал было импровизацией практически без продумывания.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, AndrewVK, Вы писали:
AVK>Влад, когда вместо предмета разговора переходят на обсуждение личности собеседника это сам знаешь как называется. Так что заканчивай. Если есть что сказать по делу — говори, а нет, нечего в ступе воду толочь.
Забвно, ты значит начинашь себя обсуждать, а я виноват?
VD>>Лично я с удовольствием послушел бы тебя если ты действительно попробовал бы и высказал бы реальну критику. А так...
AVK>Я пока что не критикую, потому что пока не ясна ситуация. Я пока СПРАШИВАЮ. Знаки вопросов в исходном топике видишь? Вот они как раз это и означают.
Странно ты спрашивашь. Уж больно скепсис сквозить сильный.
AVK>С удовольствием услышал твое мнение о себе. А вот ответов на заданные вопросы не услышал, одни лозунги и заверения, что все будет хорошо.
Какие у тебя вопросы?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, AndrewVK, Вы писали:
VD>>Ну, дык за чем дело? Пробуем и высказываем свои ощущения.
AVK>Проблема в том, что как только я высказал ощущения,
Ты забыл предварительно попробовать.
AVK> так сразу же получил совет держать их при себе, потому что кое кто здесь присвоил право устанавливать нормы для того чтобы их можно было высказывать.
Не вопрос. Если хочешь обсудить устрицы не пробова их, то вперед.
VD>> Ну, да могу согласиться. Значит Нэмерел станет первы.
AVK>Только вот пока не стал. Следовательно никто в этом мире не способен предсказать проблемы языков с изменяемым синтаксисом на тяжелых и долгих приложениях.
Стоп. Он не стал просто потму, что молод. Остальное твои домыслы.
AVK> Даже классической Java понадобилось очень немало времени, чтобы наработать опыт реального применения (хотя заметь, абсолютно новых идей там не было, просто они были необкатаны). Шарпу было проще — он в целом Java соответствовал. С Nemerle же ситуация повторяется — широкого опыта применения использованных технологий нет, никому не известны все взбрыки и проблемы, которые могут возникнуть.
Зашибись. А чем же Nemerle тут от Шарпа то отличается? Точно так же привносит новое в уже готовую среду.
AVK>Знаешь чем мне нравится C# Team — они очень долго обсасывают каждое изменение в языке.
Знашь чем не они не нравятся? Они очень долго обсасывают каждое изменение.
И делают частные решения вместо общих. Вместо введения макросов делают работу предназначенную для них сами. Вместо введения кортежей делают недоделанные анонимные типы. Вместо введения лямбы сначала делают анонимные методы с кривым синтаксисом. Вместо введения функций как первокласных значений вводят делегаты и долго мучаются с ними, так как с одной стороны делегат больше чем нужно, а с другой нафиг не упал во многих случаях.
В общем, веместо того, чтобы проанализировать опыт других они пытаются пойти своим путем. В итоге путь получается кривоватым.
AVK> Со стороны оно может и кажется тормозами, зато есть определенная степень уверенностит, что после широкого задействования новых фич проект не сложится как карточный домик под собственным весом.
Ага. Самое надежное решение тут будет ничего не делать. Вон в С++ так и поступают. Промежутон между стандартами более 10 лет...
VD>>Дык, потому что сам пока его только изучаю.
AVK>То есть ты сам пока не можешь с уверенностью сказать что это мегарулез без недостатков?
Не могу. Как не мог сказать этого в 2001 про C#. Но то что я вижу намного лучше чем Шарп. И особых недостатков в глаза не бросается. В общем, поводов для скепсиса не вижу.
AVK>Я специально два раза дописал, что речь о языке. IDE И компилятор меня пока не интересуют, это дело наживное. В языке недостатки есть?
Ну, вот в языке все пока что выглядит очень гладно. ОО 1:1 как в C#. И вообще многе из него взято. Функциональщина взята из ML, т.е. тоже проверенное решение. Макросы из Схемы. Рантайм — дотнет. В итоге получается композиция проверенных решений.
VD>> Если из самого языка, то есть те же проблемы, что в C#. То же обобщенное программирование сделано через дженерики.
AVK>А как надо? Шаблонами? А чем тогда шаблоны лучше макросов?
Ты просил сказать о проблемах. Для меня это не особо проблема. Но это компромис. Так что о нем следует скзать.
VD>> Но это общие для дотнетных языков особенности. К тому же есть макросы решающие проблемы в этой области если что.
AVK>Т.е. недостатков в языке ты не видишь?
Так чтобы бросались в глаза пока не вижу.
AVK>>>Мое мнение основано на том, что тут приводили
VD>>Это что конкретно?
AVK>Все топики, посвященные Nemerle или где его сильно затрагивали. Я их все прочел.
Хм. Реальное мнение о Нэмерли тут приводили те кто его использует. И но мягко говоря радужное. А то и просто восторженное. Ты же явно настрен скептически.
AVK>Пока я задаю вопросы. Например — очевидно что язык, в котором ключевых слов много,
Много? А откуда ты это взял? Ключевых слов не больше чем в Шарпе.
AVK> да еще и их набор может изменяться (в том числе и неявно)
Это как не явно? Макросы, в том числе и синтаксические находятся в пространствах имен и сборках. Как типы в C#. Неявно ничего сделать нельзя.
AVK> значительно сложнее при прочих равных языка с зафиксированным набором ключевых слов. Как с этим бороться? У тебя есть ответ на этот вопрос?
Есть. Ответ один — неверные предпосылки. Ключевые слова ты волен не вводить. Если ты их воодишь, то ты делашь это для облегчения своей жизни, а не для усложнения. Ты делашь себе DSL который упрощает восприятие кода предметной области или вводишь более высокоуровневый оператор. Если ты не болен на голову, то не будешь вводить что-то усложняющее восприятие.
Ввести макрос в коде нельзя. Это должна быть отдельная сборка. Так что в проекте лидер легко сможет контролировать наличие макросов и их форму.
AVK>Я бы, если бы мне пришлось писать проект на Nemerle, зафиксировал бы набор ключевых слов (очень небольшой список) и вводить новые запретил бы под страхом смертной казни, а все макросы бы писал таким образом, чтобы не менять синтаксис.
Если ты лидер проекта, то это твое право. Контроль этого элементарен. Ведь макросы обязаны быть в отдельных сборках. Случаяно они не заводятся. Это не С++.
AVK> Потому что я не могу как Хейлсберг по полгода оценивать эффект от каждой новой языкофичи.
Vermicious Knid поделился опытом использования макросов. Он говорит, что вообще не вводит макросы изменяющие синтаксис, так как оно особо не надо, да и не так просто. А обычные макросы ничем не отличаются от функций с точки зрения перекрытия имен.
AVK>Мне больше интересен рассказ о недостатках. А бенефиты создатели языка не скрывают, их можно на первой же страничке увидеть.
Хм. Мне тоже. Вот только пока что-то не видать их.
AVK>Читай внимательнее — информации о практической применимости. Много ты знаешь мало мальски долгоживущих проектов на Nemerle окромя его самого?
А зачем же его самого то исключать? Прокт огромный и сложный.
AVK> С какими проблемами столнулись их (проектов) создатели? Что выгадали на практике, а не в теории?
Можно спросить у того же Vermicious Knid. Он вроде бы уже что-то пописал на нем.
AVK>А конкретные конструкции мне изучать пока не интересно, я еще не дозрел.
А зря. Глядишь и те самые недостатки обнаружил бы.
AVK>Не думаю что мое мнение как то скажется на судьбе проекта, так что не переживай.
Я думаю, что любое мнение скажется. Сумма мнений и есть признание или не признание.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, AndrewVK, Вы писали:
AVK>Пока невидно чтобы его вобще всерьез применяли, вот ведь в чем проблема.
Аргументация точно такая же как противников C#. Они тоже дружно вторят "покажи мне серьезнео приложение...".
AVK>У меня сейчас нет времени на что то более менее крупное, а мелкие примерчики на мои вопросы ответа не дадут.
Да за время пока мы трепимся можно было бы что-нить написать и поделиться опытом.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Снова о Nemerle или профанация не пройдет :)
предложил не точтобы совсем макросы Nemerle но что-то довольно похожее. WH>Хотя конечто все то что я там написал было импровизацией практически без продумывания.
То-то и оно. Я бы сказал так "мысли в слух" sv. "научная разработка".
Тебе там осталось сделать чуть-чуть изобретений. Изобрести квази-квотирование. Гигиеничность макросов. Рефлексию времени компиляции.
В общем, ты обозначил требования, а в Нэмерле предложили реализацию. Причем работающую и очень неплохую.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.