Re[23]: [Голосование] Почему я не использую Nemerle
От: hardcase Пират http://nemerle.org
Дата: 14.04.10 21:11
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


H>>Пишем макрос, который будет разбирать "какую-то фигню", далее производим такую штуку:

H>>
H>>module Builder {

H>>  [UsefulFormatParser(<# какой-то непонятный формат #>)]
H>>   public Build() : UsefulData { }

H>>}
H>>

H>>После чего отдать этот код компилятору, который запустит макрос UsefulFormatParser, превращающий "формат" в нечто полезное (UsefulData в примере). Вот пример того как можно уже существующими средствами свести рантайм программы к компайлтайму макроса.

ВВ>Круто, и когда мне придет новый реквест с "непонятным форматом" всего-то и нужно, что перекомпилировать все приложение?



Почему? Я говорил о том, что ЭТОТ код компилируется в рантайме. Что не ясно? Ты хотел PExpr в рантайме — я тебе показал пример PExpr в рантайме.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[24]: [Голосование] Почему я не использую Nemerle
От: hardcase Пират http://nemerle.org
Дата: 14.04.10 21:18
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Почему? Я говорил о том, что ЭТОТ код компилируется в рантайме. Что не ясно? Ты хотел PExpr в рантайме — я тебе показал пример PExpr в рантайме.


Понятно что формировать текст несколько избыточно, но можно и не текст, а TopDeclaration напрямую отдавать кишкам компилятора (надо только выделить эту его часть) и можно сформировать немерловое AST с макросом, который выполняет работу по разбору твоей "непонятной" строки. После компиляции (и работы макроса) этого AST получаем некий исполнимый модуль.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[24]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 14.04.10 21:30
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Почему? Я говорил о том, что ЭТОТ код компилируется в рантайме. Что не ясно? Ты хотел PExpr в рантайме — я тебе показал пример PExpr в рантайме.


Какой "ЭТОТ" код компилируется в рантайме? Дерево выражений должно строится в рантайме, ибо "исходник" для него доступен в рантайме. И я сейчас не могу использовать PExpr как AST в таком парсере. Все просто. И макросы тут не помогут.
Re[31]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 14.04.10 21:32
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>Да синтаксис просто. Проблема такая же, как добавить поддержку Linq-a без необходимости писать linq <# #>.

VD>А можно конкретный пример того что не получается?

А можно конкретный пример конкретного примера, который ты хочешь? Мне казалось, пример выше вполне конкретный. Но, видимо, я заблуждался.
Re[25]: [Голосование] Почему я не использую Nemerle
От: hardcase Пират http://nemerle.org
Дата: 14.04.10 21:34
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


H>>Почему? Я говорил о том, что ЭТОТ код компилируется в рантайме. Что не ясно? Ты хотел PExpr в рантайме — я тебе показал пример PExpr в рантайме.


ВВ>Какой "ЭТОТ" код компилируется в рантайме? Дерево выражений должно строится в рантайме, ибо "исходник" для него доступен в рантайме. И я сейчас не могу использовать PExpr как AST в таком парсере. Все просто. И макросы тут не помогут.


Как по твоему работает Nemerle.Evaluation?

Компилятор — это Nemerle.Compiler.dll, загружаем оттудова менеджер, отдаем ему означенный выше исходник и запускаем компиляцию. Макрос, выполняющий полезные действия, будет вызван компилятором автоматически. В случае успеха загружаем сборку и выполняем. Что тут не ясного? Это аналогично работе с CodeDOM, но только у нас есть полнейший доступ к компилятору — ибо Немерле.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[26]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 14.04.10 21:37
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Компилятор — это Nemerle.Compiler.dll, загружаем оттудова менеджер, отдаем ему означенный выше исходник и запускаем компиляцию. Макрос, выполняющий полезные действия, будет вызван компилятором автоматически. В случае успеха загружаем сборку и выполняем. Что тут не ясного? Это аналогично работе с CodeDOM, но только у нас есть полнейший доступ к компилятору — ибо Немерле.


Чувак, мне вообще не нужен компилятор. Как класс. Я, может, вообще не собираюсь ничего компилировать, по крайней мере немерлевским компилятором. Я хочу использовать в своем парсере универсальное АСТ на основе PExpr, которое можно анализировать с помощью матчей. Что тут и правда непонятного?
Re[27]: [Голосование] Почему я не использую Nemerle
От: hardcase Пират http://nemerle.org
Дата: 14.04.10 21:41
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Чувак, мне вообще не нужен компилятор. Как класс. Я, может, вообще не собираюсь ничего компилировать, по крайней мере немерлевским компилятором. Я хочу использовать в своем парсере универсальное АСТ на основе PExpr, которое можно анализировать с помощью матчей. Что тут и правда непонятного?


1) AST может быть универсальным только до определенной степени.
2) А как ты его получишь из текста?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[25]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 14.04.10 21:41
Оценка:
Здравствуйте, hardcase, Вы писали:

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

