Хаскельное
Sep. 14th, 2013 08:17 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://vit-r.livejournal.com/679524.html?thread=3691364#t3691364
решили на прошлой работе трое таки попробовать Хаскель, для неспешной задачи. генерация DDL, DML c скриптами SQL. Бились, бились, - но сделали, и был восторг! Потом, затянула обычная работа, через месяцок нужно было добавить кое-чего... и никто из троих не смог понять как оно работает, и как же добавить.
Звучит похоже на правду. Хотя у меня и F# и Clojure в подобных задачах живут и развиваются без проблем.
решили на прошлой работе трое таки попробовать Хаскель, для неспешной задачи. генерация DDL, DML c скриптами SQL. Бились, бились, - но сделали, и был восторг! Потом, затянула обычная работа, через месяцок нужно было добавить кое-чего... и никто из троих не смог понять как оно работает, и как же добавить.
Звучит похоже на правду. Хотя у меня и F# и Clojure в подобных задачах живут и развиваются без проблем.
no subject
Date: 2013-09-14 05:55 am (UTC)(это резюме поста, а не личная позиция, если что)
no subject
Date: 2013-09-14 06:06 am (UTC)Если во всяких С, фокспро, абапах и 1с дорабатывают - то хаскель намного логичнее всего этого.
no subject
Date: 2013-09-14 07:01 am (UTC)no subject
Date: 2013-09-14 07:52 am (UTC)и встретился параметр-указатель на функцию... который берётся из разных интересных массивов, которые конфигурируются по вводу... вот как рисовать?
рисовать вызов замыкания с функциями в контексте ещё интереснее
no subject
Date: 2013-09-14 07:56 am (UTC)Как что рисовать в отдельном конкретном случае, зависит от задачи.
no subject
Date: 2013-09-14 08:49 am (UTC)Такие диаграммы не подойдут? http://stackoverflow.com/questions/7427094/generate-diagrams-for-haskell-code
no subject
Date: 2013-09-14 02:40 pm (UTC)Если я показываю какую-то диаграмму, то человек или видит картинку или выходит на неё по ссылке.
Добрые функциональные люди всегда уверены, что у меня дофига времени, разбираться, что они имели ввиду.
no subject
Date: 2013-09-14 02:48 pm (UTC)А с чего уважаемый дон решил, что я обязан ему разжёвывать информацию и преподностить на блюдечке с голубой каёмочкой?
Кстати, кто такие функциональные люди? :)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-14 09:20 am (UTC)Плохой код можно найти везде. Вы сравниваете код, который вы контролируете (с комментариями) и чей-то ещё. Контролируйте код на Хаскеле, все будет хорошо.
no subject
Date: 2013-09-14 02:31 pm (UTC)Во-вторых, для тех же Си с крестами существуют методики, позволяющие гарантированно получать качественный код в промышленных мастабах. Разговоры о методиках с представителями хардкорного функционального программирования заканчиваются... хм... ну да. Попытками измерения интеллекта.
no subject
Date: 2013-09-14 02:37 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-14 04:58 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2013-09-15 04:42 am (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-14 02:14 pm (UTC)Доля правды в этом есть.
no subject
Date: 2013-09-14 02:34 pm (UTC)no subject
Date: 2013-09-14 03:50 pm (UTC)В том контексте, это было что-то типа, что у "нас есть гораздо лучше, чем ваш этот UML".
Впрочем, такое сравнение напрямую некорректно, конечно.
no subject
Date: 2013-09-14 07:44 pm (UTC)no subject
Date: 2013-09-14 08:02 pm (UTC)Пока что всё проходящее мимо меня, требует вникания в хитросплетения исходного кода, вместо того, чтобы быть нормальным языком описано в комментарии.
Ну да, я вижу только то, что попадается в Интернете, и где-то в какой-то фирме внутри может быть что-то подобное. Но, следуя определению вакуума в физике, для меня это не существует.
no subject
Date: 2013-09-14 08:35 pm (UTC)Странный критерий. Вот если
А почему не "когда я увижу проект на хаскелле с разумным количеством комментариев" ("разумным" = "не хуже, чем в среднем по индустрии в других языках")? Например, GHC или XMonad отлично прокомментированы.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-15 02:05 pm (UTC)Так это в любой незамысловатой конторе так. Любое ООО "Опа говносайт" так пишет. Начинаешь им писать развернутые комментарии - оне еще и фыркать начинают "зачем так много".
Что же касается именно thesz - это человек-москвич, с московской квартирой, который достиг дзена и самодостаточности. Участвовать в кодерских крысиных гонках и писать "чтоб вчера работало" ему нет нужды. Именно поэтому кстати функциональщики и не понимают нужд простых IT-рабов, они немножко по другому живут.
Я же лично считаю, что исчезни сейчас большая часть IT-рабов - ничего особо не поменяется. Ну некоторые погонщики огорчатся - производить фуфло за деньги станет некому, горе-то какое.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-14 09:16 am (UTC)Хотя я вот свой код на хаскеле годовалой давности открываю, и что там происходит - понимаю. Другое дело дописывать - это же надо вспоминать либы, которые год опять же не использовал.
Кстати я на работе весь этот "одноразовый" dev-ops код поэтому пишу на C#, т.е. на том же, на чем весь остальной проект. Нахер все эти скрипты.
no subject
Date: 2013-09-14 09:25 am (UTC)Уж лучше DSL какой-нибудь наколбасить на обычном языке.
no subject
Date: 2013-09-14 09:42 am (UTC)В любом языке с литералами для объектов/хешей и массивов можно же eDSL-ки еще делать. В C# еще expression trees есть, с ними вообще можно все круто слепить. Ну и когда у тебя eDSL, у тебя еще получается препроцессор бесплатный на том же языке.
no subject
Date: 2013-09-14 09:53 am (UTC)no subject
Date: 2013-09-17 12:42 pm (UTC)Если бы была возможность преобразовывать тела функций с циклами for и тому подобного, это был бы номер. Тогда можно было бы делать совершенно удивительные вещи, типа кода с циклами, компилирующегося в код над OpenCL. Или делать триггеры для тех же БД.
no subject
Date: 2013-09-17 12:53 pm (UTC)В F# есть такое: http://msdn.microsoft.com/en-us/library/dd233182.aspx
В C# есть надежда на "Roslyn" - они собираются выкатить API к компилятору, с возможностью использовать его куски, или втыкаться в середину: http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx