Микрософт сильно потеют что-бы перевести свой compiler на .net, а вы с такой лёгкостью при помощи немерле сделали это.
Вы искали киллер фичу, так вот она. Если бы вы могли завернуть его в отдельную сборку, что-бы можно было пользоваться как сервисом,
то думаю нашлись желающие которые бы им пользовались, те же решарповцы, вместо того, что-бы иметь свой, могли-бы его использовать. А важно, что язык который с такой лёгкостью, может создавать такие не тривиальные вещи, может быстро стать известным.
Здравствуйте, Аноним, Вы писали:
А>Микрософт сильно потеют что-бы перевести свой compiler на .net, а вы с такой лёгкостью при помощи немерле сделали это. А>Вы искали киллер фичу, так вот она.
Проблема в том, что у каждого понятие киллер-фичи свое. И то что тебе кажется киллер-фичей на фиг не нужно другому.
А>Если бы вы могли завернуть его в отдельную сборку, что-бы можно было пользоваться как сервисом,
А это и делать не нужно. Это и так доступно. Сам компилятор немерла — это компонент. Бери и используй.
А>то думаю нашлись желающие которые бы им пользовались, те же решарповцы, вместо того, что-бы иметь свой, могли-бы его использовать.
У этого решения есть фатальный недостаток.
А>А важно, что язык который с такой лёгкостью, может создавать такие не тривиальные вещи, может быстро стать известным.
В наше время мало быть известным. Нужно еще иметь волосатую лапу .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
А>>Если бы вы могли завернуть его в отдельную сборку, что-бы можно было пользоваться как сервисом,
VD>А это и делать не нужно. Это и так доступно. Сам компилятор немерла — это компонент. Бери и используй.
Здравствуйте, Аноним, Вы писали:
А>Микрософт сильно потеют что-бы перевести свой compiler на .net, а вы с такой лёгкостью при помощи немерле сделали это.
Подумалось... Майкрософт на самом деле потеют над менеджед-компилятором чтобы реализовать супер-идею "Компилятор как Сервис" (Compiler as services). Так вот наш компилятор не только реализовал менеджед-компилятор, но и автоматом воплатил эту замечательную идею, так он трасформирует код C# в AST Nemerle. А вот AST можно уже изменять и делать это с помощью паттерн-матчинга, квази-цитирования и других вкусностей.
Ну, да хоть двигаются в правильном направлении. Хотя уже сейчас можно скзать, что в слогане Nemerle сегодня — это C# 5 уже смело можно менять цифру 5 на 6.
Ну, да ладно. Пофлэймим когда МС доделает C# 5.0.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Compiler C# 4.0
От:
Аноним
Дата:
30.10.10 05:24
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Ну, да хоть двигаются в правильном направлении. Хотя уже сейчас можно скзать, что в слогане Nemerle сегодня — это C# 5 уже смело можно менять цифру 5 на 6.
Влад, а какие у Nemerle будут перспективы, когда MS выпустит C# 6 ?
Какая вам польза от Nemerle сейчас, я понимаю. Вы разобрались в куче вещей, реализовали много всего, отточили писательское мастерство, получили опыт и т.д. В своих каких-то проектах используете.
У меня — то же самое, в гораздо более мелких масштабах, конечно.
Постигнет ли Nemerle судьба R# (кстати, архив со снапшотом битый), или у вас есть идеи, которые при реализации позволят использовать Nemerle уже с новыми фичами, которые у C# вряд ли будут? Или, чтобы ответить на этот вопрос, нужно дождаться релиза C# 5/6 ?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, VladD2, Вы писали:
VD>>Ну, да хоть двигаются в правильном направлении. Хотя уже сейчас можно скзать, что в слогане Nemerle сегодня — это C# 5 уже смело можно менять цифру 5 на 6.
А>Влад, а какие у Nemerle будут перспективы, когда MS выпустит C# 6 ?
Когда они выпустят C# X.0 у нас будет Nemerle 2.0 — система программирования с существенно расширяемым синтаксисом (на прототипе этого движка реализован разбор C# 4.0).
Примерный план работ можно посмотреть тут
Здравствуйте, catbert, Вы писали:
C>А получение AST шарпа — вполне достойное выделения в отдельную сборку решение. Не киллер-фича, но своих поклонников найдет.
Оно сейчас итак отделено — бери и пользуйся.
В зависимостях CSharpParser.dll только Nemerle.Peg.dll и Nemerle.dll.
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, catbert, Вы писали:
C>>А получение AST шарпа — вполне достойное выделения в отдельную сборку решение. Не киллер-фича, но своих поклонников найдет.
H>Оно сейчас итак отделено — бери и пользуйся. H>В зависимостях CSharpParser.dll только Nemerle.Peg.dll и Nemerle.dll.
Здравствуйте, Аноним, Вы писали:
А>Влад, а какие у Nemerle будут перспективы, когда MS выпустит C# 6 ?
Я думаю, что ни в 6, ни в 7 C# так и не доберется до возможностей Nemerle-ла.
Ну, а если доберется, то и говорить будет нечем. Можно будет использовать Шарп, а про Немерл забыть.
По любому мы не проведем время зря, так именно мы подтолкнули МС к такому пути развития.
Не так давно Хейльсберг говорил, что "метапрограммирование — это слишком большая пушка", сегодня вроде как идет речь о том, что в C# 5.0 появится управляемый компилятор в котором будут поддерживаться плагины позволяющие производить трансформацию AST -> AST. Это несомненно говорит о том, что в МС пересматривают свои (ошибочные) мысли.
Немерл же тоже не стоит на месте. Я надеюсь, что 2.0, (который уже не за горами) будет иметь ряд существенных улучшений.
После выпуска C# 5.0, если в МС не наделают серьёзных ошибок дизайна, возможно мы попробуем выпустить компилятор немрела который будет фронтэндом к компилятору C# 5.0, что автоматически снимет с нас многие заботы и развеет сомнения многих шибко боязливых товарищей (фронт-энд же проще принять).
А>Какая вам польза от Nemerle сейчас, я понимаю. Вы разобрались в куче вещей, реализовали много всего, отточили писательское мастерство, получили опыт и т.д. В своих каких-то проектах используете.
Вообще-то мы получили еще и очень удобный язык программирования который используем на практике.
Лично я уже четыре года как не использую C# для чего-то большего чем мелкие тесты. Немерл целиком и полностью заменил мне Шарп.
Я уже не вижу программирования без создания собственных ДСЛ-ей. Шарп в этом плане, даже версии 5.0, будет никуда не годен.
А вот Nemerle 2.0 будет практически идеальным средством для создания собственных ДСЛ-ей.
А>У меня — то же самое, в гораздо более мелких масштабах, конечно.
У кого "у меня"? Ты забыл залосниться.
Или побоялся? Бояться не стоит. Мы только рады всем кто задает вопросы и выдает конструктивную критику. Здесь не рады только троллям в задачи которых входит только покидать говна на вентилятор.
А>Постигнет ли Nemerle судьба R#
Обязательно, если появится, что-то что превзойдет Nemerle настолько насколько Nemerle превзошел R#. Но пока на горизонте ничего подобного не видно.
У R# существовал фатальный недостаток — он не был так глубоко продуман как Nemerle. Когда я его создавал, я понимал, что нужны некоторые средства позволяющие манипулировать кодом как данными, но я не осознавал, что эти средства должны делать эту обработку максимально простой. По сути R# — это парсер Шарпа с возможностью ручной трансформации AST, а Nemerle — это законченная система метапрограммирования сочетающаяся с мощным языком позволяющим реализовать эту систему на должном уровне.
А> (кстати, архив со снапшотом битый),
Это можно поправить. Только не уверен, что в этом есть смысл. Все же парсер имеющийся в R# давно устарел (и содержит ошибки). На сегодня есть намного лучший парсер C# 4.0.
А>или у вас есть идеи, которые при реализации позволят использовать Nemerle уже с новыми фичами, которые у C# вряд ли будут?
Даже у текущего немерла целая гора идей которых нет и который вряд ли появятся в C# 5/6, по двум причинам а) обратная совместимость языка, б) инертность мышления Хейльсберга.
А Nemerle будет вообще очень близок к идеалу в области метапрограммирования. Снимутся практически все ограничения по расширению синтаксиса (хоть свой язык создавай). Упростится разработка макросов и ДСЛей.
А>Или, чтобы ответить на этот вопрос, нужно дождаться релиза C# 5/6 ?
Ну, в общем и целом, конечно без этого никак. Все же что будет в C# 5 и тем более в 6 никто точно сказать не может.
Пока что можно только констатировать факт, что в C# 4 практически не было ничего революционно-нового (я уже не говорю об революционных идеях).
Про C# 5 тоже никаких положительных вестей пока нет. Ну, а о C# 6 пока даже не идет и речи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, catbert, Вы писали:
C>API все-таки далек до совершенства.
Ну, так возмись и сделай правильный АПИ.
Все что нужно сделать — это завести еще один класс и обернуть в нем ту грязь которую наплодили поляки.
C>А получение AST шарпа — вполне достойное выделения в отдельную сборку решение. Не киллер-фича, но своих поклонников найдет.
А оно и реализовано в отдельном классе и в отдельной сборке.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Аноним, Вы писали:
А>Микрософт сильно потеют что-бы перевести свой compiler на .net, а вы с такой лёгкостью при помощи немерле сделали это. А>Вы искали киллер фичу, так вот она. Если бы вы могли завернуть его в отдельную сборку, что-бы можно было пользоваться как сервисом, А>то думаю нашлись желающие которые бы им пользовались, те же решарповцы, вместо того, что-бы иметь свой, могли-бы его использовать. А важно, что язык который с такой лёгкостью, может создавать такие не тривиальные вещи, может быстро стать известным.
проявляется интерес к парсеру 4. Отнеситесь серьёзно к потребностям использования библиотек немерле из кода цъ, за этим может бы стоять дорога к известности языка
Здравствуйте, Аноним, Вы писали:
А>Микрософт сильно потеют что-бы перевести свой compiler на .net, а вы с такой лёгкостью при помощи немерле сделали это. А>Вы искали киллер фичу, так вот она. Если бы вы могли завернуть его в отдельную сборку, что-бы можно было пользоваться как сервисом, А>то думаю нашлись желающие которые бы им пользовались, те же решарповцы, вместо того, что-бы иметь свой, могли-бы его использовать. А важно, что язык который с такой лёгкостью, может создавать такие не тривиальные вещи, может быстро стать известным.
проявляется интерес к парсеру. Отнеситесь серьёзно к потребностям использования библиотек немерле из кода C#, за этим может стоять дорога к известности языка