Re[7]: Nitra и JetBrains
От: К Тёте  
Дата: 11.04.16 13:36
Оценка: +1
КТ>>Сейчас в целом стратегическим является триумвират облака-мобилы-веб.
_>Только вот в технологическом стэке этого триумвирата творится трэш и угар. Каждый новый проект начинается на новом наборе технологий. Некоторые мечутся переписывая с go на rust, и т.п. Т.е. потребность в новом решении есть, по крайней мере до тех пор пока MS не выпустит C# с компиляцией в натив и без GC.

Правильно. И как этому всему поможет Нитра? Да никак. Написание новых языков во все эти «все начинается с новых технологий» не вписывается никак. Переписать дропбокс с го на раст, или что они там делали, Нитра не поможет. Написать аналог Хадупа/Кафки? Тоже нет. Это нее ее область применения. Ее область — создание языков программирования. Просто ЯП и так навалом, а DSLи надо встраивать в существующую инфраструктуру. Которая скорее всего не .net, например.

КТ>>А Нитра... Нитру надо было продать. Что это за зверь, никому не известно, кроме смелых заявлений, что будущее за DSL'ями. По сути, единственной внятно вербализированной амбицией авторов уже много лет является написать на Нитре C# — и всё.

_>Надо? Котлин как, уже продали? Кто покупатель?

Jetbrains. В первую очередь Нитру надо было продать Jetbrains'у.

_>Или 6 лет прошло, десятки людей впахали а хоронить продавать всё ещё рано? Что-то подсказывает что его продали исключительно внутри компании, причём по цене которую я уже пару раз видел в компаниях сидящих на большущих самописных фреймворках "с нашим фреймворком *** мы всё пишем проще и быстрее, а без это было-бы долго и дорого". Цену разработки вундер-фреймворка в таких конторах стараются не учитывать даже в уме, чтоб засыпать без таблеток.


Именно. За Котлин уже заплатили. Нитре надо было доказать, что за Нитру тоже надо было заплатить. Я же написал: «Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка.»

КТ>>Но вот в чем дело. Статьи о том, как делать DSL'и на том же Kotlin'е были уже в 2011-м году. То есть Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка.

_>Ну если та реализация которая была в 2011-году...

И опять все то же нытье: тут у вас неправильно, там у вас неправильно, зато у нас — ого-ого-ого. Этот огогогого ничего не стоит, если его, этого самого огогого нет: проект затянут на полтора года больше, чем планировалось. Единственная сфера интеграции: .net и MS-ная студия. ЦА — какие-то мифические люди, которые «знают, как писать DSL'и» Если бы проект так же продавали внутри моей компании, проекту бы указали бы на дверь без разговоров.

_>Не надо ломиться и переписывать. Точно также как Apple не надо было писать 100к приложений для смартфона ненавижу аналогии. Надо дать людям идею и репозиторий для обмена расширениями языка, и всё остальное они напишут сами. Nitra сейчас единственная штука среди ЯП у которой есть новая идея. У остальных — синтаксический сахар с уклоном в предметную область.


Да-да-да. И где это все?

Apple'у не надо было самим писать 100к приложений для смартфона, потому что:
— у них была платформа, ядро и инфраструктура для того, чтобы разработчикам можно было сразу начинать писать (советую почитать, как они выкатили свой SDK)
— перед каждым релизом своей платформы они заручаются поддержкой как минимум нескольких девелоперов для showcase'а новых технологий
— они сами пишут first-party apps, часто — чтобы показать, как это все делается, и как должно выглядеть

Так что да. Аналогии, мягко говоря, неуместны.

_>В моей реальности как MS не выкатит новое дополнение в C# — так сразу крики ура и все побежали копировать от Java до C++. Пиарщики go ухитряются впихивать никакущий генератор как важную фичу. А у маркетологов JB "как продать возможность расширять язык — неизвестно".


Потому что пиарщики Го и C# как минимум понимают, что это такое, зачем оно нужно. «Мы вот-вот напишем C# на Нитра» — это не цель. Более того, это — не цель, нужная хоть какому-либо значительному количеству программистов. Даже «будущее — за DSLями» — это лозунг, а не цель. Более того, совсем непонятная большинству программистов.

КТ>>Поэтому, по здравому размышлению, я лично не удивлен такому решению со стороны JetBrains.

_>Так прочитав твой пост я тоже не удивлён. С твоих слов получается

С твоих слов получается ровно одно: бедных художников не оценили.

Вот ты выше пишешь вроде бы правильные слова: единственный в мире проект, единственный позволяющий что-то там, нужно дать идею и репозиторий расширения языка. Это все — только слова.

На практике:
— что-то удобоваримое появилось только сейчас, и то часто на вопросы на этом форуме «этого сейчас нет, будет потом или можно решить такими-то костылями»
— При всех разговорах о DSLях единственная цель авторов — сделать C#
Автор: VladD2
Дата: 06.04.16
. Настолько единственная, что их приходится отговаривать от этой цели, когда они ищут сторонников
Автор: VladD2
Дата: 12.01.16

— только .net, только Visual Studio. Это ставит крест на чуть ли не подавляющем большинстве возможных применений. Это не в упрек авторам, это просто обусловлено выбором стартовой технологии.

Поэтому я говорю: Нитру не удалось продать внутри Jetbrains'а самому Jetbrains'у. Это печально (в первую очередь для разработчиков), но совсем не удивительно. Будем надеяться, что проект все же дойдет до 1.0 и его удастся продать если не какой-нибудь другой компании, то хотя бы широкому обществу программистов.
На волю, в пампасы!
Re[8]: Nitra и JetBrains
От: WolfHound  
Дата: 11.04.16 14:20
Оценка: +2
Здравствуйте, К Тёте, Вы писали:

