А как мы дальше развиваем проект?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 13.05.11 15:50
Оценка: +2
Здравствуйте, IT, Вы писали:

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


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

Я других путей развития языка не вижу, если честно

13.05.11 19:50: Ветка выделена из темы github vs googlecode
Автор: WolfHound
Дата: 08.05.11
— kochetkov.vladimir

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: А как мы дальше развиваем проект?
От: IT Россия linq2db.com
Дата: 13.05.11 16:12
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Тогда о каком распространении и популяризации такого языка сейчас может идти речь? Никто не захочет начинать серьезный проект на языке-прототипе, который рано или поздно будет выкинут на помойку "истории".


Рано или поздно на помойке истории окажется всё

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


Совместимость действительно важный вопрос. Что для нас важнее? Выправить косяки в дизайне языка и API тех же макросов ценой несовместимости с первой версией или потом всю оставшуюся жизнь жить с ними.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: А как мы дальше развиваем проект?
От: alvas  
Дата: 13.05.11 16:40
Оценка:
Здравствуйте, IT, Вы писали:

IT>Совместимость действительно важный вопрос. Что для нас важнее? Выправить косяки в дизайне языка и API тех же макросов ценой несовместимости с первой версией или потом всю оставшуюся жизнь жить с ними.


Что по твоему мнению поломается, а что нет?
Я так понял что поломаются внутренности макросов, а устоявшиеся языковые конструкции (в том числе и основанные на макросах) останутся такими же. Может еще поломается код, использующий PEG макрос.

Я прав?
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[3]: А как мы дальше развиваем проект?
От: IT Россия linq2db.com
Дата: 13.05.11 17:08
Оценка:
Здравствуйте, alvas, Вы писали:

A>Я так понял что поломаются внутренности макросов, а устоявшиеся языковые конструкции (в том числе и основанные на макросах) останутся такими же. Может еще поломается код, использующий PEG макрос.


API макросов точно нужно пересматривать, т.к. простые вещи на макросах сейчас делаются относительно просто, а вот сложные порой ну очень сложно. Связано это с типизацией. Сейчас в компиляторе используется два типа AST: Parsed и Typed. Квазицитирование работает только для первого. Да и вообще макросы крутятся в основном вокруг него. Но частно бывает нужна информация о типах и сейчас это сделано в виде приседаний и прихлопываний вокруг второго AST. По уму, всю типизацию нужно перенести в первое дерево, а второе задвинуть подальше на более поздние стации и оставить для нужд оптимизации и генерации кода.

Сами языковые конструкции от этого не пострадают.
Если нам не помогут, то мы тоже никого не пощадим.
Re: А как мы дальше развиваем проект?
От: IT Россия linq2db.com
Дата: 13.05.11 17:10
Оценка: 1 (1)
Здравствуйте, kochetkov.vladimir, Вы писали:

Кстати, подумалось. У нас уже есть один великолепный пример решения проблемы совместимости языков — парсер C# 4.0. Никто нам не мешает иметь в одном флаконе парсер Nemerle и парсер его наследника. Совместимость API макросов будет сложнее соблюсти, но что-нибудь придумать можно будет.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: А как мы дальше развиваем проект?
От: WolfHound  
Дата: 13.05.11 17:11
Оценка:
Здравствуйте, IT, Вы писали:

IT>Совместимость действительно важный вопрос. Что для нас важнее? Выправить косяки в дизайне языка и API тех же макросов ценой несовместимости с первой версией или потом всю оставшуюся жизнь жить с ними.

Этот вопрос уже обсуждали.
Народ сошёлся на том, что поломанные макросы не большая проблема.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: А как мы дальше развиваем проект?
От: WolfHound  
Дата: 13.05.11 17:11
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Тогда о каком распространении и популяризации такого языка сейчас может идти речь? Никто не захочет начинать серьезный проект на языке-прототипе, который рано или поздно будет выкинут на помойку "истории".

Посчитай сколько языков мелкософт выкинул на свалку истории...
Только не надо про обратную совместимость. Они ее ломали не раз.
Из ВБ вообще другой язык сделали.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: А как мы дальше развиваем проект?
От: hi_octane Беларусь  
Дата: 13.05.11 20:18
Оценка: 3 (2) +3
KV>Мы либо говорим о полной поддержке существующего языка и обеспечении обратной совместимости во всех его новых версиях и тогда можем рассчитывать на то, что люди начнут его использовать, либо принимаем как данность, что существенного коммьюнити у нас пока не будет и полностью переключаемся на работу над новым языком, который и будем продвигать после выхода хотя бы первой беты.

