[Голосование] Почему я не использую Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.10 13:58
Оценка:
С целью сбора информации прошу ответить на вопрос:

Почему я боюсь/не хочу/не могу использовать Nemerle в своей работе?

В следующем голосовании:
http://rsdn.ru/poll/2558.aspx
Автор: VladD2
Дата: 05.04.10
Вопрос: Почему я боюсь/не хочу/не могу использовать Nemerle в своей работе?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 05.04.10 18:15
Оценка: 64 (6) +7
Здравствуйте, VladD2, Вы писали:

VD>С целью сбора информации прошу ответить на вопрос:

VD>

VD>Почему я боюсь/не хочу/не могу использовать Nemerle в своей работе?

VD>В следующем голосовании:
VD>http://rsdn.ru/poll/2558.aspx
Автор: VladD2
Дата: 05.04.10
Вопрос: Почему я боюсь/не хочу/не могу использовать Nemerle в своей работе?


Отвечу здесь, ибо ответ в формат голосования не влезает.
Если под "работой" имеется в виду то место, куда я хожу каждый день, а раз в месяц получаю зарплату, то... как ты сам тут недавно написал, среднему программисту для изучения Немерле на уровне "хорошо" требуется год. А проект надо было сдавать вчера. И так практически постоянно.

Более того, многие проекты пишутся не столько на языках, сколько на "фреймворках". Т.е. нет, к примеру, веб-приложения на C#, а есть ASP.NET приложения. А какой там язык на стороне application — дело вторичной важности. "Фреймворки" же в свою очередь навязывают свои паттерны, модель работы, которая не всегда совместима с Немерлевской (т.е. писать-то конечно на Немерле можно, но вся его мощность по большому счету остается за кадром).

А тот факт, что проекты пишутся на "фреймворках" приводит к тому, что и средний программист тоже по факту является не программистом C#, VB.NET или чего-то еще, а программистом ASP.NET, Windows Forms, WPF и так далее. Что как бы накладывает неизбежный отпечаток. И тут становится важнее даже не столько мощность языка, сколько хорошая поддержка визуального дизайнера.

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

Ну и последнее — даже если выпадает "тот самый" проекты, для которого, казалось, и был создан Немерле, то возникает естественный вопрос — а откуда программистов-то взять? Переучивать имеющихся? (См. пункт про обучение). Нанимать? Да если даже найдем, а куда имеющихся со всех их многолетним domain knowledge девать? Увольнять? Новичок, пусть он хоть бог в Немерле, все равно первое время будет работать медленнее средненького C#-программиста, потому что ему придется разгребать все то говно, которое этот C#-программист после себя оставил. Да и нехорошо как-то увольнять людей-то.

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

Единственная возможность, которую я тут вижу — это наличие так называемых killer apps на Немерле, со всеми исходниками и под либеральными лицензиями, которые можно было бы доточить и использовать в своих проектах.
Re[2]: [Голосование] Почему я не использую Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.10 21:22
Оценка: -2
Здравствуйте, Воронков Василий, Вы писали:

ВВ>... как ты сам тут недавно написал, среднему программисту для изучения Немерле на уровне "хорошо" требуется год. А проект надо было сдавать вчера. И так практически постоянно.


То есть нет времени остановиться и освоить что-то новое, что в последствии позволит сдавать проекты быстрее или решать более сложные задачи?

ВВ>Более того, многие проекты пишутся не столько на языках, сколько на "фреймворках". Т.е. нет, к примеру, веб-приложения на C#, а есть ASP.NET приложения. А какой там язык на стороне application — дело вторичной важности. "Фреймворки" же в свою очередь навязывают свои паттерны, модель работы, которая не всегда совместима с Немерлевской (т.е. писать-то конечно на Немерле можно, но вся его мощность по большому счету остается за кадром).


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

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

ВВ>А тот факт, что проекты пишутся на "фреймворках" приводит к тому, что и средний программист тоже по факту является не программистом C#, VB.NET или чего-то еще, а программистом ASP.NET, Windows Forms, WPF и так далее. Что как бы накладывает неизбежный отпечаток. И тут становится важнее даже не столько мощность языка, сколько хорошая поддержка визуального дизайнера.


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

