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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.