vit_r: default (vit_r)
[personal profile] vit_r
Похоже, я понял причину популярности FP. Надо бы для проверки посмотреть рабочий код реальных коммерческих проектов на Хаскеле и других уродцах.

Date: 2015-05-28 01:09 pm (UTC)
From: [identity profile] gineer.livejournal.com
Расскажете, очень интересно.

Моя гипотеза, что эти все рассуждения про "ФП -- это потому что эффективно(мало кода) и наконец-то правильно(код типа доказуемый, математичный)" это просто бла-бла-бла на публику.

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

Date: 2015-05-28 03:13 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
> это просто бла-бла-бла на публику.

Скорее всего.

> просто такие языки имеют встроенными те или иные технологии, которые и в Сшке можно было бы реализовать...

Очень многое из Сшки придётся выбросить. Например, арифметика указателей конфликтует со сборщиком мусора - вы можете любой указатель перевести в целое число (смещение от чего-то), сам указатель забыть, но манипулировать с получившимся числом как угодно, а потом восстановить сам указатель. И GC ни за что не сможет решить, стоит удалять объект или нет.

Date: 2015-05-28 03:24 pm (UTC)
From: [identity profile] vit-r.livejournal.com
В принципе, обрезать язык - это совершенно нормальная практика. Да и выделение - освобождение памяти часто должно быть специфичным, так что можно реализовать свой сборщик мусора с хитрыми добавлениями.

Date: 2015-05-28 03:33 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
> В принципе, обрезать язык - это совершенно нормальная практика.

Нормально, только зачем уродовать язык Цэ, у которого огромный груз совместимости, а не сделать новый язык? Кода на Цэ ведь написано море, если вы что-то обрежете, то всё это море придётся серьёзно менять.

Тем не менее, было бы крайне интересно узнать ваше мнение по основному вопросу. Я сейчас в основном пишу на "функциональном языке"ТМ :-), чисто из-за удобства по сравнению с Цэ. Что мне удобно, что не удобно я примерно представляю, поэтому для сравнения крайне интересно узнать, что думают опытные товарищи.

Date: 2015-05-28 04:03 pm (UTC)
From: [identity profile] vit-r.livejournal.com
если вы что-то обрежете, то всё это море придётся серьёзно менять.

Зачем? Библиотеки просто инкапсулируются в совместимые контейнеры. Или в терминах Shlaer-Mellor специфические части выделяются в отдельный домен.

А "что удобно, что не удобно" сильно зависит от задач.

Date: 2015-05-28 05:02 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
Да, эти контейнеры называются language binding. Я, естественно, обсуждаю контекст перевода языка Цэ на "функциональные рельсы". Конкретно это деяние не целесообразно.

Date: 2015-05-28 03:27 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Понять - это одно дело, рассказать - совсем другое. Да и покопать надо глубже, чтобы проверить.

А за "бла-бла-бла на публику" стоят подсознательные переживания, которые и стоит исследовать.

Date: 2015-05-28 03:34 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
> А за "бла-бла-бла на публику" стоят подсознательные переживания, которые и стоит исследовать.

Стоит ли?

Date: 2015-05-28 03:59 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Вот не надо задавать наводящие вопросы. За ними стоит достаточно большой объём информации, контуры которой на данный момент лишь немного просвечивают.

Date: 2015-05-28 06:41 pm (UTC)
From: [identity profile] deadzay4ik.livejournal.com
Я думал FP популярно из за того, что отлично себя показывает в многопоточной среде.

Date: 2015-05-28 06:49 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Пардон, а с какими решениями мы сравниваем? С тем убожеством, что реализовано в Яве?

Date: 2015-05-29 01:39 am (UTC)
From: [identity profile] deadzay4ik.livejournal.com
Ну вот у Erlang с его OTP - аналогов вроде до сих пор нету.
Так что и сравнивать то вроде как не с чем.
Edited Date: 2015-05-29 02:01 am (UTC)

