Re[16]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 21:38
Оценка: 2 (1)
Здравствуйте, Ziaw, Вы писали:

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


G>>Не, не пойму. Потому, что это — типичный DSL самоделкина, за который надо отрубать руки. С налетом CoffyScript, причем не по делу и на ровном месте, что усугубляет. Понятно одно — автору по какой-то причине не нравится plain.js (или он его элементарно не знает), и он пишет на ровном месте, где полагается быть ровному коду, непонятную хрень.


Z>А если это будет не налет, а обычный CoffeeScript? Который, вполне заточен под подобные DSL. Его использование тоже будет продиктовано незнанием plain.js?


Дружище. Если это будет обычный CoffyScript, то для него не понадобится делать никакого DSL под эту задачу.

Потому, что из CoffyScript ты просто воспользуешься тем же самым should.js (с вызовами уже в синтаксисе CoffyScript), без каких-либо его изменений. И опять-таки, никакого DSL не возникнет. Should.js не перестанет быть простой библиотекой на JS, а CoffyScript не превратится в DSL.

Понимаешь разницу? У меня в программе CoffyScript с его правилами, и у меня вызовы assert.js с теми же самыми правилами, которые я знаю, потому что CoffyScript. И мне не надо гадать, что означают эти внезапные и немотивированные вкрапления пробелов в мою программу в момент, когда я вижу что-то типа ассертов. Мне не надо переключать мозг. Я пишу CoffyScript, я читаю CoffyScipt. Без вкраплений какого-то странного говна.

И я могу сколько угодно чужих библиотек подрубить на CoffyScript или JS, и моя программа с их использованием все равно будет написана на одном языке, с едиными правилами чтения вызовов. Это очень важно. Для читающего чужой код, не свой. А это, в нашем мире, штатная ситуация. Понимаешь?

G>>А вот should.js понять элементарно, потому, что это, во-первых

G>>a) это plain JS, и, во-вторых...
G>>b) ...should is an expressive, readable, test framework agnostic, assertion library for node. А не какой-то там DSL от самоделкина.

Z>Это именно DSL от самоделкина. Причем этот самоделкин создает как раз языки.


Вот, добрались наконец. Пойми, это никакой не DSL. Это обычная библиотека на JavaScript. Вещи надо называть своими именами, не надо играть терминами. И сыпать баззвордами налево и направо. Слова — это не игрушки. Это вещи, которые значат что-то.

Вот эта хрень с пробелами вместо точек, которую привели выше — это DSL. А should.js — библиотека на JS.

Z>


Z>Я регулярно сталкиваюсь с подобными, вполне приличными DSL от самоделкиных. Достаточно документированными и понятными, в существование которых истово не верит Мамут.


Пройдись по моему чеклисту на два моих поста выше. Проверь по нему этот язык. Например, сообщество большое по этому языку?
Re[26]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 22:15
Оценка: :)
Здравствуйте, IT, Вы писали:

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


G>>Понятно. Менеджеры во всем виновыты. У них иррациональные страхи. Как это знакомо .


IT>Да ладно. Во всём виноваты только девелоперы. Менеджеров если и можно в чём-то винить, то только в нехватке времени для ухода за своими нимбами.


А в последнем виноват кто? Конечно, девелоперы. Таким образом, во всем виноваты девелоперы.
Re[24]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 22:22
Оценка:
Здравствуйте, IT, Вы писали:

G>>Метакод — он такой. Он дает "избранным" очень много власти. Слишком. И это очень нехорошо и опасно, когда такая власть оказывается в руках человека с ментальностью ребенка.


IT>Так проблема в том, что у тебя отбирают власть?


Конечно. Именно в этом.

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

Че-то другие рабочие и крестьяне на гитхабе не особо берут ваш метакод . Все больше предпочитают старый добрый С да новомодный JS.

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

Нет?
Re[24]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 22:35
Оценка:
Здравствуйте, VladD2, Вы писали:

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


G>>...Началось все с того, что они честно попытались развивать все на LISP. Однако, Грэхем не смог донести до команды прелесть своего ДСЛ, и в результате легко вошел в конфликт с командой, и обозвал их идиотами. Эти самородки — они так, гхм, нетерпеливы, и резки, да. Особенно когда становятся успешными мультимиллионерами...


VD>Обожаю читать плоды твоих телепатических способностей твоей фантазии. Живо, убедительно и красочно! Жаль только с реальностью имеет мало общего.


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