H>>Почему? Я говорил о том, что ЭТОТ код компилируется в рантайме. Что не ясно? Ты хотел PExpr в рантайме — я тебе показал пример PExpr в рантайме.
H>Понятно что формировать текст несколько избыточно, но можно и не текст, а TopDeclaration напрямую отдавать кишкам компилятора (надо только выделить эту его часть) и можно сформировать немерловое AST с макросом, который выполняет работу по разбору твоей "непонятной" строки. После компиляции (и работы макроса) этого AST получаем некий исполнимый модуль.

Вы все зациклились прямо на этом исполнимом модуле. Не хочу. Исполнимого. Модуля. Не хочу. Хочу джава-скрипт сгенерить. Или запрос к базе.
Я понимаю, что можно компилятор немерле поднять и что-то там в рантайме компилировать. Но мне вообще кажется весьма странной затеей сам язык Немерле использовать в качестве бекэнда к чему-либо. Собственно, на фига? Компилятор не быстр. Вся "мощь" языка, когда он является заменителем ассемблера, нужна как собаке пятая нога. Лучше какой-нибудь C# генерить. А еще лучше — причем гораздо — сразу MSIL.
Re[28]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 14.04.10 21:41
Оценка:
Здравствуйте, hardcase, Вы писали:

ВВ>>Чувак, мне вообще не нужен компилятор. Как класс. Я, может, вообще не собираюсь ничего компилировать, по крайней мере немерлевским компилятором. Я хочу использовать в своем парсере универсальное АСТ на основе PExpr, которое можно анализировать с помощью матчей. Что тут и правда непонятного?


H>1) AST может быть универсальным только до определенной степени.


Разумеется. Silver bullet никто не ищет.

H>2) А как ты его получишь из текста?


Я выше написал:
Я хочу использовать в своем парсере универсальное АСТ на основе PExpr
Re[26]: [Голосование] Почему я не использую Nemerle
От: hardcase Пират http://nemerle.org
Дата: 14.04.10 21:46
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Вы все зациклились прямо на этом исполнимом модуле. Не хочу. Исполнимого. Модуля. Не хочу. Хочу джава-скрипт сгенерить. Или запрос к базе.

ВВ>Я понимаю, что можно компилятор немерле поднять и что-то там в рантайме компилировать. Но мне вообще кажется весьма странной затеей сам язык Немерле использовать в качестве бекэнда к чему-либо. Собственно, на фига? Компилятор не быстр. Вся "мощь" языка, когда он является заменителем ассемблера, нужна как собаке пятая нога. Лучше какой-нибудь C# генерить. А еще лучше — причем гораздо — сразу MSIL.

Ты хотел получить в рантайме доступ к PExpr. Я тебе показал как можно в рантайме получить к нему доступ не изменяя ничего в существующей системе. Сделай прототип чего ты там хочешь на макросе и можно будет продолжать разговор, иначе это все пустой треп.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[11]: [Голосование] Почему я не использую Nemerle
От: fmiracle  
Дата: 15.04.10 07:30
Оценка: +3
Здравствуйте, VladD2, Вы писали:

L>>Есть. Лично мне UI-код писать гораздо сложнее, чем код бизнес-логики. UI-ый код имеет тенденцию очень быстро превращаться в помойку, с кодом бизнес-логики такого не происходит.


VD>Вот, ксчтати, Немерле имеет отличные средства борьбы с помойкой. Сами по себе они конечно помойку не устранят, но с их помощью можно обобщить то, что на шарпе обобщить невозможно.


С этого места, пожалуйста, поподробней.

Неважно, было собщение IT стебом или нет, но, Влад, советую обратить внимание на сообщения других участников про проблемы с созданием интерфейса.

Мне кажется, если ты, или еще кто-то из специалистов по Немерле, сможет продемонстрировать для непосвященных примеры, как именно Немереле может реально сильно улучшить разработку интерфейса (лично мне интересен веб, но, думаю, и десктопный интерфейс многим потребуется) — это может быть очень сильным шагом в популяризации Немерле.