КТ>- При всех разговорах о DSLях единственная цель авторов — сделать C#
Автор: VladD2
Дата: 06.04.16
. Настолько единственная, что их приходится отговаривать от этой цели, когда они ищут сторонников
Автор: VladD2
Дата: 12.01.16

Так и не понял откуда ты взял что это цель единственная.

КТ>- только .net, только Visual Studio. Это ставит крест на чуть ли не подавляющем большинстве возможных применений. Это не в упрек авторам, это просто обусловлено выбором стартовой технологии.

Это ты опять непонятно откуда взял.
Сейчас Влад занят вынесением нитры в отдельный процесс с минимальным интерфейсом.
Таким образом можно будет малой кровью её прицепить к любой ИДЕ.
Также изначально была и остаётся цель сделать множество бекендов.
Надеюсь не нужно объяснять, что язык, на котором написан компилятор и целевая платформа совпадать не обязаны.

КТ>Поэтому я говорю: Нитру не удалось продать внутри Jetbrains'а самому Jetbrains'у.

По тому что мы не продавцы, а инженеры.
Наша работа не продавать, а создавать.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Nitra и JetBrains
От: К Тёте  
Дата: 11.04.16 15:24
Оценка:
КТ>>- При всех разговорах о DSLях единственная цель авторов — сделать C#
Автор: VladD2
Дата: 06.04.16
. Настолько единственная, что их приходится отговаривать от этой цели, когда они ищут сторонников
Автор: VladD2
Дата: 12.01.16

WH>Так и не понял откуда ты взял что это цель единственная.

Она моментально возникает при практически любых разговорах о будущем и возможностях Нитры. Более того, я не сказал, что это единственная цель. Это — единственная внятно заявленная цель.

КТ>>- только .net, только Visual Studio. Это ставит крест на чуть ли не подавляющем большинстве возможных применений. Это не в упрек авторам, это просто обусловлено выбором стартовой технологии.

WH>Это ты опять непонятно откуда взял.

Из реальности на данный момент. Нитра — это .net. Нитра — это интеграция с Вижуал Студио. Это разве не так? Так. Когда компания решает, продолжать какой-либо проект или не продолжать, она смотрит на то, что уже есть сейчас, и что нужно, чтобы наступило светлое будущее. Или, другими словами, «Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка».

WH>Сейчас Влад занят вынесением нитры в отдельный процесс с минимальным интерфейсом.

WH>Таким образом можно будет малой кровью её прицепить к любой ИДЕ.

Это прекрасно, без иронии

WH>Также изначально была и остаётся цель сделать множество бекендов.

WH>Надеюсь не нужно объяснять, что язык, на котором написан компилятор и целевая платформа совпадать не обязаны.

Насколько мне известно, тут уже писалось, что создать другой бэкенд для Нитры — это все же задача не на один и не на два дня, и этим надо долго и упорно заниматься. Поэтому, как я уже написал: " только .net, с неизвестной стоимостью портирования на другие платформы".

КТ>>Поэтому я говорю: Нитру не удалось продать внутри Jetbrains'а самому Jetbrains'у.

WH>По тому что мы не продавцы, а инженеры.
WH>Наша работа не продавать, а создавать.

Это — главная проблема программистов, на самом деле. Программистам очень сложно продавать свои идеи. И часто очень сложно понять, почему их идеи не продались.
На волю, в пампасы!
Re[10]: Nitra и JetBrains
От: WolfHound  
Дата: 11.04.16 16:56
Оценка:
Здравствуйте, К Тёте, Вы писали:
КТ>Она моментально возникает при практически любых разговорах о будущем и возможностях Нитры. Более того, я не сказал, что это единственная цель. Это — единственная внятно заявленная цель.
Слов "внятно заявленная" у тебя нет.

КТ>Из реальности на данный момент. Нитра — это .net. Нитра — это интеграция с Вижуал Студио. Это разве не так?

Ты предлагаешь нам делать сразу несколько интеграций и несколько бекендов?
Если бы нас было человек 20, то об этом можно было бы подумать.

КТ>Так. Когда компания решает, продолжать какой-либо проект или не продолжать, она смотрит на то, что уже есть сейчас, и что нужно, чтобы наступило светлое будущее. Или, другими словами, «Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка».

Да ладно. Они решарпер от студии оторвали и в идею засунули.
А это на порядки больше работы.

КТ>Насколько мне известно, тут уже писалось, что создать другой бэкенд для Нитры — это все же задача не на один и не на два дня, и этим надо долго и упорно заниматься. Поэтому, как я уже написал: " только .net, с неизвестной стоимостью портирования на другие платформы".

На несколько месяцев для хорошего программиста.
И для ближайших целей развития проекта задача не приоритетная.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Nitra и JetBrains
От: hi_octane Беларусь  
Дата: 11.04.16 17:53
Оценка:
WolfHound — ты учитывай что несмотря на то что тема касается напрямую, несмотря на то что у меня наивные догадки, а у тебя информация непосредственно с места событий — тебе чисто политически лучше держаться подальше от обсуждения этого вопроса. Любой самый аргументированный ответ людям которые принимали такое решение будет казаться не конструктивной критикой, а обидками. Бери пример с Влада который следует исключительно верным курсом "мы старались но они приняли такое вот решение, ни одна другая компания не вложила в Nitra и 1/10 от того что вложили JB, так что спасибо им".

