Макросы Nemerle в C# - такое возможно?
От: AndrewNeprokin  
Дата: 06.10.06 13:01
Оценка:
Недавно стал интересоваться Nemerle, в одной статье натолкнулся на пример макроса, который используется как атрибут в C# для сериализации класса в XML файл.
С другой стороны, как я понял, макросы nemerle можно использовать только в самом nemerle? И в статье данный код был помещён только ради примера?
Если макросы можно использовать в C# где можно узнать об этом по подробнее?
На rsdn'e нашёл только "обрезанную" версию статьи на эту тему...

30.01.07 18:09: Перенесено модератором из 'Декларативное программирование' — IT
Re: Макросы Nemerle в C# - такое возможно?
От: IT Россия linq2db.com
Дата: 06.10.06 14:33
Оценка:
Здравствуйте, AndrewNeprokin, Вы писали:

AN>С другой стороны, как я понял, макросы nemerle можно использовать только в самом nemerle?


Правильно, только в самом.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Макросы Nemerle в C# - такое возможно?
От: ie Россия http://ziez.blogspot.com/
Дата: 07.10.06 06:45
Оценка:
Здравствуйте, IT, Вы писали:

AN>>С другой стороны, как я понял, макросы nemerle можно использовать только в самом nemerle?

IT>Правильно, только в самом.

Теоритически, наверное можно так. Пишем код на C# с макросами немерла, но компилим не шарповским компилятором, а конвертим C# в Nemerle и компилим немерловский код. Но ИМХО изврат
... << RSDN@Home 1.2.0 alpha rev. 655>>
Превратим окружающую нас среду в воскресенье.
Re[3]: Макросы Nemerle в C# - такое возможно?
От: AndrewNeprokin  
Дата: 07.10.06 13:26
Оценка:
Здравствуйте, ie, Вы писали:

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


AN>>>С другой стороны, как я понял, макросы nemerle можно использовать только в самом nemerle?

IT>>Правильно, только в самом.

ie>Теоритически, наверное можно так. Пишем код на C# с макросами немерла, но компилим не шарповским компилятором, а конвертим C# в Nemerle и компилим немерловский код. Но ИМХО изврат

Да, это точно изврат жалко конечно, что такой возможности нет..
ок. всем спасибо. тема закрыта
Re[4]: Макросы Nemerle в C# - такое возможно?
От: PhantomIvan  
Дата: 07.10.06 15:26
Оценка:
AN>>>>С другой стороны, как я понял, макросы nemerle можно использовать только в самом nemerle?
IT>>>Правильно, только в самом.

ie>>Теоритически, наверное можно так. Пишем код на C# с макросами немерла, но компилим не шарповским компилятором, а конвертим C# в Nemerle и компилим немерловский код. Но ИМХО изврат

AN>Да, это точно изврат жалко конечно, что такой возможности нет..
AN>ок. всем спасибо. тема закрыта

я тебе посоветую другое: выдели в своем проекте часть, в которой хочешь использовать макросы,
сконвертируй её утилитой cs2n в немерле-код, и пользуйся макросами на здоровье
или можно даже без конвертации обойтись, просто пиши новый код преимущественно или частично на немерле
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Макросы Nemerle в C# - такое возможно?
От: AndrewNeprokin  
Дата: 07.10.06 16:37
Оценка:
PI>я тебе посоветую другое: выдели в своем проекте часть, в которой хочешь использовать макросы,
PI>сконвертируй её утилитой cs2n в немерле-код, и пользуйся макросами на здоровье
PI>или можно даже без конвертации обойтись, просто пиши новый код преимущественно или частично на немерле
хмм. тоесть вообще, с расчётом на будущее, стоит переходить на немерл?
честно говоря, у меня о нём сложилось впечатление как о "вспомогательном" языке, в котором есть некоторые "вкусности" которых не имеет C#(до выхода C#3? или 4)
Re[6]: Макросы Nemerle в C# - такое возможно?
От: PhantomIvan  
Дата: 07.10.06 17:02
Оценка:
Здравствуйте, AndrewNeprokin, Вы писали:

