Re[10]: есть возможность выступить перед американскими ИТинв
От: nikov США http://www.linkedin.com/in/nikov
Дата: 05.04.12 02:00
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Проблема в том, что Хейльсерг, и многие за предеалми МС пока что сильно боятся этого.


Да, я когда по коридору прохожу, часто вижу, как он запрётся у себя в кабинете, забьётся в угол, и дрожит-дрожит. Боится...
Re[11]: есть возможность выступить перед американскими ИТинв
От: _d_m_  
Дата: 05.04.12 03:10
Оценка:
Здравствуйте, nikov, Вы писали:

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


VD>>Проблема в том, что Хейльсерг, и многие за предеалми МС пока что сильно боятся этого.


N>Да, я когда по коридору прохожу, часто вижу, как он запрётся у себя в кабинете, забьётся в угол, и дрожит-дрожит. Боится...


Ну а ты зайди, успокой, коньячку налей. Расскажи, что не нужен С# — пора переходить на Nemerle
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[11]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 10:53
Оценка:
Здравствуйте, nikov, Вы писали:

N>Да, я когда по коридору прохожу, часто вижу, как он запрётся у себя в кабинете, забьётся в угол, и дрожит-дрожит. Боится...


Чтобы бояться чего-то не обязательно в угол забиваться. Достаточно на все вопросы и предложения отвечать "too big a gun".

В прочем, это он отвечал 5 лет назад. Давай, спроси его еще раз что он думает расширяемых языках сегодня.

Ты ему немерл показывал? А то он в прошлый раз "не смог найти документации на сайте".

Еще можно рассказать про Н2. Мы сейчас ищем на этот проект деньги. Может перелом сознания уже произошел и МС поможет нам в наших смелых планах.

Думаю ты со мной согласишься, что Н2 штука весьма перспективная, и с ее помощью можно будет сделать ДСЛьный подход доступным для широких масс.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: есть возможность выступить перед американскими ИТинв
От: _Claus_  
Дата: 09.04.12 11:04
Оценка:
VD>Еще можно рассказать про Н2. Мы сейчас ищем на этот проект деньги.

не знаю поможет ли, но попалось вот — http://www.forbes.ru/svoi-biznes/biznes-i-vlast/77419-kakim-predprinimatelyam-daet-dengi-moskva
Re[16]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 11:04
Оценка:
Здравствуйте, Сонный Программист, Вы писали:

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


А где она? Я знаю только одну прагматичную точку зрения которая точно верна — бабло побеждает бобро.

В общем, давай конструктивнее. Есть конкретные предложения?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 11:19
Оценка:
Здравствуйте, Сонный Программист, Вы писали:

СП>Почитал я тут немного ветку. Никогда не слышал о такое языке, но понял, ...


Сам я Пастернака не читал, но как и весь советский народ не одобряю его творчество...

СП>1. Новый язык для платформы .NET не нужен. Хватило еще цирка с VB, до сих пор два клана друг друга ненавидят. Должен быть один и стандартный язык, который понимают и любят все.


Для справки. VB старше дотнета и шарпа. C# сам по себе "новый" язык — клон Java. Ничего принципиально нового в нем, по сравнению с VB не было.

СП>2. Большинство людей на работе заняты работой, то есть, для них важен не язык, а средство технической реализации целиком, включая и язык, и библиотечную поддержку.


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

Пойми, немерл предлагает сделать язык библиотекой. Добавляешь в проект библиотеку и получаешь в свое распоряжение новый DSL.

СП>3. Большинство скажет: "Зачем нам новый язык, если и так все работает?". Будут правы, потому что большинство людей с C# очень продуктивны, а это есть единственная полезная метрика.


Опять же согласен. Большинство — это толпа. А у толпы крайне скудный интеллект. Чтобы продвинуть новые идеи в массы нужно очень много сил и бабла. Потому и придумали маркетинг. Вот только на нужности или не нужности это никак не отражается.

СП>4. Язык с таким дурацким названием не взлетит. Переименуй во что-нибудь попроще, вроде N#, тогда люди задумаются.


Ценная мысль. Следующая версия будет иметь имя N2 (или что-то воде того).

СП>А в целом ты занят ненужным делом. Извини, но это — правда.