ВВ>Наконец в общем-то нет такой проблемы, как язык ХХХ недостаточно мощный, поэтому мы не успели в срок.


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

ВВ>Суровая правда в том, что если Немерле позволяет сделать задачу в два раза быстрее, а клиент и так готов платить за два раза медленее, то зачем делать быстрее?


Странный вопрос. Ты же сможешь решить в два раза больше задач за то же время! Значит заработаешь в два раза больше денег.

ВВ>Да и проблемы на проектах обычно из несколько иной оперы, вроде "мы неправильно сделали оценку" или "клиент, сволочь, опять на ходу выдумывает требования".


Ну, это неизбежное зло. От него не уйти.

ВВ>Ну и последнее — даже если выпадает "тот самый" проекты, для которого, казалось, и был создан Немерле, то возникает естественный вопрос — а откуда программистов-то взять? Переучивать имеющихся?


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

ВВ> (См. пункт про обучение). Нанимать?


Для новых тоже будет работать этот принцип. Можно нанимать C#-программистов и постепенно доучивать их до нужных кондиций. Ну, а если придет кто-то со знанием ФП или тем более немерла, то процесс доучивания будет более быстрым.

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


А ты хотел чтобы все на блюдечке с голубой каёмочкой?

ВВ> Это уже не говоря и о таких вещах как то, что и версия нерелизная еще, и интеграция хромает, и поддержка студийных дизайнеров не такая как у Шарпа и проч.


ВВ>Единственная возможность, которую я тут вижу — это наличие так называемых killer apps на Немерле, со всеми исходниками и под либеральными лицензиями, которые можно было бы доточить и использовать в своих проектах.


Немерл сам таким киллером является. Это офигительное средство для создания встроенных ДСЛ-ей. Берешь его и дотачиваешь под свои задачи.

А аппами будут его макросы. Один только PEG-парсер (который мы сейчас замутили) чего стоит? Можно написать и отладить разбор языка любой сложности за смешное время.

Ну, а прикладные киллеры требуют своих героев. Чтобы они появились нужно чтобы появились люди которым они нужны и которые готовы их реализовать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Голосование] Почему я не использую Nemerle
От: Lloyd Россия  
Дата: 05.04.10 23:05
Оценка: 15 (1) +4
Здравствуйте, VladD2, Вы писали:

ВВ>>Ну и последнее — даже если выпадает "тот самый" проекты, для которого, казалось, и был создан Немерле, то возникает естественный вопрос — а откуда программистов-то взять? Переучивать имеющихся?


VD>Не переучивать, а доучивать. Это не так сложно и не так затратно. Потери будут только на первых порах, а уже через пару месяцев начнется выигрыш в производительности. И чем более опытными будут становиться разработчики, тем больше будет выигрыш.


По моим наблюдением собсвенно кодирование в рабочем времени разработчика занимается от силы 10%.
Основное — это разобраться с задачаей, задать вопросы лиду или заказчику, если они возникли, всяческие митинги/стандапы, прикинуть, как реализовывать, прорезерчить какую-нить библиотеку, накидать UI, обновить базу, написание/прогон тестов, фиксанье непрошедших тестов, ручное тестирование, устранение очевидных ляпов, ревью кода, чекин, резолв конфликтов, статус в багтрекере, убедиться, что билд не упал и прочая, прочая, прочая.
Даже если использование другого языка даст 3-х кратный рост скорости кодирования, максимум на что можно расчитывать в итоге — это 7% сокращение времени разработки.
Re[3]: [Голосование] Почему я не использую Nemerle
От: Ziaw Россия  
Дата: 06.04.10 01:11
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>Более того, многие проекты пишутся не столько на языках, сколько на "фреймворках". Т.е. нет, к примеру, веб-приложения на C#, а есть ASP.NET приложения. А какой там язык на стороне application — дело вторичной важности. "Фреймворки" же в свою очередь навязывают свои паттерны, модель работы, которая не всегда совместима с Немерлевской (т.е. писать-то конечно на Немерле можно, но вся его мощность по большому счету остается за кадром).


VD>Что есть фрэймворк? Это библиотека помогающая решать некоторые задачи и некая инфраструктура позволяющая обойти проблемы которые не решаются в рамках библиотек. По сути эта инфраструктура — это костыль который нужен некоторым языкам для преодоления их неспособности поместить решение задачи в библиотеку.