Лирика:

Вот у нашей компании большинство задач — разного рода автоматизация бизнеса. Почти всегда в рамках этого создание веб-сайта, через который пользователь может вводить либо смотреть данные.
И практика показывает, что бизнес-логика и работа с базой кодируется быстро и просто, плюс эффективно логируется и отлаживается. Современный C# весьма удобен, а NHIbernate или, еще лучше, BLToolkit кардинально облегчают работу с базой.
При этом я вижу в автоматизации бизнес логики некоторые возможные применения Немерле — макросы и автогенерация кода может сократить объем работ. Но я не вижу в этом существенного сокращения общих усилий на разработку — этот код и так легко пишется и отлаживается.

А вот вторая часть — создание удобного интерфейса — является большой головной болью. Накидать квадратно-гнездовых форм, которые 1-в-1 отображают сущности в базе, очень легко, но они уже не очень-то интересны заказчикам. Приходится придумывать и красивый и именно удобный интерфейс. И тут сразу идет и тщательное вылизывание HTML, и масса JavaScript, и потом сверка/проверка/отладка в разных браузерах и всякая такая фигня. Причем все тестирование — ручное.
Задача, собственно, не сложная сама по себе (если собственно дизайн и юзабилити спихнуть специалистам), но делать — очень неудобно, и потому много времени съедает.

Причем сделать какой-то стандартный генератор форм — не получается, потому что для реально удобного интерфейса каждая форма должна отталкиваться от задачи. И различающиеся задачи приводят к совершенно разному виду форм. Из общности остаются только общие хелперы и кусочки кода...

Потому очень актуально найти что-то, что облегчит разработку в этой неудобной и муторной части, но сохранит полную гибкость и свободу в создаваемом интерфейсе.

Например — ASP.NET MVC по сравнению с WebForms был таким прорывом и улучшением, что и не пересказать
jquery — на порядок упростила создание и поддержку javascript, и это было реально круто.

Может ли Немерле тоже что-то предложить тут? Это было бы круто.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[12]: [Голосование] Почему я не использую Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.04.10 18:03
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>С этого места, пожалуйста, поподробней.


Помойка начинается там где нарушается правило DRY (Don't repeat yourself). Языки типа Шарпа и Васика стали более надежными (в сравнении с С/С++), так как отаказались от опасных средств и перешли на автоматическое управление памятью. Но при этом средства декомпозиции в них стали еще слабее. Есть много мест где приходится копипастить (повторяться) или где нельзя создать решение которое можно положить в библиотеки и приходится каждый раз писать его по шаблону. В прочем С++ тоже не может жить без шаблоном проектирования. Макросы и ФЯ, при их правильном применении, позволяют полностью избавиться от самоповторения. Более того даже паттерны проектирования в Немерле можно класть в библиотеки (см. здесь).

Гибкие решения в стиле ООП так же приводят к необходимости описания кучу избыточной информации. Примером тому являются те же самые зависимые свойства (см. Макросы для WPF
Автор: WolfHound
Дата: 09.04.10
).

F>Неважно, было собщение IT стебом или нет, но, Влад, советую обратить внимание на сообщения других участников про проблемы с созданием интерфейса.


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

Но как это не смешно, макросы — это отличное средство по борьбе с рутиной.

F>Мне кажется, если ты, или еще кто-то из специалистов по Немерле, сможет продемонстрировать для непосвященных примеры, как именно Немереле может реально сильно улучшить разработку интерфейса (лично мне интересен веб, но, думаю, и десктопный интерфейс многим потребуется) — это может быть очень сильным шагом в популяризации Немерле.


Интерфеса — ника. Особенно если речь идет о разного рода дизайнеров. В лучшем случае диайнеры будут работать с Немерлом, как и с Шарпом. В худшем их поддержки попросту не будет.

Но убрать рутину и автоматизировать решение многих пробем — можно.

F>Например — ASP.NET MVC по сравнению с WebForms был таким прорывом и улучшением, что и не пересказать


F>jquery — на порядок упростила создание и поддержку javascript, и это было реально круто.


F>Может ли Немерле тоже что-то предложить тут? Это было бы круто.


http://rsdn.ru/forum/nemerle/3768517.1.aspx
Автор: Ziaw
Дата: 09.04.10
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Голосование] Почему я не использую Nemerle
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 17.04.10 20:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