В целом ты явно наш "клиент". Позволь посоветовать тебе не пробовать писать на этом странном языке с дурацким названием, потому как, если пройти первый момент, то потом его будет очень сложно бросить. Будет реальная ломка. Так что оставайся с толпой, а мы все же попробуем что-то сделать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 11:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Часто встречался, что нужен внутренний ДСЛ, но ни разу что нужен именно компилятор. Интерпретатор во многих случаях лучше.

А>Будет ли возможность сделать интерпретатор с отладчиком встраиваемый?

Если нужен DSL, то делать компилятор или интерпретатор — это оверкил.

Если нужен DSL, то нужно и делать DSL.

Nemerle позволяет делать внутренний DSL. N2 будет позволять делать как внутренние DSL-и, так и внешние. Причем делать настолько просто насколько это возможно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 11:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Встраеваемая?

А>т.е. Мне надо расширить приложение некоторым языком. На языке пишет пользователь. Будет ли компонента которую можно будет просто вставить в приложение и заработает ДСЛ, с отладкой и автокомплитом?

В ближайших планах поддержка MS VS. Это позволит использовать бесплатную ее версию где угодно. В том числе и в своих приложениях. В будущем появится поддержка Eclipse и т.п. Она изначально бесплатна.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: есть возможность выступить перед американскими ИТинв
От: WolfHound  
Дата: 09.04.12 11:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В ближайших планах поддержка MS VS. Это позволит использовать бесплатную ее версию где угодно. В том числе и в своих приложениях. В будущем появится поддержка Eclipse и т.п. Она изначально бесплатна.

Как я понял он хочет встроить IDE в свое приложение. Без всяких VS и Eclipse.
Это тоже будет можно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: есть возможность выступить перед американскими ИТинв
От: Аноним  
Дата: 09.04.12 11:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В ближайших планах поддержка MS VS. Это позволит использовать бесплатную ее версию где угодно. В том числе и в своих приложениях. В будущем появится поддержка Eclipse и т.п. Она изначально бесплатна.


Ты не понял.Я имею компоненту вставляемую в программу. Пусть с минимумом возможностей, зато вставляемую быстро с настраеваемым синтаксисом
Re[17]: есть возможность выступить перед американскими ИТинв
От: WolfHound  
Дата: 09.04.12 11:45
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Если нужен DSL, то делать компилятор или интерпретатор — это оверкил.

Это не оверкил. Ты всегда делаешь компилятор нового языка.
Пусть и на основе существующего.

VD>Nemerle позволяет делать внутренний DSL. N2 будет позволять делать как внутренние DSL-и, так и внешние. Причем делать настолько просто насколько это возможно.

Ну да. Будет позволять делать компиляторы очень просто за счет ДСЛ и библиотеки языков.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: есть возможность выступить перед американскими ИТинв
От: _Claus_  
Дата: 09.04.12 11:53
Оценка:
VD>Nemerle позволяет делать внутренний DSL. N2 будет позволять делать как внутренние DSL-и, так и внешние. Причем делать настолько просто насколько это возможно.

Возражу: тот вариант, который вижу в описании синтаксиса N2 и в примерах N-парсер с большой натяжкой можно назвать простым.
Когда очевидно связанная логика (syntax и его обработчик) разделена и разнесена, а код парсера имеет грязный вид ввиду постоянных повторов одинаковых тегов, преимущество с чем либо, по крайней мере на глаз, вообще не очевидно.
Re[18]: есть возможность выступить перед американскими ИТинв
От: WolfHound  
Дата: 09.04.12 12:01
Оценка:
Здравствуйте, _Claus_, Вы писали:

_C_>Возражу: тот вариант, который вижу в описании синтаксиса N2 и в примерах N-парсер с большой натяжкой можно назвать простым.

Покажи у кого проще.

_C_>Когда очевидно связанная логика (syntax и его обработчик) разделена и разнесена,

Ага. Имеет. Один (синтаксис) ко многим (типизациям синтаксиса).

_C_>а код парсера имеет грязный вид ввиду постоянных повторов одинаковых тегов, преимущество с чем либо, по крайней мере на глаз, вообще не очевидно.

Чего?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: есть возможность выступить перед американскими ИТинв
От: Аноним  
Дата: 09.04.12 12:37
Оценка:
Здравствуйте, WolfHound, Вы писали:

Спец редакторы.
В Н2 легко могут быть описаны формы в виде wpf,будет ли добавлена возможность привязки к куску кода визуального редактора.