VD>Немерл интересен тут тем, что:

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

ВВ>>А тот факт, что проекты пишутся на "фреймворках" приводит к тому, что и средний программист тоже по факту является не программистом C#, VB.NET или чего-то еще, а программистом ASP.NET, Windows Forms, WPF и так далее. Что как бы накладывает неизбежный отпечаток. И тут становится важнее даже не столько мощность языка, сколько хорошая поддержка визуального дизайнера.


VD>Ну, это чушь. Код ты пишешь на конкретном языке. Фрэймворк за тебя задачу не решит. Упростит решение — да. Но не решит.


Две больших ниши: веб и десктоп, ASP.NET MVC, WinForms, WPF. Львинная доля кода — UI. Афайк с дизайнерами винформса и впфа на десктопе мы пролетим. В том же MVC, для меня важнее нормальный view-engine, хотя конечно для моделей и контроллеров nemerle помог бы решить кое какие проблемы.

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

Ну и основная, любая новая технология в один(в лучшем случае) прекрасный момент приносит СЮРПРИЗ. Так я называю проблему на которую приходится убить в районе недели, которая не возникает у опытных пользователей или они научились ее обходить. У меня, по крайней мере, это происходило со всеми библиотками, языками, фреймворками. Догнать неделю на фичах языка сложновато. C# и сам очень мощный язык. Разница между ним и nemerle меньше чем между C# 1.0 и 4.0.

Я согласен с Василием, что киллер апп был бы очень полезен для языка. Например ниша OSS веб проектов для .net практически пуста (по сравнению с RoR, python, php).
Re[3]: [Голосование] Почему я не использую Nemerle
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.04.10 05:34
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


Для начала нужна идея программы, в которой nemerle покажет себя во всей красе. Попытаться переписать МСовские DinnerNow и NerdDinner — ничего хорошего не выйдет. Будет адекватная спецификация задачи, которая близка к реальной и для которой nemerle дает значительный эффект, то я первый побегу писать такой killerapp, только для того чтобы изучить nemerle.
Re[4]: [Голосование] Почему я не использую Nemerle
От: Ziaw Россия  
Дата: 06.04.10 05:49
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Для начала нужна идея программы, в которой nemerle покажет себя во всей красе. Попытаться переписать МСовские DinnerNow и NerdDinner — ничего хорошего не выйдет. Будет адекватная спецификация задачи, которая близка к реальной и для которой nemerle дает значительный эффект, то я первый побегу писать такой killerapp, только для того чтобы изучить nemerle.


Из ниоткуда спецификация не возьмется. Предлагаю обсудить идею социального портала, вроде их нет. Правда не пойму чем тут nemerle поможет. Может DSL какой? Влад, просвети, даст ли что нибудь nemerle в этой задаче. Я бы выделил часов 6-12 в неделю.
Re[5]: [Голосование] Почему я не использую Nemerle
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.04.10 06:08
Оценка:
Здравствуйте, Ziaw, Вы писали:

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


G>>Для начала нужна идея программы, в которой nemerle покажет себя во всей красе. Попытаться переписать МСовские DinnerNow и NerdDinner — ничего хорошего не выйдет. Будет адекватная спецификация задачи, которая близка к реальной и для которой nemerle дает значительный эффект, то я первый побегу писать такой killerapp, только для того чтобы изучить nemerle.


Z>Из ниоткуда спецификация не возьмется. Предлагаю обсудить идею социального портала, вроде их нет. Правда не пойму чем тут nemerle поможет. Может DSL какой? Влад, просвети, даст ли что нибудь nemerle в этой задаче. Я бы выделил часов 6-12 в неделю.


Широко известный Владимир Кочетков как-то раз упоминал что использовал nemerle для каких-то задач, связанных с безопасностью. Может стоить в эту сторону посмотреть, а не пытаться делать еще_один_веб_два_нольный_сайт?

PS. У F# есть киллерфича — workflows и встроенный async, что-нить в этом роде есть у Nemerle?
Re[6]: [Голосование] Почему я не использую Nemerle
От: Ziaw Россия  
Дата: 06.04.10 08:36
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Широко известный Владимир Кочетков как-то раз упоминал что использовал nemerle для каких-то задач, связанных с безопасностью. Может стоить в эту сторону посмотреть, а не пытаться делать еще_один_веб_два_нольный_сайт?


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

