Re[2]: Способно ли метапрограммирование заменить отдельные я
От: Chrome  
Дата: 08.02.11 15:31
Оценка:
Здравствуйте, Lloyd, Вы писали:


L>Неужели пример сопоставления Linux-а и Mac OS вас не навел ни на какие мысли. Конструктор "собери сам" (Linux) никогда не будет лучше, чем тщательно спроектированная система (Mac OS). Так же и с языками.


Ну, если опускаться до такого уровня аргументации,
вот вам другая аналогия:
Перед вами на выбор
1) столовка с комплексным обедом, где комплексный обед в роли "тщательно спроектированной системы"
то есть все выбрали за вас.
2) ресторан — где блюда можно выбрать самому (тот самый конструктор)

чем предпочтете воспользоваться?
Re[3]: Способно ли метапрограммирование заменить отдельные я
От: Lloyd Россия  
Дата: 08.02.11 16:08
Оценка: +1
Здравствуйте, Chrome, Вы писали:

C>Ну, если опускаться до такого уровня аргументации,

C>вот вам другая аналогия:
C>Перед вами на выбор
C> 1) столовка с комплексным обедом, где комплексный обед в роли "тщательно спроектированной системы"
C> то есть все выбрали за вас.
C> 2) ресторан — где блюда можно выбрать самому (тот самый конструктор)

Можно создать самому. Не путайте 2 вещи.

C>чем предпочтете воспользоваться?


Конечно же первое. Ниже — объяснение.

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

Вам — приятного аппетита, а я как-нибудь стандартным пюре с котлетой обойдусь. С компотом.
Re[5]: Способно ли метапрограммирование заменить отдельные я
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.02.11 23:55
Оценка: +1
Здравствуйте, night beast, Вы писали:

NB>исходник

NB>если вдруг надумаешь читать, вышлю перевод русский (djvu).

Давай.

VD>>А что там такого не обычного? Вот это не похоже на то о чем ты говоришь?


NB>на книгу конечно не тянет, но да, что-то похожее на это.


Ну, так там пока три главы из задуманных шести. Плюс еще должен быть раздел вроде мануала геде будет описание фич и короткие примеры.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Способно ли метапрограммирование заменить отдельные
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.02.11 23:59
Оценка:
Здравствуйте, Ziaw, Вы писали:

VD>>Ну, на фиг платить двадцати мудакам по 20 тасяч, когда можно заплатить 100 т.р., но одному-двум программистам?


Z>Конечно потому, что эффект кирпича пугает.


Сдается мне, что если бы народ был бы по смелее и тупо поддержал бы проект, то и эффекта этого бояться бы не пришлось.

Я хоть сейчас сколочу команду человек из 4-5 которая будет работать очень шустро и качественно. Были бы деньги.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Способно ли метапрограммирование заменить отдельные
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.11 00:09
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

VD>>Ага представил. Вот как-то ради разнообразия написал свой велосипедик:

VD>>http://code.google.com/p/nemerle/source/browse/nemerle/trunk/snippets/Nemerle.Xml/Test/Main.n
VD>>В МС аналог (Рэзор) писали 10 лет. Мне потребовалось неделя. Причем мое решение гибче. Только привязано к немерлу.

EOH>Ну так таких как ты много не наймешь


Ошибайся. Я глупее, ленивее и необразованность очень многих из тех кто здесь отстаивает Немерл (да и из тех кто ему противостоит). Но у меня есть дни талант. Я четко чую, что перспективно, а что является сиюминутной фигней. И еще я упорный (не смотря на мою лень).

Макрос подобный Nemerle.Xml сможет сделать 70% тех кто называет себя программистами (после не продолжительного обучения и тренировки).

EOH>>> Без хорошей документации,

VD>>Лучше хороший ДСЛ без документации, нежели лобовое решение без нее же (да и с ней не всегда лучше).

EOH>Так хороший еще сделать надо .


Ага. А ты думаешь, что хороший код легче написать?
Тут есть одна проблема — отсутствие должной методологии. Но это дело тоже наживное.


EOH>>>с кучей написанного слабыми программистами кода

VD>>Слушай, уволь ты их, а.

EOH>И делать все одному?


Не уж то на всей Руси матушке нет нормальных программистов?

EOH>>> (потому что бюджет нерезиновый, а высококлассных программистов мало и хотят они много)

VD>>Ну, на фиг платить двадцати мудакам по 20 тасяч, когда можно заплатить 100 т.р., но одному-двум программистам?

EOH>Проблема высококлассных спецов не только в том, что они берут больше за свои услуги. Им потом замену гораздо труднее искать . Тоесть когда уходит человек на 50-60, можно достаточно легко найти замену. Когда уходит человек на 100 — найти замену гораздо труднее.


Ну, держать их надо! Они же куда эффективнее нежели тех что 50-60.

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

Но на мой взгляд проще взять двух хороших спецов которые написали бы проект за 10 обезьяно. К обезьянок брать на оставшиеся рутинные оператора. Двое человек будут страховать друг друга (уйдет один, другой сможет подготовить им смену). Плюс еще поставить условие, что уход только через 2-4 месяца при условии подготовки смены.

