LINUX.ORG.RU
ФорумTalks

Еда из Карнеги-Меллоуна: у первокурсников ООП-капец


0

1

http://existentialtype.wordpress.com/2011/03/15/teaching-fp-to-freshmen/

Для !Ъ,

бложик принадлежит одному из профессоров этого университета. Он вещает, что с этой осени первокурсникам больше не будут читать курс объектно-ориентированного программирования, так как, по его словам, «ООП анти-модульно и анти-параллельно по своей природе, а поэтому не подходит для современного курса CS».

Новая программа основ компьютерных наук в университете Карнеги-Меллоун будет включать курсы (отдельные) императивного и функционального программирования. Функциональное программирование будет преподаваться с использованием Standard ML.

Кажется, у фанатичных ООПщиков будет много баттхерта по поводу данного конкретного профессора и университета вообще.

Я использую ОО и мне лично оно только помогает лучше структурировать и разделять код. Пишу на перле и яваскрипте. Да, я в курсе про Higher Order Perl. Готов утверждать, что ООП и ФП решают одну и ту же задачу, и в умелых руках приводят к равнозначным результатам.

★★★★★

ФП — парадигма элиты.

На ООП любое быдло писать может (спасибо крестам и сраной жабке), а на языках с использованием ФП парадигмы попробуй попиши, имея за плечами только школьный васик.

PolarFox ★★★★★
()

StandardML - это хорошо. Но вот только какое влияние это о5ажет на окружающий мир - еще вопрос. Скорее всего - никакого. Вроде в MIT до конца 90-х курс SE преподавался на Clu. Сколько человек на ЛОР хотя бы слышали о Clu? %)

tailgunner ★★★★★
()
Ответ на: ФП — парадигма элиты. от PolarFox

> На ООП любое быдло писать может (спасибо крестам и сраной жабке), а на языках с использованием ФП парадигмы попробуй попиши

Язык программирования как способ выделиться из толпы, какая прелесть %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Я придумал новое слово: «Линуксексуализм»

У кого-то ЯП, у кого-то используемая ОС, у кого-то сексуальная ориентация, хехе.

PolarFox ★★★★★
()

Вообще-то что-нибудь из семейства ML-ей надо знать. Ибо влияние переоценить сложно.

Zenom ★★★
()

данного конкретного профессора

Мог бы и озвучить, это же Роберт Харпер.

dmsh
()
Ответ на: комментарий от Zenom

Вообще-то что-нибудь из семейства ML-ей надо знать

три чая этому гражданину

jtootf ★★★★★
()
Ответ на: ФП — парадигма элиты. от PolarFox

ФП — парадигма элиты.

>На ООП любое быдло писать может (спасибо крестам и сраной жабке), а на языках с использованием ФП парадигмы попробуй попиши, имея за плечами только школьный васик.

У вас БУТСТРАП!

mutronix ★★★★
()

Троллинг: после слов типа anti-modular я бы его уволил.

true_admin ★★★★★
()

Кстати, это университет Карнеги-Меллона. Нет буквы «у» в этом слове.

tailgunner ★★★★★
()

кто-нить въехал почему ООП зло? Я вот пока въехать в это не могу: http://lambda-the-ultimate.org/node/4235#comment-64975
To my mind это просто высер какого-то теоретика. Вроде какой-то смысл иногда прослеживается, но вот общий вывод «ООП ни на что не годен» идёт в разрез с тем фактом что на нём таки более-менее успешно пишут проги. Второй коммент снизу о том что как минимум ООП годится в качестве «metaphor factory» мне очень нравится, именно так ООП я и воспринимаю. Обладает ли таким качеством функциональное программирование(я хз, я нуб в этом)?

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

true_admin ★★★★★
()

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

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

spoilt ★★★
()

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

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

Ой что будет когда они узнают про ассемблер или domain specific languages...

Короче, задроты-теоретики.

true_admin ★★★★★
()
Ответ на: комментарий от spoilt

> студент вышедший из недр университета, и при этом не знающий даже основы ООП, будет очень долго искать где приткнуть себя и свои знания.

«Our goal at Carnegie is provide students with an education, not training. There are plenty of opportunities for them to learn the old ways, and to pick up industry practices on the fly. My department head recently had a meeting with the (very many) Carnegie alums working as developers at Facebook, and they overwhelmingly said that one of the three most important courses for them was my course on functional programming. The reason? Because they learned there how to think abstractly, and learned what the code “should be”, and then used this as a model for working with the code “as it is”. They cited their ability as giving them an overwhelming advantage over the other developers with whom they work».