Вот помню, когда лет 7 назад ты здесь же доказывал мне, что С# рулез, а паттерн-матчинг и ФЯ полный отстой, не имеющий никакого отношения к реальности (а я приводил тебе в пример разные языки, и в первый раз на этом форуме упомянул Nemerle) — ты и тогда тоже гораздо круче, чем я, знал про реальность . Ну ни чудо ли .

ЗЫ: Охренеть, сколько все-таки лет я тебя знаю
Re[25]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 22:45
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Вот помню, когда лет 7 назад ты здесь же доказывал мне, что С# рулез, а паттерн-матчинг и ФЯ полный отстой, не имеющий никакого отношения к реальности (а я приводил тебе в пример разные языки, и в первый раз на этом форуме упомянул Nemerle) — ты и тогда тоже гораздо круче, чем я, знал про реальность . Ну ни чудо ли .


G>ЗЫ: Охренеть, сколько все-таки лет я тебя знаю


Влад, не семь. По ходу, скорее десять. Какие мы уже старые, правда?
Re[26]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 22:47
Оценка:
G>>Вот помню, когда лет 7 назад ты здесь же доказывал мне, что С# рулез, а паттерн-матчинг и ФЯ полный отстой, не имеющий никакого отношения к реальности (а я приводил тебе в пример разные языки, и в первый раз на этом форуме упомянул Nemerle) — ты и тогда тоже гораздо круче, чем я, знал про реальность . Ну ни чудо ли .

G>>ЗЫ: Охренеть, сколько все-таки лет я тебя знаю


G>Влад, не семь. По ходу, скорее десять. Какие мы уже старые, правда?


А прикинь, что будет еще через десять лет? Ничего ведь по сути не поменяется, Влад .
Re[14]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 23:03
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


G>>Так забавно. Ну никак не можешь ты удержать себя в технически рамках,

WH> Покажи в своих сообщениях хоть одну букву на техническую тему...

Не вопрос.

http://rsdn.ru/forum/philosophy/5097810.1
Автор: Gaperton
Дата: 12.03.13


Прочти код на J.

WH>Их там нет. Ни одной. Все что ты можешь это поливать грязью всех подряд.

WH>А когда разговор действительно переходит в техническую плоскость, ты сливаешь в 100% случаев.

Бла. Бла. Бла. Вентилятор выключен, WolfHound. Извини. Сам в дерьме.
Re[14]: Нарушение правил
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 23:19
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


G>>Так забавно. Ну никак не можешь ты удержать себя в технически рамках,

WH> Покажи в своих сообщениях хоть одну букву на техническую тему...
WH>Их там нет. Ни одной. Все что ты можешь это поливать грязью всех подряд.
WH>А когда разговор действительно переходит в техническую плоскость, ты сливаешь в 100% случаев.

И, кстати, ты только что нарушил правила форума. Пятый пункт. Нарушение выделено.

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


Нарушение в этот раз чистое, что делать будем?
Re[15]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: WolfHound  
Дата: 14.03.13 11:12
Оценка:
Здравствуйте, Gaperton, Вы писали:

WH>> Покажи в своих сообщениях хоть одну букву на техническую тему...

G>Не вопрос.
G>http://rsdn.ru/forum/philosophy/5097810.1
Автор: Gaperton
Дата: 12.03.13

G>Прочти код на J.
Прочти код на С
  Скрытый текст