Ты как-то странно связал комьюнити с обратной совместимостью. Почему нельзя просто стабилизировать N1, т.е. гарантировать что в нём никаких ломающих изменений не будет? А в N2 — менять всё трижды подумав и только в сторону улучшения. Примеры улучшения, которые имхо только привлекут больше людей: замена для Generics [T] на более привычные шарповцам и сишникам <T>, избавление от .[], избавление от linq <# ... #>. Такие изменения, думаю, комьюнити только поддержит, несмотря на необходимость мелко поправить код.

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

А для того чтобы компании могли положиться на Nemerle опять таки стабильность синтаксиса или Macro API вторична. Главное иметь примерное описание что на что поменялось и гарантию что будет у кого спросить если что. Кроме того конторы думаю оценили бы, появись на сайте конпка "buy priority support", по которой контора могла бы заказать решение срочной проблемы или экстренный багфикс от участников проекта, которые сейчас делают тоже самое, но в порядке личного интереса и забесплатно.
Re[2]: А как мы дальше развиваем проект?
От: catbert  
Дата: 14.05.11 05:47
Оценка:
Здравствуйте, hi_octane, Вы писали:

_>Ты как-то странно связал комьюнити с обратной совместимостью. Почему нельзя просто стабилизировать N1, т.е. гарантировать что в нём никаких ломающих изменений не будет? А в N2 — менять всё трижды подумав и только в сторону улучшения. Примеры улучшения, которые имхо только привлекут больше людей: замена для Generics [T] на более привычные шарповцам и сишникам <T>, избавление от .[], избавление от linq <# ... #>. Такие изменения, думаю, комьюнити только поддержит, несмотря на необходимость мелко поправить код.


Я уже привык как-то к .[T]
Re[2]: А как мы дальше развиваем проект?
От: FR  
Дата: 14.05.11 06:49
Оценка: +1
Здравствуйте, hi_octane, Вы писали:

_>Ты как-то странно связал комьюнити с обратной совместимостью. Почему нельзя просто стабилизировать N1, т.е. гарантировать что в нём никаких ломающих изменений не будет? А в N2 — менять всё трижды подумав и только в сторону улучшения. Примеры улучшения, которые имхо только привлекут больше людей: замена для Generics [T] на более привычные шарповцам и сишникам <T>, избавление от .[], избавление от linq <# ... #>. Такие изменения, думаю, комьюнити только поддержит, несмотря на необходимость мелко поправить код.


В общем если что я тут просто мимо проходил, но авторы D именно это и сделали выпустили релиз 1.0, зафиксировали его (в основном только правка багов) и сами все силы бросили на в очень многом несовместимую версию 2.0. В результате на 1.0 очень мало кто пишет, 2.0 вечная бета и страшный долгострой. При этом пиар у D'шников по моему был на порядок лучше и объемнее чем у немерлистов.
Re[3]: А как мы дальше развиваем проект?
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.05.11 08:34
Оценка:
Здравствуйте, FR, Вы писали:

FR>В общем если что я тут просто мимо проходил, но авторы D именно это и сделали выпустили релиз 1.0, зафиксировали его (в основном только правка багов) и сами все силы бросили на в очень многом несовместимую версию 2.0. В результате на 1.0 очень мало кто пишет, 2.0 вечная бета и страшный долгострой. При этом пиар у D'шников по моему был на порядок лучше и объемнее чем у немерлистов.


+1

Вот только не факт, что на D не пишут именно из-за этого. И опять же если бы D был суперсетом С++, то ему было бы лучше. Но у С++ столь кривой дизайн, что в этом нет смысла. А в случае C# все не так плохо. Явных ошибок в нем не так уж и много.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: А как мы дальше развиваем проект?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 14.05.11 08:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот только не факт, что на D не пишут именно из-за этого. И опять же если бы D был суперсетом С++, то ему было бы лучше. Но у С++ столь кривой дизайн, что в этом нет смысла. А в случае C# все не так плохо. Явных ошибок в нем не так уж и много.


Я не писал (даже не пытался) на D из-за IDE. Всё что не интегрируется с VS получает у меня -100 кармы. Как язык D выглядел симпатичной заменой Си++.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: А как мы дальше развиваем проект?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 14.05.11 08:42
Оценка:
Здравствуйте, FR, Вы писали:

FR>В общем если что я тут просто мимо проходил, но авторы D именно это и сделали выпустили релиз 1.0, зафиксировали его (в основном только правка багов) и сами все силы бросили на в очень многом несовместимую версию 2.0. В результате на 1.0 очень мало кто пишет, 2.0 вечная бета и страшный долгострой. При этом пиар у D'шников по моему был на порядок лучше и объемнее чем у немерлистов.