PI>>я тебе посоветую другое: выдели в своем проекте часть, в которой хочешь использовать макросы,

PI>>сконвертируй её утилитой cs2n в немерле-код, и пользуйся макросами на здоровье
PI>>или можно даже без конвертации обойтись, просто пиши новый код преимущественно или частично на немерле
AN>хмм. тоесть вообще, с расчётом на будущее, стоит переходить на немерл?
AN>честно говоря, у меня о нём сложилось впечатление как о "вспомогательном" языке, в котором есть некоторые "вкусности" которых не имеет C#(до выхода C#3? или 4)
ну смотри, на вопрос "переходить на немерле или не переходить" можно дать очень хитрый и прравильный ответ:
1. на немерле можно писать так же, как на с#, только нужно запомнить несколько простых правил:
— тип переменной или функции записывается не слева, а справа — через двоеточие
— перед переменной нужно написать def
— чтобы использовать return, прописать uses Nemerle.Imperative;
еще несколько простых правил
2. чтобы реально внедрить немерле в производственный процесс, установить интеграцию со студией
Автор(ы):

3. заходить на сайт немерле каждый день, и читать по 15 минут в день, что в нем есть того, чего нет в c#

ну вот и все в принципе, дальше само пойдет
нет пока конструктора форм, и прочих прелестей цивилизации пока, но это со временем появится
может быть
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Макросы Nemerle в C# - такое возможно?
От: PhantomIvan  
Дата: 07.10.06 17:07
Оценка:
PI>ну смотри, на вопрос "переходить на немерле или не переходить" можно дать очень хитрый и прравильный ответ:

а, и самое главное подчеркну: вот у тебя сейчас есть солюшен в студии, в нем несколько проектов
заведи еще один проект в том же солюшене на немерле — библиотеку
и просто когда соберешься делать "новый" класс какой нибудь — попробуй напиши его на немерле
класс, который ты напишешь на немерле, можно так же легко использовать в с#-коде других проектов, как будто он был бы написан на с#
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Макросы Nemerle в C# - такое возможно?
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.10.06 17:11
Оценка:
Здравствуйте, AndrewNeprokin, Вы писали:

AN>хмм. тоесть вообще, с расчётом на будущее, стоит переходить на немерл?

AN>честно говоря, у меня о нём сложилось впечатление как о "вспомогательном" языке, в котором есть некоторые "вкусности" которых не имеет C#(до выхода C#3? или 4)

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

Если серьзно, то на сегодня есть только два аспекта в котором Немерле уступает Шарпу:
1. Unsafe-режим. Он попросту отсуствует в Немерле.
2. Поддержка IDE. Над последним мы как раз работаем сейчас.

В остальном Немерле — это надмножество Шарпа. Причем после освоения этого надмножества вернуться обратно уже неохота.

Макросы же это тяжелая артилерия для автоматизации рутинных процессов и для создания встроенных DSL-ей (микро-языков) позволяющих поднять уровень разработки.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Макросы Nemerle в C# - такое возможно?
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.10.06 17:50
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>2. чтобы реально внедрить немерле в производственный процесс, установить интеграцию со студией
Автор(ы):

PI>3. заходить на сайт немерле каждый день, и читать по 15 минут в день, что в нем есть того, чего нет в c#

