sermon

Sep. 29th, 2015 10:52 am
thedeemon: (office)
[personal profile] thedeemon
На днях мудрый [livejournal.com profile] _xacid_ разразился замечательной проповедью, прочитав которую даже человек с черствым сердцем непременно почувствует в груди огонь любви к божественному, пойдет обрежет себе ООП и начнет отращивать монады. Читать первый уровень ответов к этому сообщению.

Date: 2015-09-29 05:17 am (UTC)
From: [identity profile] lomeo.livejournal.com
Не просто "ещё один монад туториал"!

Date: 2015-09-29 06:02 am (UTC)
From: [identity profile] kodt-rsdn.livejournal.com
Дочитал тот эпик до Конца (на смартфоне, чтобы вы поняли мой труъд) и - вот оно, подведение итогов, которого я там ждал, и с которым согласен:
Хасид - архитектурный астронавт.

А по ходу пьесы вспоминается знаменитая Пляска Ст. Балмера - девелоперс-девелоперс.
Монады это монады, йо, браза, потому что это монады, они мелкие и влезут во все дыры без мыла, браза, кури монады.
Собсна, это и завораживает.

Date: 2015-09-29 07:43 am (UTC)
From: [identity profile] diam-2003.livejournal.com
Запятые явно неугодны ЗОГу.
From: [identity profile] pupsikk.livejournal.com
Ее место в синагоге/мечети/церкви.
А программерам нужно деловое обсуждение.

Я думаю что дело в проклятьи Си++. Если б этот балбес Страуструп озаботился корректной работой с нулями, эту проповедь можно было б сократить наполовину.
Вот есть же отличный язык Обьектив-Си, зачем надо было изобретать эту крестовую хуету , извините за грубость?
From: [identity profile] zeit-raffer.livejournal.com
> Обычная религиозная проповедь
> Ее место в синагоге/мечети/церкви.

есть же должность такая в корпорациях - "евангелист"!
при этом сам евангелист может быть хорошим программистом, одно другому не мешает, наоборот.
даже если это евангелист с пейсами монадами.

Date: 2015-09-29 08:09 am (UTC)
From: [identity profile] 109.livejournal.com
ещё и половины не прочитал, а уже плачу :)

Date: 2015-09-29 12:44 pm (UTC)
From: [identity profile] sleepy-drago.livejournal.com
проблема с этими евангелистами. бестолку одно и то же по кругу повторяют как молитвы. очевидно что если бы прогнали или не хотели "изучать" новое то ответы емы были бы очень короткими и матерными, в итоге сидит немалая аудитория внимает этому потоку... а там ничего и нет кроме "не скомпилируется".

Date: 2015-09-29 04:07 pm (UTC)
From: [identity profile] dmytrish.livejournal.com
собственно, «ничего нет» — это и есть нирвана функционального программиста.

Date: 2015-09-29 04:14 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
"не скомпилируется" это уже хорошее свойство, сейчас вон даже из С++ собрались второй Раст делать, все туда идут.

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

Date: 2015-09-29 04:30 pm (UTC)
From: [identity profile] pupsikk.livejournal.com
Много маленьких функций вместе составят точно такую же простыню.

Date: 2015-09-29 04:53 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Не-а. За счет их большей реюзабельности получится (условно) LZW сжатие, средняя функция будет короче (ибо меньше повторения в коде), и среднее число строк для реализации одного куска функциональности будет меньше.

Вот даже графики кто-то строил:
http://redmonk.com/dberkholz/2013/03/25/programming-languages-ranked-by-expressiveness/
From: [identity profile] pupsikk.livejournal.com

Я видел кучу жестокой алгоритмики, где текста на 1000+ строк а реюзить просто нечего, ибо одинаковых (ну или хотя бы параметризуемых) участков практически нет.
From: [identity profile] thedeemon.livejournal.com
Не сжимается значит не сжимается, частные случаи всякие бывают, потому речь и была о среднем.

Date: 2015-10-02 02:03 pm (UTC)
From: [identity profile] valentin budaev (from livejournal.com)
А почему такой странный показатель LOC/commit? Не вижу в посте ни одной причины, по которой он должен что-то показывать. Но даже если согласиться, что размер коммита хоть что-то полезное отражает, то сравнивать надо не чистый код, а размер пожатого годным архиватором результата, как минимум, это будет ближе к количеству информации.

Date: 2015-10-02 04:18 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Среднее число LOC/commit это довольно простая и достаточно объективная метрика. А если начать код сжимать, то хоть в этом и есть некоторый смысл, понять что именно это характеризует еще сложнее (что нам скажет кол-во информации?), а главное, прийти к согласию о том, как именно сжимать, - практически невозможно.

Date: 2015-10-03 05:45 am (UTC)
From: [identity profile] valentin budaev (from livejournal.com)
> (что нам скажет кол-во информации?)

