Re[2]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.12.08 14:25
Оценка: +1
Здравствуйте, IT, Вы писали:

AVK>>1) На практике я наблюдаю, что даже новые стандартные фичи языка используются очень и очень неспешно и с неохотой. Даже итераторы, которые еще в 2004 году появились, у многих вызывают изумление.


IT>Инженер, который не знает инструмента, с которым он работает, не может эффективно выполнять свои функции в принципе. С программистами, которые не хотят изучать новые технологии или даже противятся этому, рано или поздно начинаются проблемы из серии "тупой дизайн, кривой код".


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

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


Да, это хороший подход. Работает исключительно в коммандах из топ-разработчиков.

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

IT>В промышленном программировании любой более менее серьёзный проект включает в себя фреймворк или библиотеку с общими компонентами. Это позволяет элементарно увеличить эффективность за счёт повторного использования кода. Использование макросов абсолютно ни чем не отличается от использования общих компонент, а в большинстве своих проявлений даже не отличимо визуально. И даже синтаксические макросы, которые не так часто и требуются, не сложнее в освоении, чем любая функция из библиотеки.


Это тебе кажется, что не сложнее. А реально — много сложнее. Примерно на порядок.

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

Во второй раз я решил проблему радикально — отказался от макросов и изменил фреймворк так что мои фичи использовались безо всякого геморроя.

IT>Главная проблема при изучении нового не в запоминании названия функций и конструкций языка. Главная проблема в освоении новых концепций. Тот же yield return не сложно запомнить, гораздо сложнее разобраться с ленивостью.


На этом срубается примерно 90% разработчиков, а остальные 10% рассматривать как целевую аудиторию для новых технологий как минимум несерьезно.

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


Сложности нет. Сложность в людях.

IT>А про правку сгенерированного кода и железной линейкой по пальцам тут уже сказали. И я с этим полностью согласен, т.к. встречался с таким баранизмом на практике.


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

IT>По первому пункту я уже всё сказал. Это не сложнее, чем использование классов, методов и атрибутов. Сложность не в макросах, сложность в концепциях, которые они реализуют. Но это в равной степени относится и к тем же классам, методам и атрибутам.


Это справедливо только для разработчиков топ-уровня.
Re[4]: Что меня не устраивает в МП в Nemerle
От: Lloyd Россия  
Дата: 27.12.08 14:27
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это потому, что генератор создавался средствами для этого не заточенными. Макросы поддерживать наного проще.

VD>В прочем, всегда есть задачи которые можно решить с помощью МП, но не нужно.

А можно я вклинюсь в беседу высоких мужей и задам оч. приземленный вопрос?
Предположим, что в код вкралась ошибка.
Если мы писали весь код руками или часть его была сгенерирована с помощью чего-то типа DSL Tools или t4, то локализовать ошибку будет не очень сложно, достаточно запустить отладчик и повторить сценарий, приводящий к ошибке.
А как быть в том случае, если использовали макросы немерле? Исходника-то как такового нет.
Re[8]: Что меня не устраивает в МП в Nemerle
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.12.08 14:31
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Я описывал, что меня не устраивает. Расширяемость компилятора, возможность сравнительно быстро реализовывать конструкции языка, удобство генерации кода — все это претензий у меня не вызывает.
... << RSDN@Home 1.2.0 alpha 4 rev. 1132 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[6]: Что меня не устраивает в МП в Nemerle
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.12.08 14:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>Вот это, наверно, корень всего твоего не понимания.


AVK>>Я просил мою персону не обсуждать здесь. Это так сложно?


VD>Я обсуждаю твои словам которые считаю полнейшим заблуждением.


Ты обсуждаешь мое понимание.

VD> Научисть воспринимать критику своих слов конструктивно.




VD> Иначе с тобой нельзя будет ни о чем говорить.




AVK>>Я не про использование, я про его написание.


VD>А причем тут написание?


В исходном топике все есть. Главное — рассматривать все последовательно, а не тасовать мои слова как удобно

VD> Ты же говорил об использовании.


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

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


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

VD> Для эффетивновго использования МП нужно иметь скилы в МП


Я их, видимо, не имею? Или к чему это?

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


А чего признавать то? Я обратного и не утверждал? Ты с кем споришь?
... << RSDN@Home 1.2.0 alpha 4 rev. 1132 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[6]: Что меня не устраивает в МП в Nemerle
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.12.08 14:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Уверен, что у тебя просто не было достаточного опыта


Дисклеймер, п.3

VD> Все думаю, что все в нем понимаю, но реально в нем понимают еденицы.


Прекрасное подтверждение того, о чем я писал.

AVK>>Потому что на моих задачах, уж так получается, первое встречается намного чаще.


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


Допускаю. Но точно так же допускаю, что не ошибался.
... << RSDN@Home 1.2.0 alpha 4 rev. 1132 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[5]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.12.08 14:35
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>А можно я вклинюсь в беседу высоких мужей и задам оч. приземленный вопрос?