Кстати, http://www.rsdn.ru/forum/prj/3760658.1.aspx
Автор: adontz
Дата: 03.04.10
тут как раз сложная логика, обработка деревьев, парсер. Хотя задача действительно великовата, тем больше проку от nemerle, так?
Re[7]: [Голосование] Почему я не использую Nemerle
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.04.10 09:51
Оценка:
Здравствуйте, Ziaw, Вы писали:

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


G>>Широко известный Владимир Кочетков как-то раз упоминал что использовал nemerle для каких-то задач, связанных с безопасностью. Может стоить в эту сторону посмотреть, а не пытаться делать еще_один_веб_два_нольный_сайт?


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


Если сделать что-то вроде xspider, то очень массовый продукт получится.
Re[8]: [Голосование] Почему я не использую Nemerle
От: Ziaw Россия  
Дата: 06.04.10 09:54
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Если сделать что-то вроде xspider, то очень массовый продукт получится.


Это как антивирус. Сам движок конечно важен, но ему нужны хорошие, пополняемые и поддерживаемые базы сигнатур. Имхо плохо подходит для киллерапп.
Re: [Голосование] Почему я не использую Nemerle
От: vpchelko  
Дата: 06.04.10 10:43
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>С целью сбора информации прошу ответить на вопрос:

VD>

VD>Почему я боюсь/не хочу/не могу использовать Nemerle в своей работе?

VD>В следующем голосовании:
VD>http://rsdn.ru/poll/2558.aspx
Автор: VladD2
Дата: 05.04.10
Вопрос: Почему я боюсь/не хочу/не могу использовать Nemerle в своей работе?

Все конечно хорошо интересно.
Меня очень смутила статья про Синтаксический сахар, впечатление что афтар не программировал на С++ и не знает, что тот же цикл не льзя тупо оборачивать рекурсией (допустим миллион итераций), афтар даже не заикнулся про этот case.
Сало Украине, Героям Сала
Re[2]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 06.04.10 10:46
Оценка:
Здравствуйте, vpchelko, Вы писали:

V>Все конечно хорошо интересно.

V>Меня очень смутила статья про Синтаксический сахар, впечатление что афтар не программировал на С++ и не знает, что тот же цикл не льзя тупо оборачивать рекурсией (допустим миллион итераций), афтар даже не заикнулся про этот case.

Хвостовая рекурсия разворачивается компилятором в цикл.
Re[3]: [Голосование] Почему я не использую Nemerle
От: vpchelko  
Дата: 06.04.10 10:49
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


V>>Все конечно хорошо интересно.

V>>Меня очень смутила статья про Синтаксический сахар, впечатление что афтар не программировал на С++ и не знает, что тот же цикл не льзя тупо оборачивать рекурсией (допустим миллион итераций), афтар даже не заикнулся про этот case.

ВВ>Хвостовая рекурсия разворачивается компилятором в цикл.

Не любым компилятором.
Сало Украине, Героям Сала
Re[2]: [Голосование] Почему я не использую Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.10 11:06
Оценка:
Здравствуйте, vpchelko, Вы писали:

V>Все конечно хорошо интересно.


Это не может не радовать .

V>Меня очень смутила статья про Синтаксический сахар, впечатление что афтар не программировал на С++ и не знает,


Если 10 лет это не срок, то наверно...

V>что тот же цикл не льзя тупо оборачивать рекурсией (допустим миллион итераций), афтар даже не заикнулся про этот case.


Видимо ты не минимально читал статью и пропустил вот это примечание:

ПРИМЕЧАНИЕ
Кстати, функций Loop() и NestedLoop() компилятор Nemerle в коде не оставит. Он распознает хвостовую рекурсию и заменит ее переходами внутри функции с модификацией значений параметров.
Таким образом, потери в производительности у этого подхода при использовании Nemerle нет.


В прочем, готов ответить за любой свое слово и на практике доказать свою правоту.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 06.04.10 11:09
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>... как ты сам тут недавно написал, среднему программисту для изучения Немерле на уровне "хорошо" требуется год. А проект надо было сдавать вчера. И так практически постоянно.

