vit_r: default (vit_r)
[personal profile] vit_r
ConstructiveParanoia Roman_Numbers draft 2014-04-30

Вот, собственно, и всё, что я хочу сказать по поводу стиля современных программистов в общем, functional revolution в частности, а также её проповедников [livejournal.com profile] ivan_gandhi, [livejournal.com profile] nponeccop и прочих лично.

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

Date: 2014-05-02 10:52 pm (UTC)
From: [identity profile] esc.livejournal.com
Ты даже понимаешь, что Ганди пишет про эти саои монады? Немного завидую. Для меня это вроде птичьего пения. Я простой ремесленник.

Date: 2014-05-02 11:07 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Что пишет - это понять не сложно. Вот вопрос "Зачем?" для меня остаётся загадкой. Особенно, когда в пакетном режиме обрабатываются данные, в которых каждую переменную надо проверять индивидуально.

Date: 2014-05-08 06:12 pm (UTC)
From: [identity profile] esc.livejournal.com
Кабы знал зачем, наверное даже поднапрягся бы и понял. Вполне возможно, что если вдоль и поперек изучить топонимику и прочий матанализ, то можно спроектировать мегакрутые лапти с турбонадувом. Вот только какой с этого выйдет пресловутый bang for the buck?

Date: 2014-05-08 10:18 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Если забыть про обработку ошибок, получается более компактная запись.

Date: 2014-05-03 05:43 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Монада же - фигня.

Параметрический класс M[X] со
сверткой (e.g. list flattening) M[M[X]]->M[X] и
конструктором X->M[X] (e.g. singleton list).

Date: 2014-05-08 04:19 pm (UTC)
From: [identity profile] esc.livejournal.com
Из этого определения я знаю два слова, не считая предлогов

Date: 2014-05-08 04:41 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Послание компактно зашифровано.

Date: 2014-05-08 08:58 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Ну параметрический класс знаешь же?

Date: 2014-05-12 04:52 pm (UTC)
From: [identity profile] gineer.livejournal.com
Умгу... а что-то больше можете?

Вот переход от спагетти-кода к процедурному -- дал тот набор тулзов ОСи, компиляторы, базы данных, от которых и сейчас никто не отказывается.

Переход от процедурного к объектно-ориентированому,
дал переход к массовой доступности и массовому использованию того,
что считалось привелегией немногих.

А что дал, может дать переход к функциональному?

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

Date: 2014-05-12 05:14 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Переход к функциональному дает надежность, тотальное покрытие всех случаев, большую выразительность и компактность - т.е. возможность эффективно выражать явления, до того требовавшие дикого количества вспомогательного кода. Примерно как переход от матричной записи с индексами к записи через операторы. Многое становится более ясно.

И нет, это не тупик и не конец пути, это просто один шаг в повышении понимания, как вообще все работает.

Date: 2014-05-12 05:39 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Переход к функциональному дает надежность, тотальное покрытие всех случаев, большую выразительность и компактность

Выразительность и компактность противоречат надёжности. В смысле кодировки для человеческого восприятия.

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

Плюс к этому цена оптимизации в мелочах - бардак и хаос на макроуровне. (Именно по этой причине процедурное программирование в индустрии сменилось объектно-ориентированным.) Самое смешное, что сами функциональные программисты не знают, каким образом можно представить их чудесную систему в целом.

Date: 2014-05-12 07:33 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Не согласен.

Date: 2014-05-12 07:45 pm (UTC)
From: [identity profile] vit-r.livejournal.com
"Ошибка на вашей стороне."

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

Date: 2014-05-13 12:46 pm (UTC)
From: (Anonymous)
\\Переход к функциональному дает надежность, тотальное покрытие всех случаев, большую выразительность и компактность - т.е. возможность эффективно выражать явления, до того требовавшие дикого количества вспомогательного кода.
...
Многое становится более ясно.


Ага.
Например то, что вместо ответа на вопрос у вас маркетинговое бла-бла-бла-вискас.

А вопрос был вполне конкретным и прямо по Бруксу,
который заметил, что новые технологии программирования если что и дают,
то это возможность решать более объемные, сложные, недоступные ранее задачи.
Исходя из этого -- процедурные и объектно-ориентированые -- это настоящие програмные технологии.
функциональщина -- так, просто, игрушка для задротов. КонтрСтрайк от программирования. КиберСпециальнаяОлимпиада. :)

Date: 2014-05-13 01:06 pm (UTC)
From: [identity profile] vit-r.livejournal.com
В защиту не функциональщиков, но функционального программирования можно сказать, что у него в плюсе есть Эрланг, на котором отлично работают большие высоконагруженные коммуникационные станции. И, как язык созданный инженерами, он прекрасно вписывается в телекоммуникационные процессы. Вот только превозносящие Хаскель функциональщики не очень знают, почему и как.

Да, если открыть даже пустой аккаунт на LJ, посты не будут походить на спам и мне не надо будет каждый раз расскринивать коменты.

Profile

vit_r: default (Default)
vit_r

January 2026

S M T W T F S
    12 3
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 9th, 2026 04:07 am
Powered by Dreamwidth Studios