L>Предположим, что в код вкралась ошибка.
L>Если мы писали весь код руками или часть его была сгенерирована с помощью чего-то типа DSL Tools или t4, то локализовать ошибку будет не очень сложно, достаточно запустить отладчик и повторить сценарий, приводящий к ошибке.
L>А как быть в том случае, если использовали макросы немерле? Исходника-то как такового нет.

Макросы могут генерировать текст на который отображается отладочная информация.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.12.08 14:37
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>По этой причине людям стараются дать технологии, которые не отнимают времени на освоение.


Хороший пример тому каменный молоток и современный станок с ЧПУ?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Что меня не устраивает в МП в Nemerle
От: Lloyd Россия  
Дата: 27.12.08 14:41
Оценка: +1
Здравствуйте, VladD2, Вы писали:

L>>А как быть в том случае, если использовали макросы немерле? Исходника-то как такового нет.


VD>Макросы могут генерировать текст на который отображается отладочная информация.


Могут или генерируют?
Есть ли средства, позволяющие отследить, каким именно макросом был сгенерирована та или иная строчка?
Какой код генерируют? Если даже элементарные конструкции for/foreach/etc. — суть макросы, то будет ли этот конечный код читаемым?
Re[7]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 14:52
Оценка:
Здравствуйте, Lloyd, Вы писали:

VD>>Макросы могут генерировать текст на который отображается отладочная информация.


L>Могут или генерируют?

L>Есть ли средства, позволяющие отследить, каким именно макросом был сгенерирована та или иная строчка?

Здравая мысль
К Владу: Может необходимо предусмотреть дебаг и релиз режимы для макросов?
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[4]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.12.08 15:07
Оценка:
Здравствуйте, VladD2, Вы писали:

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


I>>По этой причине людям стараются дать технологии, которые не отнимают времени на освоение.


VD>Хороший пример тому каменный молоток и современный станок с ЧПУ?


Да. Технологии в разработке ПО это нечто, позволяющее вовлечь в процесс как можно 1 больше безграмотных людей и 2 в минимально возможное время и дабы 3 результат они рожали обратно в минимально возможное время.

Т.е. экономится время в кубе.

Поскольку в процесс вовлекаются безграмотные люди, стало быть проверять технологии надо именно на них.

А IT вот радикально подошел — раз безграмотные, значит гнать в три шеи.

И твоя позиция, кстати говоря, ничем от IT не отличается.

С новым инструментом надо решать вопрос — почему им смогут пользоваться дебилы.

Если ты не можешь ответить на этот вопрос в плане Немерле — извини, ты не понимаешь, что такое прогресс.

Не надо рассказывать, что де сложность конструкцый де одинаковая и тд и тд.