tailgunner ★★★★★
()
Ответ на: комментарий от spoilt

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

quantum-troll ★★★★★
()
Ответ на: комментарий от true_admin

> Ой что будет когда они узнают про ассемблер или domain specific languages...

Что заставляет тебя думать, будто они этого не знают?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Что заставляет тебя думать, будто они этого не знают?

я не видел «разоблачающих» статей.

true_admin ★★★★★
()
Ответ на: комментарий от quantum-troll

http://harmful.cat-v.org/software/OO_programming/

прошёлся по паре ссылок. Бред из разряда «Objects bind functions and data structures together in indivisible units. I think this is a fundamental error since functions and data structures belong in totally different worlds.». Дальше идёт бредовое «доказательство».

Ужас, эти люди смешали науку со своими религиозными взглядами.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

> Ужас, эти люди смешали науку со своими религиозными взглядами.

Вы всё еще воспринимаете harmful.cat-v.org всерьез? Тогда мы идем к вам.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Вы всё еще воспринимаете harmful.cat-v.org всерьез?

Это не важно т.к. доводы некого профа из К-Г абсолютно такие же. И да, у меня батхерт.

true_admin ★★★★★
()

да пусть будет - я только за. только сначала пускай добавят плагин к эклипсу с автокомплитом и деплоем на томкат какой-нибудь лисповый.

bender ★★★★★
()

Срыв покровов!

Что только люди на старости лет не скажут.

Deleted
()
Ответ на: комментарий от true_admin

>> Вы всё еще воспринимаете harmful.cat-v.org всерьез?

Это не важно

cat-v - это сайт-детектор :) Тот, кто постит ссылки на него, обычно закомплексованный неудачник.

т.к. доводы некого профа из К-Г абсолютно такие же.

Профессор тролль, но он приводит кое-какие здравые аргументы.

tailgunner ★★★★★
()
Ответ на: комментарий от spoilt

> Очень гнилая отмазка.

O_o

Она бы еще прокатила для средней школы, но никак не для университета.

Ровно наоборот.

tailgunner ★★★★★
()

ITT будет шабаш и веселье любителей ФП. кстати, гуру, объясните мне, тугому, что имел в виду профессор, когда сказал

ООП анти-модульно

RedPossum ★★★★★
()
Ответ на: комментарий от quantum-troll

В основном при работе со спецефическим оборудованием (станки, автоматика и прочие ништяки). Да, там все на более низком уровне и зачастую не трогается с четверть века. Однако не каждому выпускнику еще туда придется попасть, быстрее залететь в оутсорсинговую конторку и клепать ООП-поделки там. А тут сразу идет облом в виде незнания основ ООП. Да и крупные конторки ООП любят.

spoilt ★★★
()
Ответ на: комментарий от RedPossum

> объясните мне, тугому, что имел в виду профессор, когда сказал

ООП анти-модульно

В блоге его только об этом и спрашивают %) Но профессор туманно обещает рассказать об этом в будущем.

tailgunner ★★★★★
()

И кстати, про какое именно ООП говорил профессор: про структурное (Си++ и прочие костыли), классическое (smalltalk, ruby, python, io) или прототипное (js, lua, self)?

quantum-troll ★★★★★
()
Ответ на: комментарий от tailgunner

Ничего не наоборот. Еще недавно, кстати, спорили, что, мол, из-за линукса в школах дети не будут получать необходимые знания. На что справедливо заметили, что школа не готовит специалистов. Получается, что в США даже универы не готовят специалистов, они готовят школьников-переростков.

ВУЗ должен дать хотя бы базис знаний необходимых сейчас на рынке той или иной специальности (даже исходя из болонской системы). SML как язык никому и нафиг не впился, его даже гики сторонятся. Вот если бы сейчас в столичных вузах перестали бы преподавать Delphi/Visual Basic/C# (я точно не знаю что там у вас преподают), а поставили бы какое-то дремучее старье типа Кобола, то тут же начался бы нехилый такой срач типа «Россея вперде!» и тд.

spoilt ★★★
()
Ответ на: комментарий от true_admin

>Там ещё в коментах к оригинальной статье много чего понаписано, но, моё мнение, там народ понты кидает и строит из себя крутых ресёчеров.

ФП - это такая антикварная хреновина неизвестного происхождения и предназначения, дающая право попонтоваться в узком кругу раз в полгода :)

mutronix ★★★★
()
Ответ на: комментарий от quantum-troll

