metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-09-14 08:17 am

Хаскельное

http://vit-r.livejournal.com/679524.html?thread=3691364#t3691364
решили на прошлой работе трое таки попробовать Хаскель, для неспешной задачи. генерация DDL, DML c скриптами SQL. Бились, бились, - но сделали, и был восторг! Потом, затянула обычная работа, через месяцок нужно было добавить кое-чего... и никто из троих не смог понять как оно работает, и как же добавить.

Звучит похоже на правду. Хотя у меня и F# и Clojure в подобных задачах живут и развиваются без проблем.

[identity profile] antilamer.livejournal.com 2013-09-14 07:44 pm (UTC)(link)
Про то, что "никто" не заморачивается комментариями: это интересное заявление; какую методологию Вы бы предложили, чтобы это проверить?

[identity profile] vit-r.livejournal.com 2013-09-14 08:02 pm (UTC)(link)
Когда я увижу отраслевой или хотя бы внутрифирменный стандарт кодирования на Хаскеле и там будут описаны правила комментирования. (Причём, эти правила будут разумны.) Вот тогда я возьму "никто" назад.

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

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

[identity profile] antilamer.livejournal.com 2013-09-14 08:35 pm (UTC)(link)
> Когда я увижу отраслевой или хотя бы внутрифирменный стандарт
Странный критерий. Вот если [livejournal.com profile] thesz внедрит у себя в фирме такой стандарт, то возьмёте "никто" назад? :)

А почему не "когда я увижу проект на хаскелле с разумным количеством комментариев" ("разумным" = "не хуже, чем в среднем по индустрии в других языках")? Например, GHC или XMonad отлично прокомментированы.

[identity profile] vit-r.livejournal.com 2013-09-14 08:36 pm (UTC)(link)
Странный критерий.

Вполне нормальный. Позволяет отличить промышленную технологию от индивидуального творчества.

[identity profile] antilamer.livejournal.com 2013-09-14 08:48 pm (UTC)(link)
Ок. Вот стандарт комментирования исходников GHC: http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle - устраивает? или надо, чтобы я нашёл публичный стандарт комментирования какой-либо компании, которая пишет на хаскелле коммерческие продукты больше определённого размера?

[identity profile] vit-r.livejournal.com 2013-09-14 09:01 pm (UTC)(link)
Commenting is good but ...long comments detached from the code are easy to miss when you are editing the code itself, and soon become out of date or even misleading.

Можно я это не буду комментировать? Предлагаю на этом и закончить.

(no subject)

[identity profile] antilamer.livejournal.com - 2013-09-14 21:10 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-14 21:40 (UTC) - Expand

(no subject)

[identity profile] geniepro.livejournal.com - 2013-09-16 10:26 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-16 11:11 (UTC) - Expand

[identity profile] anonim-legion.livejournal.com 2013-09-15 02:05 pm (UTC)(link)
>всё проходящее мимо меня, требует вникания в хитросплетения исходного кода,

Так это в любой незамысловатой конторе так. Любое ООО "Опа говносайт" так пишет. Начинаешь им писать развернутые комментарии - оне еще и фыркать начинают "зачем так много".

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

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

[identity profile] berezovsky.livejournal.com 2013-09-15 02:17 pm (UTC)(link)
То есть если человек знаком с ФП, он достоин квартиры, а если нет - ему место где-нибудь на помойке или в бомжатнике?

[identity profile] anonim-legion.livejournal.com 2013-09-15 02:25 pm (UTC)(link)
Наоборот. Если у человека есть возможности - он и будет ими пользоваться. А если нет, он будет зарабатывать (заработал язву, астму, а потом концы отдал) и продвигать свой плохой опыт в массы.

[identity profile] berezovsky.livejournal.com 2013-09-15 02:28 pm (UTC)(link)
Всё равно не понял мысль.

(no subject)

[identity profile] metaclass.livejournal.com - 2013-09-15 14:36 (UTC) - Expand

[identity profile] thesz.livejournal.com 2013-09-15 03:13 pm (UTC)(link)
О, вы неправы. Я как раз специалист в написании "чтобы вчера работало и чтобы завтра могло работать".

Я очень быстро и хорошо пишу, чем и ценен.

PS
Включая даже Верилог, если это вам что-то говорит.

[identity profile] anonim-legion.livejournal.com 2013-09-15 03:19 pm (UTC)(link)
И что, всегда так сразу и писали, быстро и хорошо? Для таких умений нужно учиться и иметь правильный опыт работы.

>Верилог
Разумеется, говорит.

[identity profile] thesz.livejournal.com 2013-09-15 04:32 pm (UTC)(link)
Не всегда. Хаскель, кстати, сильно помог, с Верилогом в частности.

