svv

Out of the Tar Pit, FRP

Sep 19, 2009 02:18

(про программирование)
Недавно в рассылке clojure один человек задал вопрос, как лучше моделировать data associations. Мол, так пробовал, эдак пробовал - всё неудобно, научите меня, гуру, как это по-правильному, по-функциональному. На что функциональные гуру ему ответили: о-о, брат, это ты ему столкнулся с так называемой real world problem ;-)
Read more... )

Leave a comment

ikm September 19 2009, 18:28:28 UTC
А это решает какую-нибудь real world problem? :)

Reply

svv September 19 2009, 18:35:58 UTC
;-)

Конечно. Уменьшение сложности.

Reply

ikm September 19 2009, 18:45:39 UTC
Да. И мне кажется, в данном случае эффект уменьшения сложности достигается сначала её повышением, а потом возвратом в очень простую rl ;)

Reply

svv September 19 2009, 19:41:05 UTC
Ты чего сказать-то хочешь? :-) Что нет такой проблемы как сложность программ, что тебе некоторые конкретные предлагаемые пути решения этой проблемы не нравятся (типа использования FP или реляционности), или что не нужно усложнять жизнь путём чтения статей?

Reply

ikm September 20 2009, 06:45:40 UTC
Я и сам не знаю. С проблемой сложности программ я и правда не сталкивался -- в основном видел проблему нежелания людей приводить и содержать проекты в порядке, производя соответствующие реструктуризации, рефакторинги и тп, вместо того чтобы дальше и дальше замусоривать их. Возьми любой codebase - будь то ядро linux или openoffice - сразу увидишь в каждом отношение к проекту. Ничего сложного концептуально в каждом из них нет. А вот степень естественной структурированности, разжеванности, или наоборот, несоразмерности и несбалансированности, поросшести ракушками и занесенности илом будет отличаться. Некоторые люди при этом ищут "подходы", вместо того чтоб засучить рукава и немного почистить авгиевы конюшни. Таких людей я не особенно жалую. Потому что компьютеры в этом плане вообще ничего не делают и никак не помогают -- они как были печатными машинками, так и остались ими ( ... )

Reply

ikm September 20 2009, 06:56:30 UTC
О, я смог сформулировать. Меня удивляет оторванность всего этого от реальной жизни и реальных проблем. Ты сам писал вначале -- человек спросил что-то по существу, и ему указали на это (дескать, что ж ты, мы тут философствуем, а ты про реальный мир).

Reply

svv September 20 2009, 13:55:43 UTC
Я для того и привёл эту фразу про реальный мир, чтобы пошутить про сторонников Единственно Истинного Подхода ;-) В оригинальном треде-то были более взвешенные формулировки -- мол, можно так попробовать, можно эдак, а вообще вопрос underinvesigated, вот например такая статья есть.

Если какие-то вещи функционально выражаются плохо, это не повод полностью отказываться от всего хорошего (и практически полезного), что есть в ФП.

Reply

svv September 20 2009, 13:35:12 UTC
Вопрос мотивации, про желание/нежелании, я даже не затрагивал. Речь про то, как при решённых проблемах с мотивацией подходить к разгребанию этих конюшен (или как строить их так, чтобы потом легче было чистить).

Просто взять людей, которым не всё равно, недостаточно -- у одних из них это будет получаться хуже, у других лучше. То, что ты без лишней рефлексии и раскладывания по полочкам называешь "поросшестью ракушками и занесённостью илом" -- это про ту самую сложность, просто терминология менее поэтическая. "Засучивание рукавов" ведь можно конкретизировать: не устраивать spaghetti code, делать рефакторинг (знать это слово, кстати), следить за структурированностью, low coupling / high cohesion и т.д. -- в таком виде это уже можно осознать, и, что самое главное, этому можно научить ( ... )

Reply

ikm September 20 2009, 14:55:34 UTC
> Ты же не считаешь, что инженеры строят хорошие мосты просто потому, что между ними хорошая коммуникация и они не ленятся? ;)

Я именно так и считаю. Именно и просто потому. А все необходимые технические тонкости они освоят - у них же есть мотивация, желание и возможности.

> Речь про то, как при решённых проблемах с мотивацией подходить к разгребанию этих конюшен (или как строить их так, чтобы потом легче было чистить).

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

Reply

svv September 20 2009, 17:15:14 UTC
Я конечно согласен, что технические проблемы -- далеко не всегда узкое место, но мне непонятно, откуда ты берёшь, что этих проблем не существует вообще.

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

Reply

ikm September 20 2009, 17:39:00 UTC
> мне непонятно, откуда ты берёшь, что этих проблем не существует вообще ( ... )

Reply


Leave a comment

Up