А некоторые еще и используют ФП+ООП мутантов. Всякое бывает.

spoilt ★★★
()
Ответ на: комментарий от spoilt

> ВУЗ должен дать хотя бы базис знаний необходимых сейчас на рынке той или иной специальности

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

профессор> they learned there how to think abstractly, and learned what the code “should be”, and then used this as a model for working with the code “as it is”. They cited their ability as giving them an overwhelming advantage over the other developers with whom they work

цель достигнута.

Вот если бы сейчас в столичных вузах перестали бы преподавать Delphi/Visual Basic/C# (я точно не знаю что там у вас преподают),

Я не из столицы и давно не студент :)

а поставили бы какое-то дремучее старье типа Кобола, то тут же начался бы нехилый такой срач типа «Россея вперде!» и тд.

А если бы поставили Standard ML?

tailgunner ★★★★★
()
Ответ на: комментарий от spoilt

Разумеется, SML это нерационально. Лучше был бы хаскель, он и востребован, и достаточно академичен, и годных проектов, исследовательских или прикладных на нём есть.

quantum-troll ★★★★★
()
Ответ на: комментарий от tailgunner

>В блоге его только об этом и спрашивают %) Но профессор туманно обещает рассказать об этом в будущем.

Видимо пошел читать книжки по ООП :)

mutronix ★★★★
()

> Кажется, у фанатичных ООПщиков будет много баттхерта по поводу данного конкретного профессора и университета вообще.

Если всё удастся. :) А вот если облом выйдет, то баттхёрт будет уже у функциональщиков.

Готов утверждать, что ООП и ФП решают одну и ту же задачу, и в умелых руках приводят к равнозначным результатам.


Рулит мультипарадигма. Ибо решение задачи и подходящий способ не тождественные понятия. Если углубиться в метафоры... Скажем:

Писали раньше только прозой, потом кто-то придумал стихи. Решили - красиво, давайте всё стихами. Прошло время - опомнились: рифма задаёт ритм, мешает вставить нужное слово, если оно не рифмуется. И всякие ямбы/хореи (ооп шаблоны проектирования) в своей массе не только помогают, но и вносят сумятицу.

И что нам предлагают? Опомниться? Нет, теперь все будут писать только хокку, а за рифму, даже случайную - расстел.

Ну куда это годится? ;-)

atrus ★★★★★
()
Ответ на: ФП — парадигма элиты. от PolarFox

> На ООП любое быдло писать может (спасибо крестам и сраной жабке)

Вот и дожил я до времени, когда C++ кодеров в открытую быдлом стали называть. *Скупая мужская слеза скатилась по неблитой щеке*

atrus ★★★★★
()
Ответ на: комментарий от tailgunner

Университет (CMU - это именно университет) должен дать выпускнику знания, с помощью которых он сможет в сжатые сроки освоить любую практически применяемую технологию.

Теперь я не удивлен почему американские выпускники становятся не у дел, когда приходят «наши».

А если бы поставили Standard ML?

Зав. кафедры повесили бы. А вообще у нас такое маловероятно. У нас еще с TP7 не слезли. Хотя после тряски ревизионным управлением начали, ворча, перелазить на Lazarus.

spoilt ★★★
()
Ответ на: комментарий от quantum-troll

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

spoilt ★★★
()
Ответ на: комментарий от spoilt

Университет должен давать студенту универсальные знания, а не навыки того, как правильно гайки на заводе крутить. Delphi/VB/C# - это уровень института, но никак не универа. В университете как раз и нужно изучать ФП, ООП, АОП и т.д.

mutronix ★★★★
()
Ответ на: комментарий от quantum-troll

>Лучше был бы хаскель, он и востребован

хорошая шутка. что-то не видел сотни объявлений о найме хаскел программистов

RedPossum ★★★★★
()
Ответ на: комментарий от spoilt

> Теперь я не удивлен почему американские выпускники становятся не у дел, когда приходят «наши».

Думаю, это легенда. В открытых проектах русских имен почти нет.

А если бы поставили Standard ML?

Зав. кафедры повесили бы

Боюсь, «наши» завкафы не слышали о Standard ML (для протокола: я знаю, что такое MosML).

tailgunner ★★★★★
()
Ответ на: комментарий от RedPossum

Не видел потому что даже не искал? Да они даже на ЛОРе были!

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

>> Рулит мультипарадигма.

Только пожалуйста не в пределах одного языка — комбайн-подход отвратителен.

Зато изучение дюжины языков под задачу со своими инструментами и причудами - это весело и спортивно?

mutronix ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.