Намного проще читать наши статьи. Там практически все есть. Первая же статья
Автор(ы): Сергей Туленцев, Владислав Чистяков
Дата: 23.05.2006
Производительность труда программиста в основном зависит от самого программиста. Однако даже самый опытный и знающий программист мало что может без подходящего инструмента. Эта статья открывает цикл статей об одном из таких инструментов, еще мало известном среди программистов, но очень многообещающем. Язык Nemerle, о котором пойдет речь в этих статьях, на первый взгляд очень похож на слегка улучшенный C#, но привносит многое из передовых исследовательских языков. Данная статья рассказывает об отличиях Nemerle от C# (как наиболее близкого языка)и является неформальным введением в язык.
рассчитана на C#-програмиста и содержит список отличий между C# и Nemerle. Их конечно можно найти и на сайте Nemerle, но оны разбросаны по разным страницам (страница на ктороую ты ссылашся не полна).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Макросы Nemerle в C# - такое возможно?
От: PhantomIvan  
Дата: 07.10.06 17:59
Оценка: +1
VD>Намного проще читать наши статьи. Там практически все есть. Первая же статья
Автор(ы): Сергей Туленцев, Владислав Чистяков
Дата: 23.05.2006
Производительность труда программиста в основном зависит от самого программиста. Однако даже самый опытный и знающий программист мало что может без подходящего инструмента. Эта статья открывает цикл статей об одном из таких инструментов, еще мало известном среди программистов, но очень многообещающем. Язык Nemerle, о котором пойдет речь в этих статьях, на первый взгляд очень похож на слегка улучшенный C#, но привносит многое из передовых исследовательских языков. Данная статья рассказывает об отличиях Nemerle от C# (как наиболее близкого языка)и является неформальным введением в язык.
рассчитана на C#-програмиста и содержит список отличий между C# и Nemerle. Их конечно можно найти и на сайте Nemerle, но оны разбросаны по разным страницам (страница на ктороую ты ссылашся не полна).


а, ну да
замечу, по макрописанию информации мало, и писать их (сначала) болезненно
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Макросы Nemerle в C# - такое возможно?
От: ie Россия http://ziez.blogspot.com/
Дата: 07.10.06 18:12
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Если серьзно, то на сегодня есть только два аспекта в котором Немерле уступает Шарпу:

VD>1. Unsafe-режим. Он попросту отсуствует в Немерле.
VD>2. Поддержка IDE. Над последним мы как раз работаем сейчас.
3. Баги компилятора. Хотя надо признать, с каждой ревизией их меньше и меньше.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Превратим окружающую нас среду в воскресенье.
Re[6]: Макросы Nemerle в C# - такое возможно?
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 08.10.06 07:19
Оценка: +1
Здравствуйте, AndrewNeprokin, Вы писали:

AN>хмм. тоесть вообще, с расчётом на будущее, стоит переходить на немерл?

AN>честно говоря, у меня о нём сложилось впечатление как о "вспомогательном" языке, в котором есть некоторые "вкусности" которых не имеет C#(до выхода C#3? или 4)

Ну нет, ТАКИЕ вкусности в шарпе если и будут, то версии к двадцатой . Во многом, думаю, это объясняется консерватизмом девелоперов (которые размышляют точно так же, как и Вы), а вместе с ними и MS, которые на этих девелоперов ориентируются. Важно понять, что любой язык — это машина тьюринга со вкусностями. И любые разговоры о принципиальном различие — это вопрос субъективный. Так вот, я считаю, что C# и Nemerle имеют принципиальные различия. Хотя бы потому, что Nemerle поддерживает функциональный стиль. Можно попытаться и на C# писать в функциональном стиле, но с таким же успехом можно писать в функиональном стиле на языке brainfuck. Ведь если я допускаю смысловую ошибку с точки зрения функционального стиля в программе на C#, то компилятор не будет ругаться. Да и если неприменим или ненужен функциональный стиль, в Немерле есть вещи, недостижимые в C# в принципе. Уж если и сравнивать Немерле с чем-то по "Вкусностям", так это с ML, Хаскелем или Лиспом. А вообще, нужно просто побольше "Декларативное программирование" писать — тут товарищи уже очень много споров развели на сей счёт.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Макросы Nemerle в C# - такое возможно?
От: AndrewNeprokin  
Дата: 08.10.06 08:04
Оценка:
Здравствуйте, konsoletyper, Вы писали:

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


AN>>хмм. тоесть вообще, с расчётом на будущее, стоит переходить на немерл?

AN>>честно говоря, у меня о нём сложилось впечатление как о "вспомогательном" языке, в котором есть некоторые "вкусности" которых не имеет C#(до выхода C#3? или 4)