EOH>>> и, что самое обидное — без Васи Пупкина, потому что в Яндекс ушел . Представили? И вам в такой проект нужно нанять двоих человек, потому что бизнес и надо решать задачи.

VD>>Я смотрю у тебя прямо этот яндекс больной вопрос.

EOH>У меня туда уходили


Сочувствую.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Способно ли метапрограммирование заменить отдельные я
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.11 00:19
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

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


Это приятно слышать. Обычно противники МП и макросов уверены в своих словах на 120%.

EOH>а) Программист среднего уровня не сможет понять, когда это действительно необходмо. А на рынке, увы, проще нанять среднего уровня, нежели высокого. Поэтому я стараюсь просто так в руки DSL никому не давать ^_^.


Ну, очень хорошего спеца найти и правда трудно. Но просто не идиота все же можно. А тут важно именно чтобы человек был не идиот.

EOH>б) Увы, мало кто может тщательно продумать и спроектировать DSL.


Я вот уверен, что зачастую спроектирвоать то сам ДСЛ могут (определить что в нем должно быть и т.п.), а вот реализовать — нет. Но вот тут то встает вопрос на чем реализуется этот самый ДСЛ. Нужны хорошие инструменты и хорошая методологическая база. Тогда все будет ОК.

Немерел 1 уже не плохой интрумент. Немерле 2 будет просто, что называется, супер-тул для ДСЛ-естроителей. Мы упростим создание даже сложных синтаксических конструкций и повысим возможности расширения синтаксиса. Так же я постараюсь сделать ряд статей по методике разработки ДСЛ-ей.

Думаю в итоге получится очень простой в использовании ДСЛ-естроительный язык который снимет проблему сложности создания и поддержки ДСЛ-ей.

EOH>На мой взгляд, плохо спроектированный DSL страшнее плохо спроектированного кода .


А на мой — одна фигня. Наворотить можно и без ДСЛ-ей.

EOH>Конечно. Я же не могу позволить себе нанимать только высококлассных программистов .


Думаю, ты переоцениваешь требования к таким программистам.

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


Вот это проблема! Куда страшнее и важнее нежели найти программистов способных создавать и поддерживать ДСЛ-и.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Способно ли метапрограммирование заменить отдельные
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.11 00:21
Оценка:
Здравствуйте, FR, Вы писали:

VD>>АААААААААА!!! (рвет волосы на голове) И эти люди говорят что Лисп или Немрле сложный?!!!


FR>Да нет там ничего страшного, близко к лиспу.


О чем ты? Ты же привел пример с голимым ручным формированием АСТ!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Способно ли метапрограммирование заменить отдельные
От: IT Россия linq2db.com
Дата: 09.02.11 01:02
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Плюс еще поставить условие, что уход только через 2-4 месяца при условии подготовки смены.


Может сразу в кандалы и на галеры?
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: Способно ли метапрограммирование заменить отдельные
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.11 01:23
Оценка:
Здравствуйте, IT, Вы писали:

VD>>Плюс еще поставить условие, что уход только через 2-4 месяца при условии подготовки смены.


IT>Может сразу в кандалы и на галеры?


2 месяца — это КЗОТ-у. А там его проблемы. Не хочет хорошую зарплату получать, пусть ищет другое место.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Способно ли метапрограммирование заменить отдельные
От: Lloyd Россия  
Дата: 09.02.11 01:32
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Может сразу в кандалы и на галеры?


VD>2 месяца — это КЗОТ-у.


КЗОТ уже не действует, в Трудовом Кодексе — 2 недели.
Re[11]: Способно ли метапрограммирование заменить отдельные
От: FR  
Дата: 09.02.11 05:42
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>Да нет там ничего страшного, близко к лиспу.


VD>О чем ты? Ты же привел пример с голимым ручным формированием АСТ!


Там пример отвечающий на твое утверждение

За Питон не скажу, а в руби чтобы сгенерировать код (т.е. вычисления) есть только один способ — конкатенация строк.


и показывающий что в питоне легко генерировать код не строками.
Ну и реально чтобы использовать этот модуль не нужно ручками формировать AST.
Re[4]: Способно ли метапрограммирование заменить отдельные я
От: i1yich  
Дата: 26.02.11 23:28
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>более понятен нежели:

VD>
VD>          surroundwith (write_lock)
VD>            foreach(kv in range)
VD>              hashtable.Add(kv.Key, kv.Value);
VD>


Кстати, по поводу изоляции применения этого макроса, вот это определение write_lock и read_lock, оно действует только на файл или целиком на сборку?
[assembly: DefineSurround("read_lock", true, locker.EnterReadLock(), locker.ExitReadLock())]
[assembly: DefineSurround("write_lock", true, locker.EnterWriteLock(), locker.ExitWriteLock())]
Re[5]: Способно ли метапрограммирование заменить отдельные я
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.11 00:47
Оценка:
Здравствуйте, i1yich, Вы писали:

I>Кстати, по поводу изоляции применения этого макроса, вот это определение write_lock и read_lock, оно действует только на файл или целиком на сборку?

I>
I>[assembly: DefineSurround("read_lock", true, locker.EnterReadLock(), locker.ExitReadLock())]
I>[assembly: DefineSurround("write_lock", true, locker.EnterWriteLock(), locker.ExitWriteLock())]
I>


На проект.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.