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

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


Z>Я этого не говорил. Видимо тебе просто захотелось это услышать.


Не, не хочется. Я специально и вполне сознательно утрирую.

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

Так как это выстрел наощупь, возможно, он ушел в молоко. А может быть, и нет. Тебе совершенно необязательно давать мне это понять.
Re[12]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 12.03.13 21:22
Оценка: +4 :)
Здравствуйте, Ziaw, Вы писали:

G>>Обычная логика говорит мне, что если бы этот код состоял из конструкций самоделкина, в котором я ищу ошибку, то доверять в нем нельзя ни единому слову. Например, LessThan может на деле в ряде ситуаций означать LesserOrEqual, или того хуже.


Z>Итак, проблема все таки не в DSL, а в самоделкине? Так с этим я и не спорил.


Не-не, ты не до конца понимаешь. Проблема в языке, написанном самоделкиным. А не в самом самоделкине.

Дело в том, что для общеизвестных языков есть:
1) Какой-никакой стандарт языка. Де-факто, либо публичный, либо таки стандарт.
2) Следующая из этого — стабильность языка. Ты знаешь, что пока ты его изучаешь — никакой самоделкин, проявляя свою свободу воли, его просто так не поменяет, так, что у тебя нахрен все отвалится. То есть, что твои инвестиции в образование (а к изучению нового языка следует относится именно так) — имеют небольшой риск, и прибыльны (то есть, знания языка имеют некоторую ценность за пределами одной системы и компании).
3) Я сказал про инвестиции не зря. Потерянные деньги можно обратно заработать или отыграть. А потраченное время вернуть нельзя. Время — самая ценная валюта, глупо тратить его на ерунду.
4) Следующая из (2) — наличие учебников.
5) Следующее из (2) — надежда на определенное качество платформы, она закрыта тестами.
6) И the last but not least — наличие широкого сообщества в сети и в реальной жизни, в котором ты не только можешь задать вопрос, но и получить на него содержательный ответ.

Много это, или мало? А неважно.

Главное, что всего этого ты лишен, контактируя с мега-DSL за авторством самоделкина.

G>>Чтобы ты прочувствовал, насколько это много — скажи мне, что тебе говорит вот этот код:

G>>Нет, это вовсе не язык непонятный. И программа вполне хорошо написана. Единственная проблема в том, что ты (скорее всего) читать его не умеешь — не надо путать это собственным невладением языком. Однако, эта проблема довольно просто решается — по J все-таки есть "учебники".

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


Ты себя, право, недооцениваешь. Ты способен разобраться в этом коде за 20 минут. Ставлю две кружки пива к одной.
http://dr-klm.livejournal.com/42312.html

J есть наследник APL (который был с греческими символами, не ложащимися на ASCII-клавиатуру), и это так называемый комбинаторный язык. Все очень просто, просто очень необычно. Проверишь? Я не обманываю.

Z>>>Несмотря на синтаксис C#, это обычный DSL. Чтобы его читать важнее знать домены (измерение времени и тестирование), чем ломать голову над вопросами неоднозначности синтаксиса:


G>>Неужели? А вот это самый обычный JavaScript, а конкретнее — вполне обычная библиотека should.js. Выглядит куда приличнее, чем "обычный DSL". Никаких таких "доменов" знать не надо — на, полюбопытствуй.


Z>Как это не надо? Я сходу не понимаю, что делает этот код, хотя чтение JS для меня не является проблемой. Надо знать область применения этой штуки и термины принятые там, то есть домен. Предположив, что это тестирование, я могу начать догадываться о смысле кода. И да, это DSL, вполне обычный, а не какой-то особо приличный.


Область ровно та же, что у кода, который ты мне привел в начале . И это, конечно, никакой не DSL. Это один из самых популярных assert-фреймворков для JS. Гражданский JS, выглядящий только на первый взгляд необычно. Любой человек, знающий JS, способен написать его исходник, глядя на пример кода. Т.е. понять, как он устроен внутри.

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

WH>>>Ага... он настолько жив, что яха его даже продать не смогла. Хотя пыталась...

G>>Ага. И по-твоему, если бы он был написан на LISP, то был бы гораздо живее, да?
WH>Не переводи стрелки. Тут пытаются втирать, что проект жив. А это не правда.
WH>Он еще трепыхается по тому, что в его названии есть слово яха. Без него он сдохнет сразу. Поэтому его никто и не купил.