Вот же блин, меня тут оказывается всуе поминали, а я и не в курсе...

G>Широко известный Владимир Кочетков


Ты бы еще "в узких кругах" добавил, ага.

G>как-то раз упоминал что использовал nemerle для каких-то задач, связанных с безопасностью.


Да, это так. Но из того, что могло бы заинтересовать широкие массы, у меня есть только альфа-версия Web-IDS (intrusion detection system), являющаяся по сути творческой переработкой PHPIDS под ASP.NET платформу. В настоящий момент, она реализована на C# (когда я ее начинал, о Nemerle только-только почитывал баталии в "Философии..."). Однако, в PHPIDS напрочь отсутствуют какие-либо средства выявления корреляций между подозрительными запросами (там осуществляется только оценка безопаности запроса, все остальное отдано на откуп разработчика), что делает PHPIDS весьма низкоуровневой и неудобной системой. У меня же уже сейчас реализована возможность описания базовых корреляционных правил и пороговых коэффициентов на простеньком DSL, реализованном уже на Nemerle. Сейчас, по мере появления свободного времени, я переписываю весь C# код на Nemerle, когда закончу — готов открыть проект, если найдутся желающие помочь в доведении его до ума.

Остальное же, либо "скрипты" из разряда "запусти и выбрось", либо 2 проекта (контроль за отключением учетных записей уволенных сотрудников и data-mining по всей инфраструктуре в рамках расследований sec-инцидентов), 100% заточенных под нашу инфраструктуру и политики/регламенты безопасности. Вряд ли они будут кому-либо интересны, да и выкладывать их в том виде, в котором они есть сейчас, мне не позволяет NDA
... << RSDN@Home 1.2.0 alpha 4 rev. 1468>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[13]: [Голосование] Почему я не использую Nemerle
От: Rival Таиланд
Дата: 18.04.10 00:15
Оценка: 98 (2) +1
Скажу коротко за себя. Я всё еще присматриваюсь и читаю статьи, мне определённо симпатичен Немерле и я искренне желаю Владу и команде всяческих успехов. Ребята, вы молодцы! И определённо делаете мир лучше.
Сам я пока не использую Немерле только по двум причинам: мне нужен WPF и Silverlight, а по понятным причинам в Nemerle есть проблемы с этим. Однако, определённо буду использовать в будущем — раз есть такой мощный инструмент неразумно его не использовать. Немерле — явный шаг вперёд. И да, даже если он не взрывает общественность, не стоит сильно волноваться по этому поводу, я надеюсь, что вы делаете этот проект, не ради достижения абстрактного успеха, а чтобы делать новое и делать хорошее. Всегда найдутся люди которые скажут, что в этом нет ничего особенного и это никому(читай им) не нужно. У Немерле есть то, что выделяет его: система макросов, отличный вывод типов и гибридный синтаксис. Это не "ещё один язык переложенный на дотнет платформу". Он уникален.

Я искренне полагаю, что Немерле нужен массе людей. Тут нужно понимать, что многие часто боятся использовать его, напуганные отсутствием значительного комьюнити. По моему мнению Немерле надо накопить некий жир. Некую критическую массу, когда будет достаточно суппорта от людей его использующих, живой сайт и уверенность в том, что люди, которые вдруг в 2030-ом году наберут это сочетание букв в поисковике не обнаружат страничку Немерле с последними обновлениями за 2010 год) Я про уверенность в том, что проект не забросят, иначе складывается такое ощущение, что сейчас у проекта число грузовика равно единице. Если завтра с Владом что-то произойдёт кто будет дальше толкать проект? Сами создатели похоже не собираются возвращаться.

Так что, желаю терпения и энергии, а люди придут!
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Re[8]: [Голосование] Почему я не использую Nemerle
От: Denom Украина  
Дата: 03.07.10 13:43
Оценка: 44 (1)
Здравствуйте, matumba, Вы писали:

M> Тут даже лишнюю либу воткнуть — и то вопрос, а вы целый язык с винегретом парадигм подсунуть хотите! Без поддержки, с кривым синтаксисом, да ещё и сложными конструкциями — это только для хобби, выше даже не прыгайте.