Date: 2015-05-29 06:21 am (UTC)
From: [identity profile] vit-r.livejournal.com
"Свидетельствую, что нет бога, кроме Аллаха, и свидетельствую, что Мухаммед — посланник Аллаха."

Разговор на таком уровне совершенно не серьёзен.

Date: 2015-05-29 01:01 pm (UTC)
From: [identity profile] deadzay4ik.livejournal.com
Мне кажется у вас старт топика на таком же уровне.
Вы заявляете что FP популярно. Я на таком же уровне заявляю что у Erlang OTP нету аналогов.
Что конкретно вы подразумеваете под "популярностью FP", мне например не понятно.
Это может быть популярность конкретных языков или популярность процесса добавления фич из FP в языки в которых изначально FP не было.

Вы под популярностью FP что конкретно подразумеваете?

Date: 2015-05-29 01:22 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Мне кажется у вас старт топика на таком же уровне.

Это практически записная книжка. В ней пометка, что я что-то заметил, причём вполне личная пометка. Программная часть только по вопросу о коде из реальных проектов.

Я не понимаю, зачем сюда пришли люди с заявлениями "Да ты ничего не понимаешь!"

Date: 2015-05-29 03:23 pm (UTC)
From: [identity profile] theaspect.livejournal.com
"реальных коммерческих проектов на Хаскеле" неужели есть самоубийцы которые будут что-то разрабатывать на инструментах по которым специалистов днем с огнем не найти

Date: 2015-05-29 03:25 pm (UTC)
From: [identity profile] swamp-agr.livejournal.com
SCB, например. Там замутили свой компилятор Haskell, заточенный под задачу их бизнеса. Жалоб с их стороны нет.
Edited Date: 2015-05-29 03:26 pm (UTC)

Date: 2015-05-29 03:57 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Специалистов можно научить, если нужно. А эксперементаторы-камикадзе подобного типа есть всегда.

Date: 2015-05-29 06:09 am (UTC)
From: [identity profile] theaspect.livejournal.com
Имхо функциональщина это про отсутствие сайд-эффектов и как следствие параллелизация из коробки вообще не включая голову

Date: 2015-05-29 06:22 am (UTC)
From: [identity profile] vit-r.livejournal.com
вообще не включая голову

Достаточно близко

Date: 2015-05-29 08:27 am (UTC)
From: [identity profile] theaspect.livejournal.com
Внезапно параллельность оказалась слишком сложна, а воспользоваться преимуществами очень хотелось. ФП - довольно элегантное решение

Date: 2015-05-29 08:40 am (UTC)
From: [identity profile] vit-r.livejournal.com
Это не элегантное решение, потому что на уровне архитектуры начинаются дикие проблемы.

Date: 2015-05-29 09:38 am (UTC)
From: [identity profile] theaspect.livejournal.com
Можешь рассказать подробнее? Потому что для меня ФП это map/reduce и лямбды. Это звучит как использование if приводит к проблемам в архитектуре

Date: 2015-05-29 11:09 am (UTC)
From: [identity profile] vit-r.livejournal.com
На "поподробнее" сейчас нет ни времени, ни желания.

Date: 2015-05-29 10:33 am (UTC)
From: [identity profile] swamp-agr.livejournal.com
Проблемы решаются и заканчиваются.
http://stackoverflow.com/a/3077912

Date: 2015-05-29 11:11 am (UTC)
From: [identity profile] vit-r.livejournal.com
Это всё равно что приводить в доказательство надписи на заборе.

Date: 2015-05-31 08:20 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
А разве одной параллельностью всё ограничивается? Есть ещё:

1. Отсутствие громоздкости классов и прочей многословной херни C++/Java.

2. Передача функций как параметров - очень часто это удобно, но в Цэ накладные расходы на описание и выполнение слишком велики.

3. Удобство написания компиляторов. :-) :-) :-)

Date: 2015-05-31 08:35 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Всё имеет свою цену.

Profile

vit_r: default (Default)
vit_r

February 2026

S M T W T F S
12 34 567
8 91011121314
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 10th, 2026 12:11 am
Powered by Dreamwidth Studios