Паттерны проектирования, гриды и прочая безответственность

Jan 22, 2011 18:14

В наш великий ВУЗ последние несколько лет с завидной частотой приглашают всяких дяденек прочитать лекцию на не то, чтобы на очень сильно ограниченные темы ( Read more... )

philosophy, idiotic, vk, programming, ifmo

Leave a comment

Comments 24

snusmumrikkk January 22 2011, 15:56:53 UTC
Поначалу мне как раз всякие ADT, тайпклассы и т. п. казались частными перестановками фич обычных ООП-языков. Натурально, то, что делают при помощи замыканий/adt/typeclasses/etc тривиальным образом (см. Паттерны) реализуется на простой и понятной любой кухарке Jave.

То, что паттерны и ОО-проектирование преподносят как священную корову - лишь вот это излишнее. А так че там с ООП: классы да [виртуальные] методы, ничего концептуально сложного. А паттерны: ну в хаскелле тоже ведь есть всякие общеупотребительные трюки, стили. Преимущество ФП в том, что его концепции хорошо и просто математически формализованы. В этом, мне кажется, большое преимущество. А вообще для обладателя Абстрактного мышления по-моему ООП не сложнее ФП.

Впрочем, отдельно скажу, что теперь, когда у меня концепции ФП правильно уложились в голове, мне их не хватает в работе. Может, это и свидетельствует о простоте ФЯ :)

Reply

oxij January 22 2011, 19:56:40 UTC
Дада, я как раз на вознесение к корове батон и крошу, если бы они молчали себе тихонько в углу - я бы не приставал ( ... )

Reply

snusmumrikkk January 22 2011, 20:12:42 UTC
> проблемы системы образования в части правильного обучения программированию - не проблема «правильных» программистов.
У меня стойкое чувство, что с ФП как с утятами. Что первое увидели - то и мама. То есть если начать программировать с Хаскелля, ФП будет просто и естесственно. А вот менять подход сложно.

По последнему: нет, я пишу на плюсах. Не хватает общеизвестных штук из функциональщины, хотя бы лямбд, тайпклассов, частичного применения, нормального Maybe, а лучше монад вообще. Что-то в С++ можно изобразить, но у нас не принято таким баловаться :)

Reply

oxij January 22 2011, 20:41:41 UTC
Да. Про сложность можно поспорить, но после ФП в паттерны соваться как минимум противно.

В 0x, или как оно там называется, обещают вроде.

Reply


yuno January 22 2011, 17:00:20 UTC
Знаешь, чем хорошо ООП?

Тем, что хотя бы 20% этого самого ООП я могу понять и применить.

Понять же Хаскелл и прочие функциональные языки я не в состоянии. Я не математик и стать математиком никогда не смогу.

Да, математики вроде тебя - высшая каста/раса/whatever, но зачем постоянно об этом на всех углах-то кричать?.. Нам, идиотам-гуманитариям с интуитивно-ассоциативным образом мышления и подсознательной выборкой, обидно, когда нас постоянно называют идиотами.

Reply

oxij January 22 2011, 20:09:11 UTC
Я искренне считаю, что дело не в мозгах, а в образовании и окружающих условиях.
Лямбде можно и совсем детей научить (Крокодильчики!), ЛИСПом давно пора заменить Паскаль в школьной программе, Хаскель совсем не страшный, если не слушать всяких идиотов, кричащих о том какая непонятная штука монады или ещё там чего-то, а просто выкинуть на время все свои предвзятости и привычки по поводу кодинга и взглянуть на происходящее в текстовом редакторе с логической точки зрения, а не «сначала в эту ячейку памяти пишу это, потом в ту то».

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

Reply

yuno January 22 2011, 20:10:56 UTC
Плохо считаешь. Разделение на «гуманитариев» и «технарей» идет не от воспитания и образования, а от развитости полушарий мозга. Мозг асимметричен.

Reply

oxij January 22 2011, 20:38:25 UTC
Нет, ну я верю, что бывают люди с проблемами в элементарной логике (однажды видел такую тётю в троллейбусе), но обычно все «не могу» - это «не хочу» или «боюсь». Двигать вперёд теорию категорий никто не заставляет же, а элементарный минимум просто и непринуждённо осваивается практикой.

Reply


Leave a comment

Up