#include                                     <math.h>
#include                                   <sys/time.h>
#include                                   <X11/Xlib.h>
#include                                  <X11/keysym.h>
                                          double L ,o ,P
                                         ,_=dt,T,Z,D=1,d,
                                         s[999],E,h= 8,I,
                                         J,K,w[999],M,m,O
                                        ,n[999],j=33e-3,i=
                                        1E3,r,t, u,v ,W,S=
                                        74.5,l=221,X=7.26,
                                        a,B,A=32.2,c, F,H;
                                        int N,q, C, y,p,U;
                                       Window z; char f[52]
                                    ; GC k; main(){ Display*e=
 XOpenDisplay( 0); z=RootWindow(e,0); for (XSetForeground(e,k=XCreateGC (e,z,0,0),BlackPixel(e,0))
; scanf("%lf%lf%lf",y +n,w+y, y+s)+1; y ++); XSelectInput(e,z= XCreateSimpleWindow(e,z,0,0,400,400,
0,0,WhitePixel(e,0) ),KeyPressMask); for(XMapWindow(e,z); ; T=sin(O)){ struct timeval G={ 0,dt*1e6}
; K= cos(j); N=1e4; M+= H*_; Z=D*K; F+=_*P; r=E*K; W=cos( O); m=K*W; H=K*T; O+=D*_*F/ K+d/K*E*_; B=
sin(j); a=B*T*D-E*W; XClearWindow(e,z); t=T*E+ D*B*W; j+=d*_*D-_*F*E; P=W*E*B-T*D; for (o+=(I=D*W+E
*T*B,E*d/K *B+v+B/K*F*D)*_; p<y; ){ T=p[s]+i; E=c-p[w]; D=n[p]-L; K=D*m-B*T-H*E; if(p [n]+w[ p]+p[s
]== 0|K <fabs(W=T*r-I*E +D*P) |fabs(D=t *D+Z *T-a *E)> K)N=1e4; else{ q=W/K *4E2+2e2; C= 2E2+4e2/ K
 *D; N-1E4&& XDrawLine(e ,z,k,N ,U,q,C); N=q; U=C; } ++p; } L+=_* (X*t +P*M+m*l); T=X*X+ l*l+M *M;
  XDrawString(e,z,k ,20,380,f,17); D=v/l*15; i+=(B *l-M*r -X*Z)*_; for(; XPending(e); u *=CS!=N){
                                   XEvent z; XNextEvent(e ,&z);
                                       ++*((N=XLookupKeysym
                                         (&z.xkey,0))-IT?
                                         N-LT? UP-N?& E:&
                                         J:& u: &h); --*(
                                         DN -N? N-DT ?N==
                                         RT?&u: & W:&h:&J
                                          ); } m=15*F/l;
                                          c+=(I=M/ l,l*H
                                          +I*M+a*X)*_; H
                                          =A*r+v*X-F*l+(
                                          E=.1+X*4.9/l,t
                                          =T*m/32-I*T/24
                                           )/S; K=F*M+(
                                           h* 1e4/l-(T+
                                           E*5*T*E)/3e2
                                           )/S-X*d-B*A;
                                           a=2.63 /l*d;
                                           X+=( d*l-T/S
                                            *(.19*E +a
                                            *.64+J/1e3
                                            )-M* v +A*
                                            Z)*_; l +=
                                            K *_; W=d;
                                            sprintf(f,
                                            "%5d  %3d"
                                            "%7d",p =l
                                           /1.7,(C=9E3+
                              O*57.3)%0550,(int)i); d+=T*(.45-14/l*
                             X-a*130-J* .14)*_/125e2+F*_*v; P=(T*(47
                             *I-m* 52+E*94 *D-t*.38+u*.21*E) /1e2+W*
                             179*v)/2312; select(p=0,0,0,0,&G); v-=(
                              W*F-T*(.63*m-I*.086+m*E*19-D*25-.11*u
                               )/107e2)*_; D=cos(o); E=sin(o); } }

Ты же знаешь синтаксис С. "Это же до хрена если вдуматься"...(С) Ты.

Всё что у тебя есть это демагогия и передергивание. Ты пытаешься доказать что бывают плохие ДСЛ. Ну да. Бывают. Кто бы спорил. Но код на обычных языках тоже бывает плохой.
И при этом ты пытаешься делать вид, что код на обычных языках всегда хороший. А на ДСЛ всегда плохой.

Короче очередной слив.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[15]: Нарушение правил
От: WolfHound  
Дата: 14.03.13 11:12
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>И, кстати, ты только что нарушил правила форума. Пятый пункт. Нарушение выделено.

хъ
G>Нарушение в этот раз чистое, что делать будем?
Где? Тут чистая констатация факта.
Каждый раз, когда дело переходит в техническую плоскость, ты испаряешься.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: WolfHound  
Дата: 14.03.13 11:18
Оценка: +2 -1
Здравствуйте, Gaperton, Вы писали:

G>Вот, добрались наконец. Пойми, это никакой не DSL. Это обычная библиотека на JavaScript.

Это embedded DSL

G>Вещи надо называть своими именами, не надо играть терминами. И сыпать баззвордами налево и направо. Слова — это не игрушки. Это вещи, которые значат что-то.

А это обычный С++.
template <typename Iterator>
struct mini_xml_grammar : qi::grammar<Iterator, mini_xml(), ascii::space_type>
{
    mini_xml_grammar() : mini_xml_grammar::base_type(xml)
    {
        using qi::lit;
        using qi::lexeme;
        using ascii::char_;
        using ascii::string;
        using namespace qi::labels;

        using phoenix::at_c;
        using phoenix::push_back;

        text = lexeme[+(char_ - '<')        [_val += _1]];
        node = (xml | text)                 [_val = _1];

        start_tag =
                '<'
            >>  !lit('/')
            >>  lexeme[+(char_ - '>')       [_val += _1]]
            >>  '>'
        ;

        end_tag =
                "</"
            >>  string(_r1)
            >>  '>'
        ;

        xml =
                start_tag                   [at_c<0>(_val) = _1]
            >>  *node                       [push_back(at_c<1>(_val), _1)]
            >>  end_tag(at_c<0>(_val))
        ;
    }