Большинство людей на собеседовании (C# .Net 2.0) не знают про

виртуальные методы
индексеры
итераторы
эвенты (add и remove многих убивает наповал)
и много чего еще.

При чем, бывает, люди уверены в том, что все эти конструкции я сам и придумал.

где тут разница в сложности — понятия не имею, может быть просто объем знаний у каждого разный и скорость пополнения оного разная.

С какого бодуна они станут твой Неммерле осваивать — неясно.

А между тем, см. выше, без малого, 100% софта пишут безграмотные специалисты.

Итого — Немерле узкоузкоузконишевой инструмент.

Пока что получается так — Немерле у специалистов уровня АВК и ниже вызывает реакцию отторжения и требует гигантских временно-денежных затрат на подавление оной реакции.
Re[5]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 15:22
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>С новым инструментом надо решать вопрос — почему им смогут пользоваться дебилы.


"Дебилы" не смогут писать макросы, но они могут их использовать. В чем сложность использования макроса $ или foreach?
Не знаешь как писать? Пиши как на C# — hi_octane здесь
Автор: hi_octane
Дата: 27.12.08
доступно все описал.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[2]: Что меня не устраивает в МП в Nemerle
От: Mike Chaliy Украина http://chaliy.name
Дата: 27.12.08 15:27
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Осло — это вообще мутант предлагающий писать внешние ДСЛ-и на основе ХМЛ и весьма странных средств трансформации.


В Осло пока нет встроенной потдержки ХМЛ дслек...
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
А тут я живу и пишу...
Re[6]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.12.08 15:36
Оценка:
Здравствуйте, alvas, Вы писали:

I>>С новым инструментом надо решать вопрос — почему им смогут пользоваться дебилы.


A>"Дебилы" не смогут писать макросы, но они могут их использовать. В чем сложность использования макроса $ или foreach?


Т.е. VladD2 понаписывает макросов на все случаи жизни ?

Я в это не поверю.
Re[3]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.12.08 15:48
Оценка:
Здравствуйте, hi_octane, Вы писали:

M>>Проблема немерле в том, что изумительная красота макросов пока никак не конвертируется в деньги.


_>Каждый свою success story имхо сам должен делать.


Ага, должен Это слово чаще всего встречается, когда речь идеть о хилых инструментах, всегда находятся отношения долженствования.

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


На практике надо посадить на немерле не только всю комманду, но и людей, которые потенциально могут стать частью этой комманды.

При этом надо будет показать, что производительность труда на голову выше чем у конкурентов.
Re[4]: Что меня не устраивает в МП в Nemerle
От: IB Австрия http://rsdn.ru
Дата: 27.12.08 15:52
Оценка: 8 (1)
Здравствуйте, VladD2, Вы писали:

VD>Кого я задрал?

Меня.

VD>С начало не плох было бы продемонстрировать демагогию в моих словах.

Например, в ответ на описание того как AVK использует DSL, ты примотался к определению DSL, хотя собственно про определение DSL речь вообще ни шла, да и не интересно оно. Вообще, в целом, твой ответ напоминает анекдот про студента выучившего только билет про блох.

VD>Это не аргумент.

Для меня — аргумент.

VD> Запрети в своей конторе их использовать или дай разрешение на их введение только определенным лицам (т.е. себе любимому) и проблема исчезнет как класс.



VD>К тому же вам сто раз говрили люди которые все это используют на практике — нет проблем от синтаксических макросов.

На это сто раз уже отвечали, пойдем по кругу?

VD>Андрей просто неверно трактует термины встроенный DSL и мета-программирование. Об этом я и говорил.

Даже если это и так, то речь идет не о терминах. Все прекрасно поняли что именно он делает и почему для этого не годится Nemerle.
Если ты не согласен — у тебя есть два варианта:
1. Объяснить AVK, что на самом деле Nemerle для этого годится.
2. Объяснить AVK, для чего еще мог бы пригодится Nemerle в его задачах, тем более, что ты о них знаешь.
Вместо этого ты домотался до терминологии, что совершенно не существенно в данном контексте, это и называется — прикладная демагогия.

VD>Да, и это нужно четко понимать если уж ты взял на вооружение ДСЛ-подход.

VD>Ты не сужаешь и не расширяшь базовый язык.
Отлично. Ну, а AVK надо именно сузить, а нерасширить => Nemerle здесь не подходит, о чем он и написал.
Таким образом, мы выяснили, что AVK, знал о чем писал и правильно оценил возможности Nemerle. Как следствие, твои наезды совершенно беспочвенны, хотя возможно используемая терминология ввела тебя в заблуждение.

VD>Неужели это плохо?

Возможно хорошо, просто AVK это не нужно или не устраивает из-за побочных эффектов.

VD> Я говорю, что он намерено или нечаянно опускает из рассмотрения вещи с которыми он (по всей видимости) не может конструктивно спорить.

Он упускает из рассмотрения вещи, которые есму не нужны в его работе, о чем было ясно сказано.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Мы уже победили, просто это еще не так заметно...
Re[3]: Что меня не устраивает в МП в Nemerle
От: yumi  
Дата: 27.12.08 16:13
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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

I>Во второй раз я решил проблему радикально — отказался от макросов и изменил фреймворк так что мои фичи использовались безо всякого геморроя.

Макросов на чем? Отказались по какой причине?
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[6]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.12.08 16:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Уверен, что у тебя просто не было достаточного опыта в написании макросов. Не знаю к щастью ли, или к горю, но для написания не тривиальных макросов требуется немалый опыт. Он легко получается при работе в паре с более опытным (в этом аспеке) коллегой, но самому его прийдется нарабатывать годами. Это как ОО-дизайн. Все думаю, что все в нем понимаю, но реально в нем понимают еденицы.


К горю разумеется.

Технология(инструмент) должна избавить людей от кода, который ты хочешь переложить на макросы.
Re[4]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.12.08 16:31
Оценка:
Здравствуйте, yumi, Вы писали:

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

I>>Во второй раз я решил проблему радикально — отказался от макросов и изменил фреймворк так что мои фичи использовались безо всякого геморроя.

Y>Макросов на чем? Отказались по какой причине?


Не важно на чем, макросы похожи на coroutines. Отказался потому что люди их не использовали, сколько бы я ни объяснял.
Re[7]: Что меня не устраивает в МП в Nemerle
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 27.12.08 16:39
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>С новым инструментом надо решать вопрос — почему им смогут пользоваться дебилы.


A>>"Дебилы" не смогут писать макросы, но они могут их использовать. В чем сложность использования макроса $ или foreach?


I>Т.е. VladD2 понаписывает макросов на все случаи жизни ?


А что, Nemerle уже стал авторским проектом Влада и, при этом, Влад оставил за собой исключительное право разработки макросов?

Кроме того, если у разработчика возникнет понимание МП в Nemerle (а иначе как он придет к желанию покрыть макросами все его возможные потребности?), то он уже вполне может считаться "недебилом" и начать потихоньку писать их самостоятельно.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[7]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.12.08 16:44
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:


I>Т.е. VladD2 понаписывает макросов на все случаи жизни ?


То есть, VladD2 не дебил, а это значит что он может написать мокросы которые нужны ему и другим.
Но это не значит, что только VladD2 не дебил. Таких людей много, а значит много кто сможет писать макры.
Скажем много кто пишет мета-код на основе шаблонов С++, но это ужасно сложно и неудобно. Но люди пишут. Писать мары на Немерле в сто раз проще. И значит их смогут писать куда большее число людей чем мета-код на С++ (например).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.