Это в чистом виде проблемы менеджмента. Нужен насяльника, циклы/итерации, план работ, а не разумное сообщество профессионалов.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: А как мы дальше развиваем проект?
От: FR  
Дата: 14.05.11 09:01
Оценка:
Здравствуйте, adontz, Вы писали:

A>Я не писал (даже не пытался) на D из-за IDE. Всё что не интегрируется с VS получает у меня -100 кармы. Как язык D выглядел симпатичной заменой Си++.


На данный момент есть http://www.dsource.org/projects/visuald в общем уже близко по уровню к поддержке C++ в VS.
Re[4]: А как мы дальше развиваем проект?
От: FR  
Дата: 14.05.11 09:06
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот только не факт, что на D не пишут именно из-за этого.


Скажем это очень существенный фактор.

VD>И опять же если бы D был суперсетом С++, то ему было бы лучше. Но у С++ столь кривой дизайн, что в этом нет смысла. А в случае C# все не так плохо. Явных ошибок в нем не так уж и много.


Да тут согласен.
Re[5]: А как мы дальше развиваем проект?
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.05.11 11:12
Оценка:
Здравствуйте, adontz, Вы писали:

A>Я не писал (даже не пытался) на D из-за IDE. Всё что не интегрируется с VS получает у меня -100 кармы. Как язык D выглядел симпатичной заменой Си++.


Интеграция со студией у них теперь есть. Только она даже до немерловой не дотягивает (причем очень сильно).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: А как мы дальше развиваем проект?
От: hi_octane Беларусь  
Дата: 14.05.11 11:23
Оценка: 5 (1) +1
FR>В общем если что я тут просто мимо проходил, но авторы D именно это и сделали выпустили релиз 1.0, зафиксировали его (в основном только правка багов) и сами все силы бросили на в очень многом несовместимую версию 2.0. В результате на 1.0 очень мало кто пишет, 2.0 вечная бета и страшный долгострой.
Да пример D мне тоже первым пришёл в голову. Но есть существенные отличия. В Nemerle 1 всё спроектировано довольно удачно и со времени альфы как-то обходились без несовместимостей. Те улучшения про которые я писал — это косметика, на внедрение которых даже в большом проекте от силы часы придётся потратить. Вот с Macro API может быть сложнее, но макросы в текущем виде — штука уж слишком нетривиальная местами, так что исправления в той области пойдут только на пользу.

FR>При этом пиар у D'шников по моему был на порядок лучше и объемнее чем у немерлистов.

Известность D — это скорее следствие того что в native программировании кроме C/C++ уже почти ничего не осталось. Сейчас есть спрос на новый высокоуровневый язык, компилирующийся в native, с ручным или полуавтоматическим управлением памятью, и способный взаимодействовать с C, поэтому шумиха будет вокруг любого потенциально серьёзного кандидата. Даже на этом форуме примерно раз в 2-3 месяца кто-нить задвигает тему скрещивания Nemerle и LLVM.
Re[4]: А как мы дальше развиваем проект?
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.05.11 20:16
Оценка:
Здравствуйте, IT, Вы писали:

IT>API макросов точно нужно пересматривать, т.к. простые вещи на макросах сейчас делаются относительно просто, а вот сложные порой ну очень сложно. Связано это с типизацией. Сейчас в компиляторе используется два типа AST: Parsed и Typed. Квазицитирование работает только для первого. Да и вообще макросы крутятся в основном вокруг него. Но частно бывает нужна информация о типах и сейчас это сделано в виде приседаний и прихлопываний вокруг второго AST. По уму, всю типизацию нужно перенести в первое дерево, а второе задвинуть подальше на более поздние стации и оставить для нужд оптимизации и генерации кода.


IT>Сами языковые конструкции от этого не пострадают.


Ну, вот и надо принять решение, что мы обеспечиваем обратную совместимость "гражданского" кода (не макросного) и не обеспечиваем совместимость (или обеспечиваем не полную совместимость) для макросов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: А как мы дальше развиваем проект?
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.05.11 20:22
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Вот только не факт, что на D не пишут именно из-за этого.


FR>Скажем это очень существенный фактор.


Ну, у нас технологии сильно круче дишных. Так что обратную совместимость по самому языку (без макросов) мы сможем обеспечить не напрягаясь. Да и язык нам менять ломающими изменениями не нужно почти. Ну, разве что ли те самые зловредные скобки для типов. А это мы легко обойдем создав конвертер или даже позволив подключать к проекту оба варианта синтаксиса.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: А как мы дальше развиваем проект?
От: о_О
Дата: 17.05.11 05:43
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:
Даешь новый rsdn@home на немерле11
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.