    qi::rule<Iterator, mini_xml(), ascii::space_type> xml;
    qi::rule<Iterator, mini_xml_node(), ascii::space_type> node;
    qi::rule<Iterator, std::string(), ascii::space_type> text;
    qi::rule<Iterator, std::string(), ascii::space_type> start_tag;
    qi::rule<Iterator, void(std::string), ascii::space_type> end_tag;
};
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Tanker  
Дата: 14.03.13 12:12
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Причины переписывания и его последствия озвучены самим Грэхемом в том же 2003 году:

VD>http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02367.html
VD>

VD>(a) The reason they rewrote it was entirely that the
VD>current engineers didn't understand Lisp and were too
VD>afraid to learn it.

VD>Другими словами основной причиной явился сам Лисп и его незнание работниками Яху.

Сам подумай, Яха предпочла ждать 6 лет, вместо того, что бы быренько нахватать лисперов и поднять этот проект. Похоже, 6 лет простоя оказались дешевле лиспа.
The animals went in two by two, hurrah, hurrah...
Re[17]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.03.13 12:48
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Влад. Совершенно не важно, на чем он написан. Дело не в этом.


По большому счету — да. Дело в том, что причина переписывания была не ДСЛ, и даже макросы. Так что телепатор тебя подвел на этот раз.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Ziaw Россия  
Дата: 14.03.13 12:58
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>И я могу сколько угодно чужих библиотек подрубить на CoffyScript или JS, и моя программа с их использованием все равно будет написана на одном языке, с едиными правилами чтения вызовов. Это очень важно. Для читающего чужой код, не свой. А это, в нашем мире, штатная ситуация. Понимаешь?


Ты зря цепляешься к вызовам. То, что .have это свойство объекта, который хранится в свойстве .should чего-то там еще, тебе не дает никакой полезной инфы. Кстати, в CoffeeScript тебе все равно придется ставить точки либо писать обертку, которая позволит писать с пробелами.

G>Вот, добрались наконец. Пойми, это никакой не DSL. Это обычная библиотека на JavaScript. Вещи надо называть своими именами, не надо играть терминами. И сыпать баззвордами налево и направо. Слова — это не игрушки. Это вещи, которые значат что-то.


Это embedded DSL, как выше уже заметили. Там специальные, костыльные свойства в объектах, созданные не для того, чтобы хранить нужные данные, а для того, чтобы позволить писать легко читаемый код. Эти костыли создают грамматику данного DSL.

G>Вот эта хрень с пробелами вместо точек, которую привели выше — это DSL. А should.js — библиотека на JS.


Почему оно одновременно не может быть и DSL и библиотекой?

G>Пройдись по моему чеклисту на два моих поста выше. Проверь по нему этот язык. Например, сообщество большое по этому языку?


А я знаю? Я о нем от тебя узнал.
Re[16]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Tanker  
Дата: 14.03.13 13:11
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тот, написанный на С++ и Перле, сдох. "Yahoo! Small Business" это совсем другой продукт. Если не ошибаюсь написан в основном на Яве Яваскрипте. И на сегодня не имеет ничего выдающегося. Аналогичных сервисов хватает. 1996-ом ViaWeb был уникален и прожил сильно дольше своего С++-анлога.


Продукт другой, а бизнес тот же.
The animals went in two by two, hurrah, hurrah...
Re[24]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Tanker  
Дата: 14.03.13 13:44
Оценка: :)
Здравствуйте, IT, Вы писали:

G>>Метакод — он такой. Он дает "избранным" очень много власти. Слишком. И это очень нехорошо и опасно, когда такая власть оказывается в руках человека с ментальностью ребенка.


IT>Так проблема в том, что у тебя отбирают власть?