K>Ну нет, ТАКИЕ вкусности в шарпе если и будут, то версии к двадцатой . Во многом, думаю, это объясняется консерватизмом девелоперов (которые размышляют точно так же, как и Вы), а вместе с ними и MS, которые на этих девелоперов ориентируются.

[andrew] если консерватизм и есть, то он вполне ообснованный. "для себя" мне нравится и интересно изучать новые языки, но для проектов, особенно сколь нибудь крупных, к выбору языка и платформы ИМХО, стоит относиться более серьёзно.

Важно понять, что любой язык — это машина тьюринга со вкусностями. И любые разговоры о принципиальном различие — это вопрос субъективный.
[andrew] о принципиальном различии да. Но в данном случае стоит вопрос об удобстве и скорости разработки. В этом немерле опережает C# в плане разработки бизнес логики. Но UI и многие другие вещи сейчас удобнее реализовывать на C#. В будущем, вполне возможно, ситуация поменяется в сторону полного перехода на немерл. Но сейчас...

Так вот, я считаю, что C# и Nemerle имеют принципиальные различия. Хотя бы потому, что Nemerle поддерживает функциональный стиль. Можно попытаться и на C# писать в функциональном стиле, но с таким же успехом можно писать в функиональном стиле на языке brainfuck. Ведь если я допускаю смысловую ошибку с точки зрения функционального стиля в программе на C#, то компилятор не будет ругаться. Да и если неприменим или ненужен функциональный стиль, в Немерле есть вещи, недостижимые в C# в принципе. Уж если и сравнивать Немерле с чем-то по "Вкусностям", так это с ML, Хаскелем или Лиспом. А вообще, нужно просто побольше "Декларативное программирование" писать — тут товарищи уже очень много споров развели на сей счёт.
[andrew] Согласен особенно в плане макросов. Нормальные статьи можно пересчитать по пальцам...
Кстати. Ещё один момент: интересно, как обстоит дело с nemerle на западе?
Re[9]: Макросы Nemerle в C# - такое возможно?
От: Алексей П Россия  
Дата: 08.10.06 09:05
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>замечу, по макрописанию информации мало, и писать их (сначала) болезненно

Ага, особенно не хватало таблицы splice-ов (типа :dyn или :usesite) с подробным описанием, что они делают.
Re[10]: Макросы Nemerle в C# - такое возможно?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.10.06 15:49
Оценка:
Здравствуйте, Алексей П, Вы писали:

АП>Ага, особенно не хватало таблицы splice-ов (типа :dyn или :usesite) с подробным описанием, что они делают.


Их описание можно найти поиском по их сайту.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Макросы Nemerle в C# - такое возможно?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.10.06 17:44
Оценка:
Здравствуйте, konsoletyper, Вы писали:

K> А вообще, нужно просто побольше "Декларативное программирование" писать


Ты хотел сказать "читать"?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Макросы Nemerle в C# - такое возможно?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.10.06 17:44
Оценка:
Здравствуйте, AndrewNeprokin, Вы писали:

AN> особенно в плане макросов.


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

AN> Нормальные статьи можно пересчитать по пальцам...


Статьи будут. Все будет. Тольк дайте время.

AN>Кстати. Ещё один момент: интересно, как обстоит дело с nemerle на западе?


Точно так же как и на востоке. Кое-кто его видел, но не более того.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Макросы Nemerle в C# - такое возможно?
От: Алексей П Россия  
Дата: 08.10.06 19:08
Оценка:
Здравствуйте, VladD2, Вы писали:

АП>>Ага, особенно не хватало таблицы splice-ов (типа :dyn или :usesite) с подробным описанием, что они делают.


VD>Их описание можно найти поиском по их сайту.


Не, именно сводной таблицы. Но сейчас уже не надо
Re[8]: Макросы Nemerle в C# - такое возможно?
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 08.10.06 20:04
Оценка:
Здравствуйте, VladD2, Вы писали:

K>> А вообще, нужно просто побольше "Декларативное программирование" писать


VD>Ты хотел сказать "читать"?


Точно, опечатался. Причём вопрос на засыпку: каких именно товарищей я имел в виду?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.