Например при выборе строчки в контекстном меню появляется редактор формы, если это код текста редактора формы и т д.
Будет эффктивно для создания работы с БД. Хотя там много подводных камней. Например было бы хорошо редактировать текст разбитый на файлы единым куском в визуальном редакторе в случае БД и т д
Re[19]: есть возможность выступить перед американскими ИТинв
От: _Claus_  
Дата: 09.04.12 13:36
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


_C_>>Возражу: тот вариант, который вижу в описании синтаксиса N2 и в примерах N-парсер с большой натяжкой можно назвать простым.

WH>Покажи у кого проще.

python pyparsing, boo parser, .. которых не знаю

_C_>>Когда очевидно связанная логика (syntax и его обработчик) разделена и разнесена,

WH>Ага. Имеет. Один (синтаксис) ко многим (типизациям синтаксиса).

Как по мне — это искусственное усложнение. головняк прикладному программисту. Почему не связать-слить по умолчанию стандартные компоненты парсера
со стандартным AST? это устроит всех на 95%. оставшиеся 5 — добавлять, переопределять. Тогда ежу будет понятно, в 20 раз объем работы уменьшить — не мелочь какая-то.

_C_>>а код парсера имеет грязный вид ввиду постоянных повторов одинаковых тегов, преимущество с чем либо, по крайней мере на глаз, вообще не очевидно.

WH>Чего?

вот это должно занимать в 4 раза меньше кода(символов). могу написать, но это очевидно. неочевидно другое, почему N2 парсер требует такого словоблудия.
по моему, метапрограммирование придумано именно для избавления от него


{
    using IncParser;
    using NumParser;

    any = ['\u0000'..'\uFFFF'];
    s : void = ' '*;

    [StartRule, Ast(expr)]
    start : Ast = s expr !any;

    [StartRule, Ast()]
    expr : Ast;

    [Ast(l, expr, r)] rounds is expr = '('s expr ')'s;
    [Ast(l, expr, r)] seq is expr = '{'s expr* '}'s;

    [Ast(num)]        num is expr = number s;

    [Ast(op, expr)]   neg is expr = '-'s expr : 100;

    [Ast(op, expr)]   prefixDec is expr = "--"s expr : 200;
    [Ast(expr, op)]   postfixDec is expr = expr : 200 "--"s;

    [Ast(l, op, r)]   add is expr = expr : 10 '+'s expr : 10;
    [Ast(l, op, r)]   sub is expr = expr : 10 '-'s expr : 10;
    [Ast(l, op, r)]   mul is expr = expr : 20 '*'s expr : 20;
    [Ast(l, op, r)]   div is expr = expr : 20 '/'s expr : 20;
    [Ast(l, op, r)]   mod is expr = expr : 20 '%'s expr : 20;
    [Ast(l, op, r)]   pow is expr = expr : 31 '^'s expr : 30;
  }
)]
Re[20]: есть возможность выступить перед американскими ИТинв
От: WolfHound  
Дата: 09.04.12 14:37
Оценка: +1
Здравствуйте, _Claus_, Вы писали:

WH>>Покажи у кого проще.

_C_>python pyparsing, boo parser, .. которых не знаю
Хренасе! Это ты называешь проще?
Вот это вот полнейшая порнография. А выделенное просто феерия.
plus  = Literal( "+" )
minus = Literal( "-" )
mult  = Literal( "*" )
div   = Literal( "/" )
lpar  = Literal( "(" ).suppress()
rpar  = Literal( ")" ).suppress()
addop  = plus | minus
multop = mult | div
expop = Literal( "^" )
assign = Literal( "=" )

expr = Forward()
atom = ( ( e | floatnumber | integer | ident ).setParseAction(pushFirst) | 
         ( lpar + expr.suppress() + rpar )
       )
        
factor = Forward()
factor << atom + ZeroOrMore( ( expop + factor ).setParseAction( pushFirst ) )
        
term = factor + ZeroOrMore( ( multop + factor ).setParseAction( pushFirst ) )
expr << term + ZeroOrMore( ( addop + term ).setParseAction( pushFirst ) )
bnf = Optional((ident + assign).setParseAction(assignVar)) + expr

pattern =  bnf + StringEnd()

Что тут начнется когда будут добавлены еще несколько операторов с разными приоритетами...

_C_>Как по мне — это искусственное усложнение. головняк прикладному программисту. Почему не связать-слить по умолчанию стандартные компоненты парсера