(no subject)

[identity profile] gineer.livejournal.com - 2013-10-20 08:23 (UTC) - Expand

[identity profile] vit-r.livejournal.com 2013-09-15 03:13 pm (UTC)(link)
Кроме веба ещё полно другого софта. Кое-где в заголовке функций идут ссылки на литературу.

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

[identity profile] anonim-legion.livejournal.com 2013-09-15 03:26 pm (UTC)(link)
> полно другого софта

О да, например самописные системы учета чего-то на C#, 1С-интеграторы, и прочие местные поделки на Дельфи.

Это не работает. Этим заниматься можно только за деньги(не столь большие), а не по любви. Это не принесет известности ни работникам, ни менеджеру их, лауреату квартальной премии. Как писал кто-то в ЖЖ "мутный вал складского учета".

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

[identity profile] metaclass.livejournal.com 2013-09-15 03:36 pm (UTC)(link)
Я как раз этим занимаюсь. Проблемы там в основном ровно трех видов: "законодательство ебанулось", "клиент не умеет организовать процессы" и "клиента душит жаба". Технические проблемы - только следствие.

(no subject)

[identity profile] metaclass.livejournal.com - 2013-09-15 15:57 (UTC) - Expand

(no subject)

[identity profile] berezovsky.livejournal.com - 2013-09-15 16:07 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-09-16 01:06 (UTC) - Expand

[identity profile] vit-r.livejournal.com 2013-09-15 04:12 pm (UTC)(link)
Кроме веба и этого полно другого софта.

Гадаем дальше.

(no subject)

[identity profile] metaclass.livejournal.com - 2013-09-15 16:23 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-15 16:29 (UTC) - Expand
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2013-09-15 02:45 pm (UTC)(link)
> и там будут описаны правила комментирования.

doxygen не подходит? Или вы хотите что-то серьёзнее?

[identity profile] vit-r.livejournal.com 2013-09-15 03:02 pm (UTC)(link)
Ну а в чём смысл doxygen? Кто результат читает?
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2013-09-15 03:32 pm (UTC)(link)
А зачем его прогонять? Достаточно того, что есть формат описания функций, параметров.

И, кстати, что вы используете вместо него?

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-15 19:04 (UTC) - Expand

(no subject)

[identity profile] rdia.livejournal.com - 2013-09-15 20:23 (UTC) - Expand

(no subject)

[identity profile] berezovsky.livejournal.com - 2013-09-15 20:27 (UTC) - Expand

(no subject)

[identity profile] rdia.livejournal.com - 2013-09-15 20:36 (UTC) - Expand

(no subject)

[identity profile] berezovsky.livejournal.com - 2013-09-15 20:45 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-15 20:42 (UTC) - Expand

[identity profile] vit-r.livejournal.com 2013-09-15 08:59 pm (UTC)(link)
Maximum line length is 80 characters.

Why? Потому что перфокарты. :-D

Остальное в том же духе.

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

[identity profile] geniepro.livejournal.com 2013-09-16 10:23 am (UTC)(link)
http://snapframework.com/docs/style-guide

весьма известный style-guide для хаскелла

[identity profile] vit-r.livejournal.com 2013-09-16 11:05 am (UTC)(link)
Maximum line length is 78 characters.

Why?

[identity profile] geniepro.livejournal.com 2013-09-16 07:13 pm (UTC)(link)
Ну а сколько нужно?
В сях/сишарпе мне действительно часто приходится писать длинющие строки по 120 символов, но в хаскелле почему-то нет -- идентификаторы обычно короткие, так что сильно вправо код не лезет. Зато удобно два разных модуля на одном широкоформатном экране редактировать...

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-16 21:35 (UTC) - Expand

(no subject)

[identity profile] geniepro.livejournal.com - 2013-09-17 04:25 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-17 05:32 (UTC) - Expand

(no subject)

[identity profile] thesz.livejournal.com - 2013-09-17 10:12 (UTC) - Expand

(no subject)

[identity profile] kurilka.livejournal.com - 2013-09-17 10:30 (UTC) - Expand

(no subject)

[identity profile] thesz.livejournal.com - 2013-09-17 12:35 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-17 20:46 (UTC) - Expand

(no subject)

[identity profile] thesz.livejournal.com - 2013-09-17 21:18 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-17 21:26 (UTC) - Expand

(no subject)

[identity profile] thesz.livejournal.com - 2013-09-17 21:34 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-18 06:07 (UTC) - Expand

(no subject)

[identity profile] thesz.livejournal.com - 2013-09-18 11:31 (UTC) - Expand

(no subject)

[identity profile] vit-r.livejournal.com - 2013-09-18 20:30 (UTC) - Expand