alf
Адепты FP задолбали со своей нелюбовью к OOP. Как, впрочем, и все остальные странные люди с плакатиком "XXX — плохо!"
Простите, я очередной раз пытаюсь понять, в каком стиле мне приятно писать. Пока выходит так что главное — не слушать блядь никаких советов. ‎- alf
Адепты fixed price? :-) ‎- Все собаки попадают в рай
Этим вообще ничего уже не поможет ‎- alf
теперь представим себе XXX = PHP или даже WordPress ‎- из-за разнузданности гламурной
^ а все то же самое. Если есть какое-то недовольство тем или иным инструментом, то на плакатике так и надо писать: «Мне не нравится XXX» ‎- baton
Адепты OOP тоже забодали своей нелюбовью ко всему, что не мапится на модель OOP (тот же FP). ‎- Долбиться в OTA
Недавно был полупьяный срач аспиранта-линуксоида, пилящего что-то на хаскелле, и закоренелого C++-виндузятника. Я наблюдал всё это до тех пор, пока в оппонентов не полетели ложки. ‎- Долбиться в OTA
^^^ это плохо действует на людей, не способных к самостоятельному мышлению, которые обычно и составляют основной контингент приверженцев ХХХ ‎- из-за разнузданности гламурной
^ абсолютно согласен ‎- Долбиться в OTA
^^ Не верю что я это делаю, но вот: http://rationalwiki.org/wiki/Balance_fallacy Иногда приверженцы просто лучше соображают. ‎- big data in petite analysts
^ м, ну суть же не в том, хорош ХХХ или нет, потому что круг применимости, подходящий инструмент и всё такое, а в категорическом высказывании как способе заставить задуматься тех, кто этого не делал ‎- из-за разнузданности гламурной
и да, адепты часто знают лучше, потому что поставлены в нечеловеческие условия, а также self-selection ‎- из-за разнузданности гламурной
Если что, я не люблю ООП. Если не лень читать, то вот один из самых осмысленных rants на эту тему: http://www.smashcompany.com/technology/object-oriented-progra... ‎- big data in petite analysts
Person A is thus protected from the harmful effects of new information. #SmileAcrossTheAisle ‎- псы в рапиде
А как вы относитесь к людям с плакатиками "Всё плохо"? Или там, менее радикально, "right tool for the job"? ‎- 9000
Как приверженец XXX, я возмущён оскорблениями в каментах. Вы сперва добейтесь, чтобы тиолки устраивали вам threesome в жизни каждый день, а потом говорите, как плохо пользоваться вместо этого XXX! ‎- igors
^ !!! ‎- alf
Rant настолько же бессмысленный, насколько и все остальные. То есть легко и приятно объявлять что "приверженцы просто лучше соображают" — но нет. list.length ничем не хуже length(list) или (length list). Well, homoiconicity — но её нет ни в ML ни в Haskell, а считать их non-FP пока вроде бы никто не рвётся. ‎- alf
Отдельно встает вопрос о том, хорошо ли "лучше соображать" и что это вообще такое... ‎- alf
@9000 я плохо отношусь к людям с плакатиками. Людей с плакатиком "right tool for the job" я пока не видел — возможно потому что плакатик isn't ‎- alf
@alf: Тут не про "лучше соображают", тут про "легче думать". Т.е. наоборот, доступнее простым коротышкам™ вроде меня. Все эти immutability, composability ­и referential transparency — про то, как облегчить мышление и тем уменьшить вероятность ошибки. А от них уж растёт функциональный стиль как наиболее удобный для их реализации. Великая заслуга ООП в этом смысле — продвижение в мэйнстрим идей модульности, отделения интерфейсов от имплементации, SOLID и т.п. Эти вещи, вообще говоря, не так уж привязаны к ООП, так же как всякие "функциональные" вещи не так уж противоречат ООП. ‎- 9000
"list.length ничем не хуже length(list)" — обычно, всё-таки, хуже. `map length lst` проще делать, чем `map methodcaller(:length) lst` какой-нибудь. А с currying сделать `m = obj.binOp; m(x); m(y)` не составляет труда тоже: `m = binOp obj; m(x); m(y). ‎- адский хардлайн в засаде
@9000 с тобой неинтересно спорить, потому что ты прав и не несёшь чепухи :) ‎- alf
^^ ха! `lol map (_.length)`, пожалуйста. Не сложнее (+) в хаскеле. Синтаксический сахар на то и сахар, собственно. ‎- alf
По моим наблюдениям, не любят не ООП как таковое, а карго-культ ООП и порождамые им чудовища вроде IAbstractHelloWorldFactory. Причина, кажется — индоктринация джавой в вузе + карго-культ паттернов программирования + кровавый энтерпрайз. ‎- Юдж
Ну так карго-культ FP ничем не лучше — я не знаю как лучше соображающие, а я не люблю в коде замыкания внутри замыканий. И если мэйнстримный ООП-программист пойдёт писать на хаскеле, то разгребать за ним будет не легче чем на джаве, ой не легче ‎- alf
Иными словами, люди, склонные к карго-культу и не любящие думать и упрощать, при любом подходе устроят ужос. Проблема, таким образом, в людях. "Дело было не в бобине", как говорили пользователи совсем других инструментов. ‎- 9000
Я вообще не представляю себе, что такое ООП в отрыве от конкретного языка и образовавшихся вокруг него (и/или его фреймворков) практик, ООП в стиле пайтон+твистед, ООП в стиле плюсы+стл и ООП в ключе обж-си+риэктивкокоа, например, это настолько разные штуки, что я даже не представляю, что можно вынести за скобки. Ээээ, идею группировки структур данных и рутин для обработки этих данных? Ну я не знаю, мне было бы сложно такую абстрактную вещь активно нелюбить. ‎- zrslv
^ В этой идее можно легко "активно нелюбить" mutable state, канонически инкапсулированное в потрохах объекта. С другой стороны, никто не заставляет его быть mutable. ‎- 9000
^^ Наследование, инкапсуляция, полиморфизм! ‎- из-за разнузданности бигдатной
^^ я туда специально objective c+reactivecocoa подмешал с их традиционными immutability вокруг ОО. ‎- zrslv
^ Ну OK. На фортране можно писать на любом языке, так ведь и на лиспе можно писать на любом языке (на его баснословной самозародившейся половине). Другое дело, что большинство учебников хоть ООП, хоть структурного программирования учат делать mutable state. Даже на яве можно делать composable functions в виде "fluid interface". Кмк, из всех подходов надо брать ценное и использовать, с пониманием присущих этому ограничений. А ярлычки всегда неточны. ‎- 9000
^^^ ну разве что инкапсуляция, про которую я и написал, полиморфизм не специфичен для ООП, а "наследование" это общее название для разных штук, в широком смысле наследование будет встречаться в любой парадигме. ‎- zrslv
^ Да-да, у хаскельных type classes бывают default implementations методов! Правда, diamond pattern там, наверное, не устроить. ‎- 9000
@9000 ну вообще да, ООП зародился из попытки мутабельность обуздать, ФП, в некотором смысле, из принципа "всего одна глобальная переменная это ровно на одну глобальную переменную больше чем нужно", так что, если их и противопоставлять, то как раз по этой оси, контакт. С другой стороны, а чего тогда именно ООП нелюбить, надо тогда уж всех, кто не ФП (я чет не знаю, есть еще какие-то мютабилити-пуристы, так чтоб прям на уровне концепции?) ‎- zrslv
@9000 и напомни мне никогда не ввязываться с тобой в "сколько языков и подходов я знаю"-соревнование, если вдруг такое будет намечаться, сдаюсь еще до начала. ‎- zrslv
@zrslv: нуу, "знаю" — это про меня громко сказано. скажем, про ObjC я не знаю ровно ничего содержательного. и это, соревноваться я не пытался, если что. ‎- 9000
^ просто credit where it's due, никакого двойного смысла ‎- zrslv
судя по комментариям делаю вывод что никто не прочитал линк, cause TMI. @9000 тебе советую прочитать особенно, мне кажется ты и сам со всем согласен, просто хочешь мирного неба :) там на полчаса вдумчивого чтения. ‎- big data in petite analysts
Если и так со всем согласен, не очень понятно, зачем тратить полчаса жизни на чей-то rant. А делать выводы никто не запрещает, делайте. ‎- alf