А вот у меня руки развязаны, я по обстоятельствам непреодолимой силы в команду не попал, а когда сам попросился — было уже поздно. Так что по итогу как посторонний человек могу критиковать их непоследовательную политику сколько угодно
Nemerle — power of metaprogramming, functional, object-oriented and imperative features in a statically-typed .NET language
Re[11]: Nitra и JetBrains
От: К Тёте  
Дата: 11.04.16 18:02
Оценка:
WH>Здравствуйте, К Тёте, Вы писали:
КТ>>Она моментально возникает при практически любых разговорах о будущем и возможностях Нитры. Более того, я не сказал, что это единственная цель. Это — единственная внятно заявленная цель.
WH>Слов "внятно заявленная" у тебя нет.

По сути, единственной внятно вербализированной амбицией авторов уже много лет является написать на Нитре C# — и всё.


КТ>>Из реальности на данный момент. Нитра — это .net. Нитра — это интеграция с Вижуал Студио. Это разве не так?

WH>Ты предлагаешь нам делать сразу несколько интеграций и несколько бекендов?

Нет. Я это не предлагаю. Я просто описал то, как выглядит проект с точки зрения компании, внутри которой это продается. И во всех сообщениях я пишу о том, как это может выглядеть со стороны компании (менеджиента, потенциальных «евангелистов», product owner'ов и т.п.). Очень полезно попытаться пробовать смотреть на вещи с их, не инженерной, стороны.

КТ>>Так. Когда компания решает, продолжать какой-либо проект или не продолжать, она смотрит на то, что уже есть сейчас, и что нужно, чтобы наступило светлое будущее. Или, другими словами, «Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка».

WH>Да ладно. Они решарпер от студии оторвали и в идею засунули.
WH>А это на порядки больше работы.

Так Нитра сравнивается с Решарпером? Или с Котлиным? Или MPS? Или со всем тремя? Как бы то ни было, Нитре надо было обосновать свою значимость с теми проектами, что у компании уже есть.

Выпиши то, что на данный момент есть у Нитры. И сколько времени и усилий надо потратить на то, чтобы довести ее до уровня Решарпера и Котлина. И что даст компании наличие Нитры в ее продуктах. Не то, что теоретически «будет скоро». А то, что есть сейчас. Не «тут задача для одного программиста на месяц», а реальные оценки с учетом того, что в своих оценках вы уже ошибались.

КТ>>Насколько мне известно, тут уже писалось, что создать другой бэкенд для Нитры — это все же задача не на один и не на два дня, и этим надо долго и упорно заниматься. Поэтому, как я уже написал: " только .net, с неизвестной стоимостью портирования на другие платформы".

WH>На несколько месяцев для хорошего программиста.

Для перевода Нитры на какую платформу? JVM? LLVM? Пару месяцев для одного программиста? Или все же для нескольких?

WH>И для ближайших целей развития проекта задача не приоритетная.


Так в том-то и дело, что переносимость — это всего лишь одна из многих задач, которые еще стоит решить. Я об этом и говорю, когда пишу: «в обозримом будущем для компании стратегическим вложением не является, а является черной дырой, куда будут утекать деньги с неизвестной отдачей (Проект еще не допилен. Когда будет допилен, неизвестно. Сколько человеко-часов надо тратить на выведение его с дотнета, неизвестно)»

Это все не с точки зрения вас, как программистов, занимающихся проектом, и у которых «замылен глаз», так как вы примерно представляете, что вы хотите, что вы делаете и т.п. А с точки зрения потенциальных менеджеров, product owner'ов и т.п.

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

И мои комментарии — это не обвинение авторов и Нитры во всех смертных грехах, а uneducated guess, почему так произошло (с точки зрения компании/менеджмента, а не с точки зрения программистов).
На волю, в пампасы!
Re[8]: Nitra и JetBrains
От: hi_octane Беларусь  
Дата: 12.04.16 15:47
Оценка: 2 (1)
КТ>Правильно. И как этому всему поможет Нитра? Да никак. Написание новых языков во все эти «все начинается с новых технологий» не вписывается никак. Переписать дропбокс с го на раст, или что они там делали, Нитра не поможет. Написать аналог Хадупа/Кафки? Тоже нет. Это нее ее область применения. Ее область — создание языков программирования. Просто ЯП и так навалом, а DSLи надо встраивать в существующую инфраструктуру. Которая скорее всего не .net, например.
Область применения Nitra это не только DSL а ещё и "развитие любого языка программирования вместе с проектом точно под предметную область". Т.е. проект начинается на языке общего назначения, и превращается в DSL по ходу дела. Видеть в Нитре только DSL-конструктор неправильно.

_>>Надо? Котлин как, уже продали? Кто покупатель?

КТ>Jetbrains. В первую очередь Нитру надо было продать Jetbrains'у.
Так это шаровара была? Потому что во всех остальных случаях пишут одни а продают другие...

КТ>Именно. За Котлин уже заплатили. Нитре надо было доказать, что за Нитру тоже надо было заплатить. Я же написал: «Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка.»

На заплатили а переплатили (и прикидываю что в разы). Теперь обжегшись на молоке и получив команду экономить начали дуть на воду.

КТ>И опять все то же нытье: тут у вас неправильно, там у вас неправильно, зато у нас — ого-ого-ого.

Все фэйлы начинаются с игнорирования обратной связи. Последний коммит я сделал лет 7 назад ещё в SVN, и всё что когда-то делал касалось исключительно интеграции со студией. Так что не у нас а у вас (ну или теперь у них). И там где чудится нытьё — советую разглядеть конструктивную критику. А то был тут один Кинопоиск

КТ>Этот огогогого ничего не стоит, если его, этого самого огогого нет: проект затянут на полтора года больше, чем планировалось. Единственная сфера интеграции: .net и MS-ная студия. ЦА — какие-то мифические люди, которые «знают, как писать DSL'и» Если бы проект так же продавали внутри моей компании, проекту бы указали бы на дверь без разговоров.

Как оно произошло по факту внутри твоей компании я понял. Внутри компании здорового тех-дира прежде чем списать в потери N килобаксов и собственно проект, проверяется кто кроме непосредственных исполнителей вёл его внутри компании. Да — повесить на Влада и разработку и продвижение и продажу это очень соблазнительно, но даже мануалы 90-х годов, в которых сплошной водопад — объясняют почему так делать нельзя. Ты, кстати, полностью проигнорировал все мои неудобные пассажи про доверие оценкам технарей и пи-квадрат.

КТ>Apple'у не надо было самим писать 100к приложений для смартфона, потому что:

КТ>Так что да. Аналогии, мягко говоря, неуместны.
Неуместны в основном потому что Эпплу было сложнее — у них мало того что программно-аппаратная платформа, так ещё и цели разработчиков противоположны целям потребителей. Т.е. надо быть хорошим сразу для двух принципиально разных аудиторий. Советую подумать о том что к моменту выхода iPhone-ов рынок смартфонов был прост и понятен — игрушки для гиков и несколько приемлемых нишевых решений от Blackberry. Для всех остальных фич обычных телефонов вполне достаточно и с чего вдруг все с привычных телефонов за несколько лет перейдут на всемогуторы — ну совершенно непонятно было. В данном случае Nitra — это аналог чего-то вроде WinCE. До Apple ещё нужно довести. И если в итоге доведут не JB, а какой-нить гугл возьмёт и раскачает условный Nim — будет глупо как вышло у MS, по сути бросившей WinCE а потом хаотично выкатившей аж 4 разных мобильных винды в попытках догнать убегающий поезд.

КТ>Потому что пиарщики Го и C# как минимум понимают, что это такое, зачем оно нужно. «Мы вот-вот напишем C# на Нитра» — это не цель. Более того, это — не цель, нужная хоть какому-либо значительному количеству программистов. Даже «будущее — за DSLями» — это лозунг, а не цель. Более того, совсем непонятная большинству программистов.

Любой вменяемый евангелист на ставке сделает список круче этого
Автор: hi_octane
Дата: 12.05.15
и разложит его в серию постов разъясняющих почему срочно надо переходить на суперсет Nitra/C# автокомплит и рефакторинги которого доступны только в IDE от JetBrains или в поставленном ReSharper'е.

КТ>>>Поэтому, по здравому размышлению, я лично не удивлен такому решению со стороны JetBrains.

_>>Так прочитав твой пост я тоже не удивлён. С твоих слов получается
КТ>С твоих слов получается ровно одно: бедных художников не оценили.
С моих слов получается что проекту не было сделано независимой оценки ни в момент принятия решения о взятии его под крыло JetBrains ни в момент когда принималось решение "всех разогнать". Т.е. над технарями-создателями не было поставлено ни одного продукт-менеджера от компании. И ни в один момент никто не задумался о том что такой человек проекту нужен.

КТ>Вот ты выше пишешь вроде бы правильные слова: единственный в мире проект, единственный позволяющий что-то там, нужно дать идею и репозиторий расширения языка. Это все — только слова.

Дык JetBrains почти сделала их делами. Но случился фэйл управления, жаль. Давайте всех обратно и меня в помогаторы — поправлю
Nemerle — power of metaprogramming, functional, object-oriented and imperative features in a statically-typed .NET language
Re[9]: Nitra и JetBrains
От: К Тёте  
Дата: 12.04.16 20:42
Оценка: 15 (1)
КТ>>Правильно. И как этому всему поможет Нитра? Да никак. Написание новых языков во все эти «все начинается с новых технологий» не вписывается никак. Переписать дропбокс с го на раст, или что они там делали, Нитра не поможет. Написать аналог Хадупа/Кафки? Тоже нет. Это нее ее область применения. Ее область — создание языков программирования. Просто ЯП и так навалом, а DSLи надо встраивать в существующую инфраструктуру. Которая скорее всего не .net, например.
_>Область применения Nitra это не только DSL а ещё и "развитие любого языка программирования вместе с проектом точно под предметную область". Т.е. проект начинается на языке общего назначения, и превращается в DSL по ходу дела. Видеть в Нитре только DSL-конструктор неправильно.

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

Ты, кстати, полностью повторил мои слова, начиная с «ее область — создание языков программирования». Но так и не ответил на вопрос, заданный до этого.

_>>>Надо? Котлин как, уже продали? Кто покупатель?

КТ>>Jetbrains. В первую очередь Нитру надо было продать Jetbrains'у.
_>Так это шаровара была? Потому что во всех остальных случаях пишут одни а продают другие...

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

КТ>>Именно. За Котлин уже заплатили. Нитре надо было доказать, что за Нитру тоже надо было заплатить. Я же написал: «Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка.»

_>На заплатили а переплатили (и прикидываю что в разы). Теперь обжегшись на молоке и получив команду экономить начали дуть на воду.

Специально для тебя цитирую: « Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка».

_>Как оно произошло по факту внутри твоей компании я понял. Внутри компании здорового тех-дира прежде чем списать в потери N килобаксов и собственно проект, проверяется кто кроме непосредственных исполнителей вёл его внутри компании. Да — повесить на Влада и разработку и продвижение и продажу это очень соблазнительно, но даже мануалы 90-х годов, в которых сплошной водопад — объясняют почему так делать нельзя. Ты, кстати, полностью проигнорировал все мои неудобные пассажи про доверие оценкам технарей и пи-квадрат.



Что-то делать нельзя, что-то можно. Какие-то сферовакуумные компании с материалами про ватерфалл. Это все прекрасно. А есть суровая реальность: есть команда, которая пилит, неизвестно, что, сколько ресурсов в доведение этого до ума и интеграции в линейку продуктов компании, неизвестно.

КТ>>Apple'у не надо было самим писать 100к приложений для смартфона, потому что:

КТ>>Так что да. Аналогии, мягко говоря, неуместны.
_>Неуместны в основном потому что Эпплу было сложнее

Нет. Неуместны потому, что Apple выдали SDK для написания тех самых 100 000 приложений, в этом SDK было всё, и еще немножко.

КТ>>Потому что пиарщики Го и C# как минимум понимают, что это такое, зачем оно нужно. «Мы вот-вот напишем C# на Нитра» — это не цель. Более того, это — не цель, нужная хоть какому-либо значительному количеству программистов. Даже «будущее — за DSLями» — это лозунг, а не цель. Более того, совсем непонятная большинству программистов.

_>Любой вменяемый евангелист на ставке сделает список круче этого
Автор: hi_octane
Дата: 12.05.15
и разложит его в серию постов разъясняющих почему срочно надо переходить на суперсет Nitra/C# автокомплит и рефакторинги которого доступны только в IDE от JetBrains или в поставленном ReSharper'е.


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

Именно про это я говорю, когда говорю про «продать». У тебя получается, что компания неизвестно от кого должна была узнать о том, что команда Нитры пилит мегастратегичный проект, в котором можно реализовать (в разумные сроки?) некий мегаязык, который кроет C#, как бык овцу. Как и от кого компания должна была это узнать? Ответь мне на этот вопрос без демагогии про фидбеки и ватерфоллы 90х годов.

_>С моих слов получается что проекту не было сделано независимой оценки ни в момент принятия решения о взятии его под крыло JetBrains ни в момент когда принималось решение "всех разогнать". Т.е. над технарями-создателями не было поставлено ни одного продукт-менеджера от компании. И ни в один момент никто не задумался о том что такой человек проекту нужен.


Да, возможно.

КТ>>Вот ты выше пишешь вроде бы правильные слова: единственный в мире проект, единственный позволяющий что-то там, нужно дать идею и репозиторий расширения языка. Это все — только слова.

_>Дык JetBrains почти сделала их делами. Но случился фэйл управления, жаль. Давайте всех обратно и меня в помогаторы — поправлю

Фейл не только управления. Фейл продвижения проекта внутри компании тоже. Потому что можно много рассказывать о «мануалах 90-х годов» и об «игнорировании обратной связи». По факту произошло то, что описал Влад:

Просто в конторе есть те кто работает над продуктами и (назовем их так) увлекающиеся (те кто работают над перспективными вещами, с неизвестной отдачей).

Все затянулось. Тот кто нас пригласил потихоньку увлекся Котлином и ушел из решарперной команды в котлиновскую. Про нас забыли. С одной стороны это было даже хорошо, так как мы могли творить в свое удовольствие, но с другой это убило мотивацию внутри конторы.

А потом у одного из менеджеров возник вопрос — "а на фиг оно нам нужно?". Там шли бурные обсуждения, которые закончились тем, что они решили, что Котлина им хватит. Мол у него есть ниша, а значит и перспектива. А как "продать" Нитру мендежеры не знали.

...

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


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

Винить разработчиков не стоит, но просто стоит взглянуть на ситуацию и с точки зрения компании.
На волю, в пампасы!
Re[10]: Nitra и JetBrains
От: hi_octane Беларусь  
Дата: 13.04.16 00:57
Оценка: 9 (2)
_>>Область применения Nitra это не только DSL а ещё и "развитие любого языка программирования вместе с проектом точно под предметную область". Т.е. проект начинается на языке общего назначения, и превращается в DSL по ходу дела. Видеть в Нитре только DSL-конструктор неправильно.
КТ>То есть компаниям надо не только проекты развивать но еще и собственные языки? Ну, то есть вместо того, чтобы взять уже существующий Хадуп, надо сначала написать заточенный под Хадуп язык, а потом на этом языке пилить Хадуп? Что-то мне подсказывает, что компания, которая будет этим заниматься, уже вылетит с рынка, пока ее конкуренты уже будут летать и процветать.
КТ>Ты, кстати, полностью повторил мои слова, начиная с «ее область — создание языков программирования». Но так и не ответил на вопрос, заданный до этого.
Думал это очевидно — писать хадуп не надо, надо взять сорца хадупа, найти повторяющийся кусок кода (блок синхронизации, паттерн обработки ошибок, паттерн передачи контекстных параметров, и т.п.), и устранить это повторение через какое-то расширение языка. В другой раз для сетевиков предложить затравку в виде прототипа чего-то вроде Melange, но не на стороннем редакторе а как часть Nitra/C#. Я этот путь когда-то сам прошёл, пост 4-летней давности о событиях 6-летней давности
Автор: hi_octane
Дата: 10.07.12
, после чего от языков программирования курильщика мэйнстрима воротило. А это был Nemerle а не Nitra, каждый второй серьёзный макрос заставлял мутить на стадии без типов.

КТ>Специально для тебя цитирую: « Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка».

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

КТ>Что-то делать нельзя, что-то можно. Какие-то сферовакуумные компании с материалами про ватерфалл. Это все прекрасно. А есть суровая реальность: есть команда, которая пилит, неизвестно, что, сколько ресурсов в доведение этого до ума и интеграции в линейку продуктов компании, неизвестно.

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

КТ>Нет. Неуместны потому, что Apple выдали SDK для написания тех самых 100 000 приложений, в этом SDK было всё, и еще немножко.

У WinMobile и WinCE SDK был полнее. Но Apple помимо SDK выкатили достаточно отполированную идею что смартфоны больше не нишевый продукт для гиков и редких бизнесменов. У JB был шанс выдать идею что DSL больше не нишевый продукт. Со стороны даже порой казалось что Rider это стратегическая подготовка почвы для последующей замены компилятора на nitra-based всемогутор и плавного отжимания у MS доли девелоперов, которые потом ваши нафорева из-за подсаживания на репозиторий расширений.

КТ>>>Потому что пиарщики Го и C# как минимум понимают, что это такое, зачем оно нужно. «Мы вот-вот напишем C# на Нитра» — это не цель. Более того, это — не цель, нужная хоть какому-либо значительному количеству программистов. Даже «будущее — за DSLями» — это лозунг, а не цель. Более того, совсем непонятная большинству программистов.

_>>Любой вменяемый евангелист на ставке сделает список круче этого
Автор: hi_octane
Дата: 12.05.15
и разложит его в серию постов разъясняющих почему срочно надо переходить на суперсет Nitra/C# автокомплит и рефакторинги которого доступны только в IDE от JetBrains или в поставленном ReSharper'е.


КТ>Ага. А евангелист об этом суперсете узнает духом святым? Или все же программистам, которые пилят этот суперсет, надо отловить евангелиста, объяснить ему это и запускать дальше?

У него работа такая — самому всех спрашивать "что делаем? что получится?"; потом нацарапать на это прототип использования; потом придумать такие применения о которых команда и не думала; для тех мест об которые споткнулся и пришлось обращаться к разработчикам за помощью — сразу же забить заготовку статьи для доков или вики; выложить нетленку в блоге; оперативно поотвечать на коменты; подать команде выжимку из коментов в виде оформленных фич-реквестов; подать компании репорт о том как публикой воспринимается то что получается. Короче отдельный фронт работ, в котором программирования процентов 20, а общения и писанины текстов процентов 90. В сумме >100 потому что каждая строчка кода в такой роли часть общения с публикой.

КТ>Именно про это я говорю, когда говорю про «продать». У тебя получается, что компания неизвестно от кого должна была узнать о том, что команда Нитры пилит мегастратегичный проект, в котором можно реализовать (в разумные сроки?) некий мегаязык, который кроет C#, как бык овцу. Как и от кого компания должна была это узнать? Ответь мне на этот вопрос без демагогии про фидбеки и ватерфоллы 90х годов.

Человек курирующий продукт, он же менеджер продукта, и он может совмещать роль евангелиста. Он может даже вести графики закрытия фич и собирать метрики чтобы в день X ответственно заявить — "разработчики божатся что завершат за пол-года, поправочный коэффициент для них ~2.2, так что бета у нас через 9 месяцев, RC через 12, релиз через 13". Если такого не было — его надо было назначить из своих, если таким человеком должен был стать кто-то из "покупаемой" команды, надо было убедиться что его роли не вступили в противоречие. Соответственно этот человек на этапе решения взять проект под крыло, должен был быть отделён от разработки чего-то сложнее примеров использования. Это проклятые азы, об которые убилось немало проектов, и даже древнючая MSF содержала таблички в цветных картинках о том что эту роль совмещать с разработкой нельзя (крутить до первой таблицы).

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

Откуда в компании "стороннии люди"? Что значит "вникать не будут"? Я представляю как прихожу такой к условному ПМ-у и говорю — "У нас в той комнате что-то непонятное, сидят какие-то девелоперы, коммитят в наш VCS, срывают сроки которые сами себе поставили, заливают в себя кофе из нашей кофемашины. Ты сходи включись, разберись и доложи что там." А он такой "Я сам тут сторонний человек, проездом можно сказать, вникать однозначно не буду. И отметьте в молескине что сюда их не звал.". И я такой — "А ну да, действительно. Тогда выхода нет, остаётся только попросить их продать мне ручку, ой то есть ноутбук, ой ну короче чё там они закоммитили то пусть и продадут. А если не смогут — скажу отделу кадров их уволить всех, и вернуть паспорта. Ой, то есть трудовые". Это я утрирую и юморю конечно, но или суть такая получается или слова для описания причины были выбраны не те

КТ>Винить разработчиков не стоит, но просто стоит взглянуть на ситуацию и с точки зрения компании.

А я и смотрю с точки зрения компании. Только не абстрактной точки зрения, а конкретно с точки зрения тех-дира маленькой или руководителя отдела/направления в большой компании. С более высоких точек мне смотреть черезчур дерзко — нету ни реального опыта в должностях ворочающих сотнями, ни знания кухни JB чтоб оттуда проецировать. Но с уровня где отвечают за раздачу ролей и организацию процесса у двух-трёх десятков чел — произошедшие процессы выглядят именно так.
Nemerle — power of metaprogramming, functional, object-oriented and imperative features in a statically-typed .NET language
Re[11]: Nitra и JetBrains
От: К Тёте  
Дата: 13.04.16 10:29
Оценка:
КТ>>Ты, кстати, полностью повторил мои слова, начиная с «ее область — создание языков программирования». Но так и не ответил на вопрос, заданный до этого.
_>Думал это очевидно — писать хадуп не надо, надо взять сорца хадупа, найти повторяющийся кусок кода (блок синхронизации, паттерн обработки ошибок, паттерн передачи контекстных параметров, и т.п.), и устранить это повторение через какое-то расширение языка. В другой раз для сетевиков предложить затравку в виде прототипа чего-то вроде Melange, но не на стороннем редакторе а как часть Nitra/C#.

Непонятно, почему это очевидно. И кому это нужно. Ну вот берем в руки тот же Дропбокс. Им нужно решить миллион и тележку проблем: у них вон серверсайд, с синхронизациями, бэкапами и распределенными датацентрами. У них вот нцать платформ для клиентов (десткоп на трех платформах, мобильные клиенты на трех платформах, веб). Им это все надо делать вчера. Вместо этого они будут смотреть сорцы хадупа и переписывать их на Нитре?

И это «очевидно»? И так — по практически каждому первому проекту каждой первой компании, какую ни возьми.

_>Я этот путь когда-то сам прошёл, пост 4-летней давности о событиях 6-летней давности
Автор: hi_octane
Дата: 10.07.12
, после чего от языков программирования курильщика мэйнстрима воротило. А это был Nemerle а не Nitra, каждый второй серьёзный макрос заставлял мутить на стадии без типов.


Прекрасно. Такие примеры (и больше и больше) как раз то, что нужно для продвижения Нитры.

КТ>>Специально для тебя цитирую: « Нитре надо было доказать, что овчинка не только стоит выделки, но и ценнее, чем уже существующая овчинка».

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

Ну дык. С чем ты споришь, не понимаю

КТ>>Нет. Неуместны потому, что Apple выдали SDK для написания тех самых 100 000 приложений, в этом SDK было всё, и еще немножко.

_>У WinMobile и WinCE SDK был полнее. Но Apple помимо SDK выкатили достаточно отполированную идею что смартфоны

Помимо отполированной идеи посмотри как именно они выкатили свой SDK. Там было все: и эмулятор, и документация, и first-party приложения, и third-party приложения, примеры и объяснения, что, где и когда делать. Демонстрация возможностей на «седлать за 5 минут», «сделать за 2 дня», «сделать за 2 недели».

В общем, если бы у Нитры была возможность все это сделать, у нас бы и разговора такого не было. Но да, согласен, идея тоже была, и идея была «продана» (как внутри, так и снаружи компании).


КТ>>Ага. А евангелист об этом суперсете узнает духом святым? Или все же программистам, которые пилят этот суперсет, надо отловить евангелиста, объяснить ему это и запускать дальше?

_>У него работа такая — самому всех спрашивать "что делаем? что получится?";

Этот евангелист должен был сам появиться ниоткуда, сам заинтересоваться, сам все сделать и т.п. Не бывает такого. Даже тот евангелист, который был, как видим из поста Влада, ушел в Котлин. Откуда взяться другому евангелисту, если программисты пилят код и (частично) ни с кем не общаются?

Все остальные сказки про то, что должен делать евангелист, поскипаны.

_> Это проклятые азы, об которые убилось немало проектов, и даже древнючая MSF содержала таблички в цветных картинках о том что эту роль совмещать с разработкой нельзя (крутить до первой таблицы).


Ты опять рассказываешь про сферовакуумные азы А есть суровая реальность, описанная даже не мной, а Владом.

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

_>Откуда в компании "стороннии люди"? Что значит "вникать не будут"? Я представляю как прихожу такой к условному ПМ-у и говорю — "У нас в той комнате что-то непонятное, сидят какие-то девелоперы, коммитят в наш VCS, срывают сроки которые сами себе поставили, заливают в себя кофе из нашей кофемашины. Ты сходи включись, разберись и доложи что там."


Блин, но так и получилось

Один из таких, нас и пригласил в Решарперную команду, в свое время. Но проект большой (по объему). Нас над ним работало только трое. Сделать его быстро (как предполагалось) нам не удалось. В итоге все затянулось. Тот кто нас пригласил потихоньку увлекся Котлином и ушел из решарперной команды в котлиновскую. Про нас забыли. С одной стороны это было даже хорошо, так как мы могли творить в свое удовольствие, но с другой это убило мотивацию внутри конторы. В нас попросту никто не был заинтересован. В итоге мы перешли под крыло тех самых продуктовиков, которым мы были просто по барабану. А потом у одного из менеджеров возник вопрос — "а на фиг оно нам нужно?".




В этой ситуации нет ничего не обычного.

КТ>>Винить разработчиков не стоит, но просто стоит взглянуть на ситуацию и с точки зрения компании.

_>А я и смотрю с точки зрения компании. Только не абстрактной точки зрения, а конкретно с точки зрения тех-дира маленькой или руководителя отдела/направления в большой компании. С более высоких точек мне смотреть черезчур дерзко — нету ни реального опыта в должностях ворочающих сотнями, ни знания кухни JB чтоб оттуда проецировать. Но с уровня где отвечают за раздачу ролей и организацию процесса у двух-трёх десятков чел — произошедшие процессы выглядят именно так.

Произошедшие процессы произошли именно так, как ты и я описали, только почему-то ты считаешь, что вступаешь со мной в противоречие
На волю, в пампасы!
Re[12]: Nitra и JetBrains
От: hi_octane Беларусь  
Дата: 13.04.16 11:44
Оценка: +2
КТ>Произошедшие процессы произошли именно так, как ты и я описали, только почему-то ты считаешь, что вступаешь со мной в противоречие

Потому что твой исходный посыл
Автор: К Тёте
Дата: 11.04.16
, как бы о том что "компании продукт продать не получилось, видимых преимуществ нет, а обещаемые будут неизвестно когда". Мой — компания купила сильную идею и очень сильную да ещё и охрененно само-мотивированную техническую команду, но профукала менеджмент.
Nemerle — power of metaprogramming, functional, object-oriented and imperative features in a statically-typed .NET language
Re[13]: Nitra и JetBrains
От: К Тёте  
Дата: 13.04.16 12:28
Оценка:
КТ>>Произошедшие процессы произошли именно так, как ты и я описали, только почему-то ты считаешь, что вступаешь со мной в противоречие

_>Потому что твой исходный посыл
Автор: К Тёте
Дата: 11.04.16
, как бы о том что "компании продукт продать не получилось, видимых преимуществ нет, а обещаемые будут неизвестно когда". Мой — компания купила сильную идею и очень сильную да ещё и охрененно само-мотивированную техническую команду, но профукала менеджмент.


Может быть. Но мне кажется, ты почему-то исходишь из предпосылки, что менджмент, евангелисты, продвигаторы и т.п. нарисуются из воздуха только потому, что проект есть
На волю, в пампасы!
Re[6]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 12:47
Оценка: 1 (1) +1
Здравствуйте, К Тёте, Вы писали:

КТ>Осталось только понять, почему они стратегические. И осталось понять, каким образом они стратегические для JetBrains...


Мог бы поспорить по верности большинства из предпосылок типа "DSL'и на том же Kotlin'е были уже в 2011-м году", но это бессмысленно. Думаю, что данная позиция (за исключением рассказа о приоритете Явы, что не правда для JetBrains) является близкой к позиции менеджеров в JetBrains.

Так что могу по рекомендовать твое сообщение к прочтению именно для понимания того как мыслили в JetBrains.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 13.04.2016 16:03 VladD2 . Предыдущая версия .
Re[7]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 12:51
Оценка: 6 (2)
Здравствуйте, hi_octane, Вы писали:

_>О! Пожаловал кто-то кто представляет внутреннюю кухню JB? Ну щаз я вам И кажется уважаемые админы отсюда уже тему можно выносить в КСВ, ибо это совсем не роадмап.


Скорее всего нет. В JetBrains нет ориентации на Яву. Дотнетный дивизион в недавнем прошлом зарабатывал денег больше всего. И сейчас он не в аудсайдерах. Да и айпишники не из мест где прибывает офисы JetBrains.

Но, да — мнение очень в духе.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 13.04.2016 14:30 VladD2 . Предыдущая версия .
Re[12]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 13:34
Оценка: 1 (1) +1
Здравствуйте, К Тёте, Вы писали:

КТ>Так Нитра сравнивается с Решарпером? Или с Котлиным? Или MPS? Или со всем тремя? Как бы то ни было, Нитре надо было обосновать свою значимость с теми проектами, что у компании уже есть.


Сравнивалась. И с MPS сравнивалась. Как раз опыт применения и "продажи" MPS сыграл плохую службу. Многие в конторе были разочарованы в MPS. Ранее MPS применяли для внутренней разработки, но получили от его применения больше пролем, чем пользы. В итоге в некоторых частях от его использования отказались и остались довольны этим. Так как концептуально с MPS у Нитры много общего было, скепсис по отношению к MPS перекинулся и на Нитру. Я обращался к тому кто придумал и поддерживает MPS (это один из владельцев фирмы), но он даже не ответил на мое письмо. И это при том, что программисты из группы MPS были очень заинтересованы нашим докладом и очень печалились по поводу принятого решения.

Сравнение с РеШарпером тоже интересно.

В виду того что Нитра рассчитана на языки с динамически расширяемым синтаксисом мы не могли переиспользовать части РаШарпера (ну, кроме его ГУЯ и сервисов в IDE). По идее наш движок мог бы стать новым поколение движка для РеШарпера и очень сильно улучшить его. Но это серьезное решение на полную переделку базы. ПМ-ы решарпера не готовы к столь радикальному изменению.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 13:37
Оценка: 1 (1)
Здравствуйте, К Тёте, Вы писали:

КТ>Для перевода Нитры на какую платформу? JVM? LLVM? Пару месяцев для одного программиста? Или все же для нескольких?


Перевести всю Нитру на другую платформу будет не просто. Для этого сначала на нитре надо переписать Немерл и забутстрапить с ним саму Нитру.

А вот создать кроссплатформенный бэкэнд, который работая под дотнет (ил Моно) будет порождать бинарники для JVM или LLVM — это не проблема. И тут несколько месяцев на фул тайме более чем достаточно.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 13.04.2016 14:39 VladD2 . Предыдущая версия .
Re[9]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 13:44
Оценка: +1
Здравствуйте, hi_octane, Вы писали:

_>>>Надо? Котлин как, уже продали? Кто покупатель?

КТ>>Jetbrains. В первую очередь Нитру надо было продать Jetbrains'у.
_>Так это шаровара была? Потому что во всех остальных случаях пишут одни а продают другие...

Ты его не правильно понял. Он говорит о том чтобы продать Нитру JetBrains-у в переносном (маркетинговом) смысле. В смысле, заинтересовать JetBrain-овцеч.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 14:01
Оценка: 8 (2) +1
Здравствуйте, К Тёте, Вы писали:

КТ>Ага. А евангелист об этом суперсете узнает духом святым? Или все же программистам, которые пилят этот суперсет, надо отловить евангелиста, объяснить ему это и запускать дальше?


Вот как раз с евангилистом проблем не было. У них там есть такой мужик — Хади. Мы с ним взаимодействовали и он написал пару блогов о первых версиях Нитры (о парсере).
http://blog.jetbrains.com/blog/2013/11/12/an-introduction-to-nitra/

Я было хотел попросить создать новый блок по нашей подсистеме типизации, но как раз в это время и началась вся эти история.

Хади был опечален таким решением. Он то, как раз, очень живо интересовался Нитрой.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Nitra и JetBrains
От: К Тёте  
Дата: 13.04.16 14:16
Оценка:
VD>Хади был опечален таким решением. Он то, как раз, очень живо интересовался Нитрой.

Жаль. Но, будем надеятся, у вас хватит напалма (и времени) завершить начатое.
На волю, в пампасы!
Re[12]: Nitra и JetBrains
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.04.16 14:23
Оценка: 1 (1)
Здравствуйте, К Тёте, Вы писали:

КТ>Этот евангелист должен был сам появиться ниоткуда, сам заинтересоваться, сам все сделать и т.п. Не бывает такого. Даже тот евангелист, который был, как видим из поста Влада, ушел в Котлин. Откуда взяться другому евангелисту, если программисты пилят код и (частично) ни с кем не общаются?


Это был не евангилист, а ПМ (скорее).
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.