Никто использовать сложные контсрукции не заставляет.
А проблема получается всё-таки в поддежке.
Тут вон недавно lionet выступал с докладом как они в продакшене коммерческого проекта перешли с perl + c++ на erlang + ocaml. До этого никто этих языков не знал, на изучение эрланга, чтоб начать писать, понадобилось недели 2 (месяц в крайнем случае). Почувствуйте разницу — c# vs nemerle и perl vs erlang + c++ vs ocaml. И ничо сменили платформу и рады — избавились от кучи проблем.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[9]: [Голосование] Почему я не использую Nemerle
От: Jack128  
Дата: 03.07.10 13:46
Оценка:
Здравствуйте, Denom, Вы писали:

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


M>> Тут даже лишнюю либу воткнуть — и то вопрос, а вы целый язык с винегретом парадигм подсунуть хотите! Без поддержки, с кривым синтаксисом, да ещё и сложными конструкциями — это только для хобби, выше даже не прыгайте.

D>Никто использовать сложные контсрукции не заставляет.
D>А проблема получается всё-таки в поддежке.
D>Тут вон недавно lionet выступал с докладом как они в продакшене коммерческого проекта перешли с perl + c++ на erlang + ocaml. До этого никто этих языков не знал, на изучение эрланга, чтоб начать писать, понадобилось недели 2 (месяц в крайнем случае). Почувствуйте разницу — c# vs nemerle и perl vs erlang + c++ vs ocaml. И ничо сменили платформу и рады — избавились от кучи проблем.

А посмотреть на этот доклад в электронном виде можно??
Re[8]: [Голосование] Почему я не использую Nemerle
От: Denom Украина  
Дата: 03.07.10 13:48
Оценка:
Здравствуйте, matumba, Вы писали:

M> Тут даже лишнюю либу воткнуть — и то вопрос, а вы целый язык с винегретом парадигм подсунуть хотите! Без поддержки, с кривым синтаксисом, да ещё и сложными конструкциями — это только для хобби, выше даже не прыгайте.

Никто использовать сложные контсрукции не заставляет.
А проблема получается всё-таки в поддежке.
Тут вон недавно lionet выступал с докладом как они в продакшене коммерческого проекта перешли с perl + c++ на erlang + ocaml. До этого никто этих языков не знал, на изучение эрланга, чтоб начать писать, понадобилось недели 2 (месяц в крайнем случае). Почувствуйте разницу — c# vs nemerle и perl vs erlang + c++ vs ocaml. И ничо сменили платформу и рады — избавились от кучи проблем.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[10]: [Голосование] Почему я не использую Nemerle
От: Denom Украина  
Дата: 03.07.10 13:55
Оценка: 2 (1)
Здравствуйте, Jack128, Вы писали:

J>А посмотреть на этот доклад в электронном виде можно??


да, вот он:
а где-то на slideshare можно даже послушать

ссылка есть еа сайте МаргинКон
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re: [Голосование] Почему я не использую Nemerle
От: Аноним  
Дата: 03.07.10 18:57
Оценка: :)
Не знаю насколько Вы сумеете заметить этот пост в череде флуда, но все же обьясню Вам почему мне когда-то не удалось например продвинуть язык и среду сильно куче всех остальных в то время. Надеюсь Вам это поможет понять что .... эх, как не прискорбно мне это говорить но ваши усилия тщетны. НЕТ! в принципе все возможно и пробовать надо, но вероятность успеха .... эх, еще раз — близка к нулю.
Дело в том что пока вы не найдете людей с деньгами.... хм, последнее время я разочаровался с массовом интеллекте RSDN-овцев , поэтому повторю еще раз, ПОКА ВЫ НЕ НАЙДЕТЕ людей с деньгами которым страшно будет нужен ( типа жить нельзя ) этот ваш язык, вы ничего не добьетесь. Точнее даже так — вас ждет судьба линукс, но будет ли она и в этот раз удачна я бы сказать не взялся.

По большому счету нужны не языки а автоматы которые сами будут писать... Вот давайте делайте и желающих это профинансировать будет море..
Re[2]: [Голосование] Почему я не использую Nemerle
От: Rival Таиланд
Дата: 03.07.10 20:49
Оценка: +1 :)
Здравствуйте, Аноним, Вы писали:
>Точнее даже так — вас ждет судьба линукс, но будет ли она и в этот

Улыбнуло) Надо полагать с денежным мешком их сразу ждёт судьба Win 7? ^^

Как я понимаю, количество людей которые орёт Владу "Глупец, брось это, у тебя ничего не выйдет! Оставь задуманное и будь как все!" настолько велико, что если бы каждый из них дал хотя бы по доллару, то миллион был бы собран
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.