_C_> со стандартным AST? это устроит всех на 95%. оставшиеся 5 — добавлять, переопределять. Тогда ежу будет понятно, в 20 раз объем работы уменьшить — не мелочь какая-то.
Чего?

_C_>вот это должно занимать в 4 раза меньше кода(символов). могу написать, но это очевидно. неочевидно другое, почему N2 парсер требует такого словоблудия.

_C_>по моему, метапрограммирование придумано именно для избавления от него
Что тут можно в 4 раза уменьшить.
Не понимаю.
Покажи код.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 15:15
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Как я понял он хочет встроить IDE в свое приложение. Без всяких VS и Eclipse.

WH>Это тоже будет можно.

А зачем встраивать IDE? И вообще, как ты это себе видишь?

Обычно IDE открывается рядом с основным приложением (как в МС Офис). МС для этого предлагает VBA и VSIP (за деньги). Но того же самого можно достигнуть и используя бесплатные версии студии.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: есть возможность выступить перед американскими ИТинв
От: _Claus_  
Дата: 09.04.12 15:20
Оценка:
WH>Что тут начнется когда будут добавлены еще несколько операторов с разными приоритетами...
за pyparsing молчишь?
в приведенном фрагменте сложность сравнимая. пусть даже N выигрывает. но это явно описание со старого парсера. примеры в Boo.Meta.Extension нового должны быть.
короче, если отстают, то догонят при желании.


_C_>>Как по мне — это искусственное усложнение. головняк прикладному программисту. Почему не связать-слить по умолчанию стандартные компоненты парсера

_C_>> со стандартным AST? это устроит всех на 95%. оставшиеся 5 — добавлять, переопределять. Тогда ежу будет понятно, в 20 раз объем работы уменьшить — не мелочь какая-то.
WH>Чего?

А?

_C_>>вот это должно занимать в 4 раза меньше кода(символов). могу написать, но это очевидно. неочевидно другое, почему N2 парсер требует такого словоблудия.

_C_>>по моему, метапрограммирование придумано именно для избавления от него
WH>Что тут можно в 4 раза уменьшить.
WH>Не понимаю.
WH>Покажи код.


 any = ['\u0000'..'\uFFFF'];
    s : void = ' '*;

    
    start = expr;
    expr:
        s expr s
        '('expr ')'
        '{'expr* '}'
        num = number
        prefixDec : 200 = "--"s expr
          prefixAst(args)

        postfixDec : 200 = expr "--"
          postfixAst(args)

        add: 10 = expr '+' expr 
        .. 
        pow! : 30 = expr '^' expr  //pow! правоассоциативная, !opx - левоассоцативная




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

напр. оттуда генерируется что-то типа


class prefixDec: ParseType
  Parse(arg: AstNode)
    postfixAst(arg)


которое я могу переопределить/заменить в готовом парсере. а создавать парсеры и обслуживающую логику, как вы сейчас пишите, такого добра хватает.
+- мелочи. а уж через пять лет это точно будет слабовато.
Re[20]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 15:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ты не понял.Я имею компоненту вставляемую в программу. Пусть с минимумом возможностей, зато вставляемую быстро с настраеваемым синтаксисом


А чем не устраивает аналог VBA в MS Office? Мне кажется это удобнее.

Сам язык, естественно, можно будет использовать откуда угодна. Будет компонент-компилятор и т.п.

Делать за свой GUI... не уверен, что в этом имеет смысл. Это, конечно, возможно. Но стоит ли овчика выделки?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: есть возможность выступить перед американскими ИТинв
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 15:32
Оценка:
Здравствуйте, WolfHound, Вы писали:

VD>>Если нужен DSL, то делать компилятор или интерпретатор — это оверкил.

WH>Это не оверкил. Ты всегда делаешь компилятор нового языка.
WH>Пусть и на основе существующего.

Ты увлекся абстракцией. Я объясняю человеку разницу по сравнению с "традиционным подходом" в котором "создать компилятор" означает "взять на себя все проблемы связанные с этим".

VD>>Nemerle позволяет делать внутренний DSL. N2 будет позволять делать как внутренние DSL-и, так и внешние. Причем делать настолько просто насколько это возможно.

WH>Ну да. Будет позволять делать компиляторы очень просто за счет ДСЛ и библиотеки языков.

Это не "просто". Это ноу-хау. Как сделать простым то, что раньше было оверкилом.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.