Я рассуждаю так - вопрос плотности информации нас не интересует, т.к. это вопрос синтаксический, во-первых (то есть мы всегда можем взять язык Х и добиться идеальной плотности информации не меняя семантику, только синтаксис, а вопросы синтаксиса - существенно субъективные вопросы) и на собственно "писанину кода" программист время все равно практически не тратит, даже когда язык сильно вербозный. А время он тратит на генерацию информации. Значит, лучше тот язык, что позволяет решить задачу за счет меньшего количества информации (но не за счет ее более эффективного выражения) - и это уже как раз семантика. Значит, надо сравнивать количество_информации/задача, а лок - какой-то странный показатель. Сильно зависит от стиля оформления кода, от длины идентификаторов и прочих спорных вещах. Например, те же длины идентификаторов взять - они как сильно короткие плохо, так и сильно длинные плохо.

> а главное, прийти к согласию о том, как именно сжимать

Думаю, алгоритмы, хорошо подходящие для пожатия текста, должны быть для решения рассматриваемоей задачи (оценка информации в коде) удовлетворительны.
Edited Date: 2015-10-03 05:46 am (UTC)

Date: 2015-10-03 06:55 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Просто алгоритмов сжатия много, и каждый можно тут применить огромным множеством способов, поэтому дебаты о выборе подхода можно вести бесконечно, как ни посчитай, всегда кто-то предложит считать иначе.

С LOC же все просто и, что важно, были уже разные исследования, где LOC был хорошим показателем (прямым коррелятом) как по скорости разработки, так и по числу ошибок.

Date: 2015-10-03 04:23 pm (UTC)
From: [identity profile] valentin budaev (from livejournal.com)
> были уже разные исследования, где LOC был хорошим показателем (прямым коррелятом) как по скорости разработки, так и по числу ошибок.

Ссылками не поделитесь?

Date: 2015-10-03 06:36 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Увы, не сохранил.

Date: 2015-09-29 07:46 pm (UTC)
From: [identity profile] sleepy-drago.livejournal.com
Реюзабельность это хорошо, вопросы практиков сейчас скорее как управлять эффектами на разнородных вычислительных устройствах работающих вместе, как давать какие то гарантии по времени-ресурсам в таких условиях и тп.

Date: 2015-09-29 03:22 pm (UTC)
From: [identity profile] jamhed.livejournal.com
449 комментариев, Карл! 449!

Date: 2015-10-02 10:27 am (UTC)
From: [identity profile] zeit-raffer.livejournal.com
уже 526, Карл!

Date: 2015-09-29 03:52 pm (UTC)
From: [identity profile] justy-tylor.livejournal.com
Весь тред прям развёрнутый ответ на вопрос поста, типа "вот за это вас и не любят".

Date: 2015-09-29 03:58 pm (UTC)
From: [identity profile] notaden.livejournal.com
А какой правильный ответ-то ? :)

просто, на пальцах, зачем FP? Делал 3,5 попытки начать. Но как-то ни до чего работающего не дошло.

Что на нём можно написать, чтобы прям прочуствовать и на чём.

Date: 2015-09-29 04:23 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Чтобы сполна прочувствовать всю эту историю с монадами, это надо на хаскеле писать, и много. Можно еще на Идрисе, но там своя атмсфра.

А для начала можно на Elm'e что-то поделать, там и несложно, и результат наглядный, и даже для пользы можно сразу применить. В процессе вкус к pure FP должен впитаться. Там все то, за что большевики сейчас так любят React, сделано просто образцово.

Лучшее пока

Date: 2015-09-29 04:26 pm (UTC)
From: [identity profile] pupsikk.livejournal.com


http://ivan-gandhi.livejournal.com/3330271.html?thread=53596383#t53596383

Date: 2015-09-29 05:40 pm (UTC)
From: [identity profile] dev117.livejournal.com
- Вы вообще можете говорить по-нормальному?
- К сожалению, ответ не да.
(с)

Date: 2015-09-29 06:08 pm (UTC)
From: [identity profile] deni-ok.livejournal.com
О, я так понимаю жжшные френды запустили вирусную рекламную кампанию для моего онлайн-курса по Хаскелю :)

Все желающие постигнуть тайны ФП спешат присоединиться! Первый модуль протухает наполовину в конце этой недели, а закрывается в конце следующей!

https://stepic.org/course/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5-Haskell-75/

Date: 2015-10-01 01:26 pm (UTC)
From: [identity profile] alexott.livejournal.com
честно говоря - совершенно неубедительно, даже для меня...

Date: 2015-10-15 02:41 am (UTC)
crower: (Default)
From: [personal profile] crower
А потом он этой головой ещё и программирует?

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 25th, 2026 08:58 am
Powered by Dreamwidth Studios