Жив он или не мертв сейчас, причина по любому не в языке, на котором он написан, дружище.
Re[19]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 12.03.13 21:53
Оценка:
G>Жив он или не мертв сейчас, причина по любому не в языке, на котором он написан, дружище.

У яху достаточно денег, чтобы его хоть на ассемблере переписать. Не язык есть причина комменческого успеха стартапа Грехэма.
Re[11]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 12.03.13 22:31
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

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


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

WH>Ты тут вещаешь про проблемы с общением у авторов ДСЛ. А из тебя самого адекватность прямо так и прет...

Не "вещаю", а говорю.

WH>Людей, про которых ты ничего не знаешь, марсианами обозвал...


Я здесь говорю не про конкретных людей, а вообще, это из построения фраз понятно. Для примера.

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

Впрочем, дыма-то без огня не бывает, да?

WH>А потом удивляешься, почему эти люди посылают тебя.


Кто это и где меня посылает? Извини, не приметил пока. Кажется, за такое у нас на форуме положен бан, да, дружище с правами модератора?

WH> И, конечно же, приходишь к выводу, что проблема в этих людях. Ибо такой великий специалист по пониманию мотивов людей не прав быть не может.


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

Так забавно. Ну никак не можешь ты удержать себя в технически рамках, хотя, казалось бы, такой крупный специалист . А все больше такой мелочью интересуешься, как эфемерная виртуальная личность Гапертона, у которого даже профиля гордого на русском языке нет .
Re[13]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 12.03.13 22:43
Оценка: +2
В целом, ты передергиваешь.

Был исходный тезис: использование DSL не добавляет новых проблем по сравнению с использованием сложных библиотек.

Читабельность кода для человека формируется двумя факторами:
1. известностью понятий используемых в коде
2. совпадаемостью системы кодирования понятий с системой кодирования, используемой читающим

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

G>А все почему? Потому, что это обычный JS. Никакой не DSL.


вот это тоже обычный JS: он тебе понятен?

var u = {
    n: 'tj'
  , p: ['tobi', 'loki', 'jane', 'bandit']
};

u.s.h.p('name', 'tj');
u.s.h.p('pets').w.l(4);

sm(f, function(e, r){
  s.n.e(e);
  s.e(r);
  r.b.s.e(f);
});


я думаю не очень, потому что в нем нарушен один из вышеуказанных факторов.

а вот этот DSL ты скорее всего поймешь
var user = {
    name: 'tj'
  , pets: ['tobi', 'loki', 'jane', 'bandit']
};

user should have property ['name', 'tj'];
user should have property 'pets'
 with length of(4);

someAsyncTask(foo,
 (err, result) => 
  {
   should not exist err;
   should exist result;
   result.bar should equal foo;
  }
);
Re[14]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 12.03.13 23:01
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>а вот этот DSL ты скорее всего поймешь

DG>
DG>var user = {
DG>    name: 'tj'
DG>  , pets: ['tobi', 'loki', 'jane', 'bandit']
DG>};

DG>user should have property ['name', 'tj'];
DG>user should have property 'pets'
DG> with length of(4);

DG>someAsyncTask(foo,
DG> (err, result) => 
DG>  {
DG>   should not exist err;
DG>   should exist result;
DG>   result.bar should equal foo;
DG>  }
DG>);
DG>


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

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

Жаль, что прав на написание кода не выдают. С отпечатками пальцев тех самых рук, которые надо отрубать.

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

DG>В целом, ты передергиваешь.


Не, не передергиваю.
Re[23]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.13 23:30
Оценка:
Здравствуйте, Gaperton, Вы писали:

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


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

Реальность же была несколько банальнее. Viaweb был куплен за ~46 лимонов баксов в 1996 году. Ту часть которая была написана на Лиспе переписали на С++ только в 2003 году. То есть 7 лет проект жил на лиспе.

Причины переписывания и его последствия озвучены самим Грэхемом в том же 2003 году:
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02367.html

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

(b) The resulting program is a new world's record case
of Greenspun's Tenth Rule. The Yahoo Store Editor called
compile at runtime on s-expressions made on the fly.
To translate this into C++ they literally had to write a
Lisp interpreter.

(c) Even then, they had to drop some features (involving
advanced uses of closures).


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

Так что тренируй телепатор лучше.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.13 23:33
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>А Грэхем, уволившись, пишет книжки про нереальный личный success story. Которыми вдохносляется молодежь. Пионер — это ж не возраст, он же молод душой, и характерен своей инфантильностью. Аудитория огромна.


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

Если бы в то же время были другие продукты делающие тоже самое, то возможно с ним можно было бы поспорить. Но в 1996-ом таких не нашлось. И судя по тому, что Яху стал переписывать все сам таковых не нашлось и через 5 лет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.13 23:42
Оценка:
Здравствуйте, Gaperton, Вы писали:

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


Тот, написанный на С++ и Перле, сдох. "Yahoo! Small Business" это совсем другой продукт. Если не ошибаюсь написан в основном на Яве Яваскрипте. И на сегодня не имеет ничего выдающегося. Аналогичных сервисов хватает. 1996-ом ViaWeb был уникален и прожил сильно дольше своего С++-анлога.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.13 23:46
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Это частная проблема завязаности на неадекватного гения, а не DSL в общем.


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

Реальность банальна. Пришла новая метла и стала мести по своему. Приняли глупейшее решение — переписать программу с Лиспа на С++. Результат оказался печальным. Потом спохватились и переписали все еще раз (вроде как на Яве).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 13.03.13 00:09
Оценка: +1 :)
вопрос более практический.

Если по DSL-у учебник вышел, то такой DSL уже использовать можно или еще нет?
Re[15]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Ziaw Россия  
Дата: 13.03.13 02:03
Оценка: +1
Здравствуйте, Gaperton, Вы писали:

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


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

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

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

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

Open-source perfectionist. Creator of the Luna programming language, Express, Stylus, Component, Mocha, Jade, rework, node-canvas and others. Pastafarian

Я регулярно сталкиваюсь с подобными, вполне приличными DSL от самоделкиных. Достаточно документированными и понятными, в существование которых истово не верит Мамут.
Re[25]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Ziaw Россия  
Дата: 13.03.13 02:24
Оценка:
Здравствуйте, VladD2, Вы писали:

Z>>Это частная проблема завязаности на неадекватного гения, а не DSL в общем.


VD>У тебя есть особенность принимать на веру демагогию. Ты бы для начала узнал бы что Гапертон говорит правду, а не выдумывает. А то ведь и гений вполне адекватным может оказаться, и проблемы особой может не быть.


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

VD>Реальность банальна. Пришла новая метла и стала мести по своему. Приняли глупейшее решение — переписать программу с Лиспа на С++. Результат оказался печальным. Потом спохватились и переписали все еще раз (вроде как на Яве).


Вполне вероятно. Таких примеров масса.
Re[23]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: IT Россия linq2db.com
Дата: 13.03.13 02:56
Оценка: 1 (1) +1 :))
Здравствуйте, Gaperton, Вы писали:

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


Так проблема в том, что у тебя отбирают власть?
Если нам не помогут, то мы тоже никого не пощадим.
Re[25]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: IT Россия linq2db.com
Дата: 13.03.13 03:29
Оценка: +1 :)
Здравствуйте, Gaperton, Вы писали:

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


Да ладно. Во всём виноваты только девелоперы. Менеджеров если и можно в чём-то винить, то только в нехватке времени для ухода за своими нимбами.
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: WolfHound  
Дата: 13.03.13 10:42
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Я здесь говорю не про конкретных людей, а вообще, это из построения фраз понятно. Для примера.

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

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

А откуда ты выдумал, что я воспринял это лично?

G>Кто это и где меня посылает? Извини, не приметил пока. Кажется, за такое у нас на форуме положен бан, да, дружище с правами модератора?

Ты очень хорошо знаешь, как можно послать, не нарушая правил.

G>Сразу видно — ты небольшой специалист в понимании мотивов людей .

Ты действительно думаешь, что понять мотивы человека, который бегает по интернету и поливает грязью неопределенный круг людей сложно?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[13]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: WolfHound  
Дата: 13.03.13 10:45
Оценка:
Здравствуйте, Gaperton, Вы писали:

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

Покажи в своих сообщениях хоть одну букву на техническую тему...
Их там нет. Ни одной. Все что ты можешь это поливать грязью всех подряд.
А когда разговор действительно переходит в техническую плоскость, ты сливаешь в 100% случаев.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 13.03.13 21:23
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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


Влад. Совершенно не важно, на чем он написан. Дело не в этом.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.