VD>То есть нет времени остановиться и освоить что-то новое, что в последствии позволит сдавать проекты быстрее или решать более сложные задачи?

Как ты себе это представляешь? И кто должен останавливаться? Контора должна перестать участвовать в тендерах, не брать новые проекты? Да, если хочешь, можно сказать, что времени остановиться нет. Ради достаточно зыбкого, особенно с точки зрения бизнеса, преимущества. Быстро проект сдан или медленно вообще слабо зависит от языка и программиста.

VD>Что есть фрэймворк? Это библиотека помогающая решать некоторые задачи и некая инфраструктура позволяющая обойти проблемы которые не решаются в рамках библиотек. По сути эта инфраструктура — это костыль который нужен некоторым языкам для преодоления их неспособности поместить решение задачи в библиотеку.


Речь о каких-то конкретных библиотеках или так, "в целом"?

VD>Немерл интересен тут тем, что:

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

Не понял. А на хрена мне тогда "те же самые фрэмворки"?

ВВ>>А тот факт, что проекты пишутся на "фреймворках" приводит к тому, что и средний программист тоже по факту является не программистом C#, VB.NET или чего-то еще, а программистом ASP.NET, Windows Forms, WPF и так далее. Что как бы накладывает неизбежный отпечаток. И тут становится важнее даже не столько мощность языка, сколько хорошая поддержка визуального дизайнера.

VD>Ну, это чушь. Код ты пишешь на конкретном языке. Фрэймворк за тебя задачу не решит. Упростит решение — да. Но не решит.

Это не чушь, а реальное положение вещей. Фреймворк, скажем ASP.NET, предлагает определенный способ решения задачи и именно знание этого способа, всех его особенностей и проч. и прежде всего ценится, когда речь идет о такой специализации как "ASP.NET разработчик". Язык тут ничего кардинально не меняет. Особенно, если учитывать тот факт, что все эти фреймворки изначально проектировались под то, что писать под них будут на C#, VB.NET и иже с ними.

Сейчас Немерле развивается по принципу — у вас будет то же, что и в C# (те же Linq, ASP.NET, WinForms, WPF), но более мощный язык. Я сомневаюсь в том, что такой подход "выстрелит". Непонятно, зачем нужна мощность Немерле, если ты предлагаешь его использовать в качестве C#.

Если взять в качестве примера ASP.NET, то на мой взгляд нужен не ASP.NET + Nemerle, а этакий Nemerle On Rails, собственная технология, построенная на макросах или на чем-то там еще, раскрывающая всю "мощь" Немерле. И в такой вот обвертке — язык+фреймворк==решение — уже становится значительно интереснее. А если еще и success story есть... А на чем там веб-контролы клепать вопрос вообще вторичный.

ВВ>>Наконец в общем-то нет такой проблемы, как язык ХХХ недостаточно мощный, поэтому мы не успели в срок.

VD>Ну, да. Об этом же мы просто не догадываемся. У нас объективные причины...

А ты знаешь лучше?
Да, проблемы такой нет, потому что есть другие проблемы. Я даже навскидку не припомню ситуации, когда разработчики не справились с хорошо поставленным ТЗ или не успели в срок. Разработка зачастую вообще далеко не самая сложная часть проекта.

ВВ>>Суровая правда в том, что если Немерле позволяет сделать задачу в два раза быстрее, а клиент и так готов платить за два раза медленее, то зачем делать быстрее?

VD>Странный вопрос. Ты же сможешь решить в два раза больше задач за то же время! Значит заработаешь в два раза больше денег.

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

Наконец, я повторюсь. То, что задача Х занимает n часов вместо n/2 — не проблема. Но проблем других много. Как правило связанных с другими стадиями проекта. Любой разумный человек будет сначала решать проблемы, а потом уже прикручивать фичи.

ВВ>>Ну и последнее — даже если выпадает "тот самый" проекты, для которого, казалось, и был создан Немерле, то возникает естественный вопрос — а откуда программистов-то взять? Переучивать имеющихся?

VD>Не переучивать, а доучивать. Это не так сложно и не так затратно. Потери будут только на первых порах, а уже через пару месяцев начнется выигрыш в производительности. И чем более опытными будут становиться разработчики, тем больше будет выигрыш.