Не власть отбирают, а ответсвенность и обязанности начинают распределяться случайным образом, что как правило приводит к
1. потеря времени-денег для бизнеса
2. Уход девелоперов, что означает потерю экспертизы у исполнителя
3. Головняк у менеджеров которые обязаны предотвратить 1 и 2
У Яхи именно это и произошло. Потеряли 6 лет, девелоперы ушли ибо мультимиллионеры, а значит яха потеряла экспертизу.
Судя по тому, что позже под продукт приспособили джаву, скачки на с++ и джаву оказались дешевле лиспа.
Пойми простую вещь — технарей можно удержать не языком и большой ЗП, а технической сложностью. При этом в крупных компаниях 30-80 задач это т.н. простая работа, то есть майнтенанс и суппорт. Эта простая работа должна быть максимально дешовой. Джава это обеспечивает — толпы индусов могут справляться с такой работой. А лисп — нет, не обеспечивает. И метапрограммирование не обеспечивает. При этом техническая сложность есть только на стартапе, дальше проект ничего не дает девелоперу. Учитывая, что майнтенанс и суппорт по совокупным расходам превышают бюджет стартапа в разы а бывает и десятки раз, то оказывается, что держать "стартаперов" на майнтенансе во первых дорого, во вторых из за отсутсвия технической сложности это просто бессмысленно.
Хочешь поспорить — покажи дешовый в майнтенансе проект, в котором вовсю используется метапрограммирование и который при этом сменил команду хотя бы один раз.
The animals went in two by two, hurrah, hurrah...
Re[18]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Tanker  
Дата: 14.03.13 13:54
Оценка: :)
Здравствуйте, Ziaw, Вы писали:

Z>Ты зря цепляешься к вызовам. То, что .have это свойство объекта, который хранится в свойстве .should чего-то там еще, тебе не дает никакой полезной инфы. Кстати, в CoffeeScript тебе все равно придется ставить точки либо писать обертку, которая позволит писать с пробелами.


Наоборот, дает и очень много. Новички очень долго таращат глаза когда видят ДСЛ, очень медленно вникают, еще медленнее начинают использовать, и уж совсем медленно пробуют расширять(если вообще берутся за это). А вот слепить хак и обойти ДСЛ — почему то все делается очень быстро. Как то так бывает, что проект заканчивается раньше, чем эти новички вкуривают весь бекграунд который лежит за ДСЛ. это можно отчасти переложить на инструменты, но похоже, Н2 выйдет не раньше чем лет через 5, а взлетит лет 10(судя по тому что Н1 еще не взлетел), то про эти радужные перспективы можно просто забыть.
То есть, новичку, который знаком с C#(JS и тд), простой тривиальный код на нем на порядки понятнее ДСЛ.
The animals went in two by two, hurrah, hurrah...
Re[19]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Ziaw Россия  
Дата: 14.03.13 14:07
Оценка:
Здравствуйте, Tanker, Вы писали:

Z>>Ты зря цепляешься к вызовам. То, что .have это свойство объекта, который хранится в свойстве .should чего-то там еще, тебе не дает никакой полезной инфы. Кстати, в CoffeeScript тебе все равно придется ставить точки либо писать обертку, которая позволит писать с пробелами.


T>Наоборот, дает и очень много. Новички очень долго таращат глаза когда видят ДСЛ, очень медленно вникают, еще медленнее начинают использовать, и уж совсем медленно пробуют расширять(если вообще берутся за это).


Очень много чего дает? Ты же не говоришь новичкам, что .should возвращает объект, который имеет свойство .have. Ты им говоришь, что нужно писать точка should точка have, только так и никак иначе. Это ничем не отличается от того, что ты им скажешь, что писать надо пробел should пробел have. Конкретно эта точка — дает тебе лишь иллюзию понимания.

Еще в статически типизированных языках я бы понял, там интелисенс помогает. Но в JS-то мы его все равно не имеем.
Re[25]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: IT Россия linq2db.com
Дата: 14.03.13 15:27
Оценка:
Здравствуйте, Gaperton, Вы писали:

IT>>Так проблема в том, что у тебя отбирают власть?

G>Конечно. Именно в этом.
G>Нет?

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

А если серьёзно, то есть вещи, в которых, конечно же, должен принимать участие менеджер, а разработчик должен предоставить ему выбор. Например, решение на макросах — условно, месяц, решение без макросов — три. Выбирай, родной.
Если нам не помогут, то мы тоже никого не пощадим.
Re[25]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: IT Россия linq2db.com
Дата: 14.03.13 15:39
Оценка:
Здравствуйте, Tanker, Вы писали:

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


Таких проектов тысячи. Шаблоны в плюсах, ASP.NET MVC, T4 templates, миллиарды доморещенных кодогенераторов, System.Reflection.Emit, System.Linq.Expressions и построенные на них библиотеки вроде BLToolkit — это всё метапрограммирование. Оно вокруг нас везде и повсюду. Нужно очень сильно хотеть, чтобы этого не видеть. Примеры DLS-ей, которые используются всеми повсеместно приводить?
Если нам не помогут, то мы тоже никого не пощадим.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.