Так год или не год, ты уж определись. И какой будет выигрыш в производительности, если человеку надо, к примеру, WWF писать? (Положим, что Немерле даже поддерживает соответствующий дизайнер). Или WPF рисовать? (Положим, что Немерле уже поддерживает дизайнер). Или веб-формочки рисовать?
А обучать надо, да. Надо обучать WWF, WPF, MOSS 2010 и так далее. И в интернете куча примеров, готовых самплов, наглядных материалов в стиле "101 пример кода" — и все эти материалы на C#.

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

VD>А ты хотел чтобы все на блюдечке с голубой каёмочкой?

Я ничего не хотел. Лично мне не нужна даже интеграция с IDE, могу спокойно писать в блокноте.
А для того, чтобы язык стал популярным в мейнстриме, а не среди знакомых гиков — да, должно быть "на блюдечке с голубой каёмочкой". Причем это блюдечко должно выглядеть куда круче того, что уже есть.

ВВ>> Это уже не говоря и о таких вещах как то, что и версия нерелизная еще, и интеграция хромает, и поддержка студийных дизайнеров не такая как у Шарпа и проч.

ВВ>>Единственная возможность, которую я тут вижу — это наличие так называемых killer apps на Немерле, со всеми исходниками и под либеральными лицензиями, которые можно было бы доточить и использовать в своих проектах.
VD>Немерл сам таким киллером является. Это офигительное средство для создания встроенных ДСЛ-ей. Берешь его и дотачиваешь под свои задачи.

А вот нам визуальный ДСЛ нужен
Да и как-то ты преувеличиваешь роль DSL-ей то, в каком количестве они нужны по-твоему?

VD>А аппами будут его макросы. Один только PEG-парсер (который мы сейчас замутили) чего стоит? Можно написать и отладить разбор языка любой сложности за смешное время.


PEG-парсер, видимо, отличная штука, только "написать и отладить разбор языка любой сложности за смешное время" можно и сейчас.
Re[4]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 06.04.10 11:10
Оценка: +1
Здравствуйте, vpchelko, Вы писали:

ВВ>>Хвостовая рекурсия разворачивается компилятором в цикл.

V>Не любым компилятором.

Ну речь, наверное, о конкретном компиляторе, мы же не сферических коней в вакууме обсуждаем? Компилятором Немерле хвостовая рекурсия оптимизируется.
Re[5]: [Голосование] Почему я не использую Nemerle
От: vpchelko  
Дата: 06.04.10 11:47
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


ВВ>>>Хвостовая рекурсия разворачивается компилятором в цикл.

V>>Не любым компилятором.

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

Оригинально, в языке отсутствуют циклы как таковые, но компилятор их генерирует. Интересно насколько быстро компилируются такие проекты в коммерческих масштабах?
Сало Украине, Героям Сала
Re[6]: [Голосование] Почему я не использую Nemerle
От: vpchelko  
Дата: 06.04.10 11:52
Оценка:
Здравствуйте, vpchelko, Вы писали:

V>Здравствуйте, Воронков Василий, Вы писали:


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


ВВ>>>>Хвостовая рекурсия разворачивается компилятором в цикл.

V>>>Не любым компилятором.

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

V>Оригинально, в языке отсутствуют циклы как таковые, но компилятор их генерирует. Интересно насколько быстро компилируются такие проекты в коммерческих масштабах?
Сам работаю на большом проекте написанного на С/С++. Часть на борланде, часть на MSVC + инсталер. Время полного сбора проекта 20-25 минут.
Сало Украине, Героям Сала
Re[6]: [Голосование] Почему я не использую Nemerle
От: Воронков Василий Россия  
Дата: 06.04.10 11:56
Оценка:
Здравствуйте, vpchelko, Вы писали:

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

V>Оригинально, в языке отсутствуют циклы как таковые, но компилятор их генерирует. Интересно насколько быстро компилируются такие проекты в коммерческих масштабах?

Думаю циклы разворачивать все же несколько менее затратно с т.з. времени, чем рекурсивные шаблоны.
Я не мерил время компиляции Немерле, но да, оно заметно ниже, чем у C#. Большие проекты не собирал. Спроси у Влада — у него есть большие проекты на Немерле, он может сказать цифры.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.