2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
 Re: программирование
Сообщение21.08.2009, 15:34 
Xaositect в сообщении #236748 писал(а):
Википедия утверждает, что "In the academic realm of MIT there is a long tradition of criticizing object-oriented programming as a false annunciation." Понимаю, что это не авторитетный источник, но там еще ссылка на статью о том, что "no significant difference in productivity between OOP and procedural approaches"
Возможно, я ошибался, и в MIT действительно господствует негативное отношение к ООП. Возможно, что в среднем использование ООП не привело к повышению продуктивности разработки ПО по сравнению с ситуацией неиспользования ООП. Впрочем, последний вывод, если он и следует из исследований, вполне может нести коньюктивный привкус.

Могу сказать лишь о себе: переход к использовании С++ вместо С не дал мне существенных преимуществ. Когда же я понял суть ООП, преимущества возникли, а моя продуктивность возросла как будто "на пустом месте" - тот же язык, а результаты разительно другие. И я отнюдь не считаю, что "Classes and inheritance are syntactic sugar"; я использовал по сути аналогичные приемы в проектах на С и даже на Фортране :) , однако только когда концепция выходит за рамки "чистой" и начинает поддерживаться языковыми средствами, она становится действительно эффективной.

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

В любом случае, все, что я написал, - ИМХО; я не претендую на истину в последней инстанции.

 
 
 
 Re: программирование
Сообщение21.08.2009, 19:31 
ФП во многих случаях не может иметь места: как уже сказал PapaKarlo, в низкоуровневом программировании; в реализации пользовательских интерфейсов тоже. И больше пока в голову, кроме интерфейсов, ничего не пришло.
А вообще, ядро программы может быть без нареканий (только производительность, но она может быть улучшена оптимизациями) написано на функциональном ЯП, но интерпретатор/компилятор этого ЯП должны быть императивно-написанными.
Не стоит раздувать типичный ФП-vs-ООП-холивар, тут больше нечего сказать. У обоих есть преимущества. Но учиться программированию, думаю, лучше с ООП.

 
 
 
 Re: программирование
Сообщение21.08.2009, 19:53 
Аватара пользователя
arseniiv в сообщении #236842 писал(а):
в низкоуровневом программировании;

Ну тут от этого никуда не денешься.

arseniiv в сообщении #236842 писал(а):
в реализации пользовательских интерфейсов тоже.

http://haskell.org/haskellwiki/Phooey
http://haskell.org/haskellwiki/WxFruit
http://xmonad.org/
http://programatica.cs.pdx.edu/House/

arseniiv в сообщении #236842 писал(а):
А вообще, ядро программы может быть без нареканий (только производительность, но она может быть улучшена оптимизациями) написано на функциональном ЯП, но интерпретатор/компилятор этого ЯП должны быть императивно-написанными.

http://www.haskell.org/ghc/
http://hackage.haskell.org/trac/ghc/wik ... y/Compiler
Парсеры и преобразователи вообще хорошо пишутся в функциональном стиле.

arseniiv в сообщении #236842 писал(а):
Не стоит раздувать типичный ФП-vs-ООП-холивар, тут больше нечего сказать. У обоих есть преимущества. Но учиться программированию, думаю, лучше с ООП.

Я так и не научился программировать на C++, хотя не скажу, что меня плохо учили. И дело тут скорее не в ООП, а в C++. Это ужасный язык. Более-менее приличные библиотеки, типа boost, состоят из неудобочитаемых и неудобопонимаемых темплэйтов. Надеюсь, скоро будут учить ООП на примере Python.

 
 
 
 Re: программирование
Сообщение21.08.2009, 20:19 
Товарищи PapaKarlo и arseniiv, как говорится, имхо у всех имхастое.
Я же, привел литературу, которая и подтверждает мои слова. А ваши утверждения, относительно ФП и программирования в целом, не обоснованы и не надо ими вводить людей в заблуждение.

 
 
 
 Re: программирование
Сообщение21.08.2009, 20:34 
Я ни слова не говорил о Си++. Мне он тоже не нравится. Он не унифицированный, хотя операторы типа += хороши. Но они уже и так много где есть.
Xaositect в сообщении #236852 писал(а):
Парсеры и преобразователи вообще хорошо пишутся в функциональном стиле.
Ну т ак ведь самый первый парсер для функционального ЯП должен быть написан на нефункциональном. А потом уже можно сколько угодно раз писать дальше на чём угодно :)

AVM в сообщении #236865 писал(а):
А ваши утверждения, относительно ФП и программирования в целом, не обоснованы и не надо ими вводить людей в заблуждение.
Ну-ну, а это уже ваше имхо. Объективности ну никакой. :?

 
 
 
 Re: программирование
Сообщение21.08.2009, 22:06 
arseniiv в сообщении #236842 писал(а):
Не стоит раздувать типичный ФП-vs-ООП-холивар, тут больше нечего сказать. У обоих есть преимущества.
Полностью согласен.

arseniiv в сообщении #236842 писал(а):
Но учиться программированию, думаю, лучше с ООП.
Не знаю. Ничего сказать не могу - я сам учился.

Xaositect в сообщении #236852 писал(а):
Я так и не научился программировать на C++, хотя не скажу, что меня плохо учили. И дело тут скорее не в ООП, а в C++. Это ужасный язык.
Китайский - это ужасный язык. Сколько иероглифов надо учить. Но небольшая часть населения Земли имеет иное мнение (наверное).

AVM в сообщении #236865 писал(а):
А ваши утверждения, относительно ФП и программирования в целом, не обоснованы и не надо ими вводить людей в заблуждение.
Какие утверждения необоснованы? Утверждения, что не стоит возводить ФП на пьедестал?

 
 
 
 Re: программирование
Сообщение21.08.2009, 23:35 
AVM в сообщении #236865 писал(а):
Я же, привел литературу, которая и подтверждает мои слова. А ваши утверждения, относительно ФП и программирования в целом, не обоснованы и не надо ими вводить людей в заблуждение.

Вот Ваш список:
AVM в сообщении #236517 писал(а):
Броуди "НАЧАЛЬНЫЙ КУРС ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ФОРТ" - замечательная книга.
SICP - одна из лучших книг по программированию вообще.
Про ФП читайте у Харрисона "Функциональное программирование".
Кроме Вашего "имхастого имхо" ничего в этом списке нет.

Я себе представил молодого программиста, который ищет работу. У него спрашивают: "На чем программируете?". А он в ответ: "На Форте, Схеме, Эрланге, знаю Коммон Лисп. А С++, Делфи, Ява и, прости Господи, Бейсик - это отстой."

И не надо кивать на MIT. Там готовят не программистов, а докторов наук по Computer Science. И от C и С++ там вовсе не отказываются. Но считают, что ученый должен владеть разными парадигмами программирования.

 
 
 
 Re: программирование
Сообщение21.08.2009, 23:36 
Xaositect писал(а):
И дело тут скорее не в ООП, а в C++. Это ужасный язык.

Подпишусь. Особенно раздражает синтаксис шаблонов, масса правил для неявных преобразований типов таких, что, как сам Страуструп признается, иногда проще выполнить явное преобразование чем вспоминать правила, а также синтаксис указателей и ссылок. Одни только const char *, const *char. const * char * чего стоят.

 
 
 
 Re: программирование
Сообщение21.08.2009, 23:59 
PapaKarlo в сообщении #236899 писал(а):
Какие утверждения необоснованы?

Следующие:
PapaKarlo в сообщении #236729 писал(а):
Но Ваши высказывания по отдельным языкам программирования и парадигмам программирования в целом действительно спорны.

PapaKarlo в сообщении #236729 писал(а):
Абсолютные утверждения о том, что тот или иной язык программирования (парадигма программирования) лучше или хуже, просто неверны.

PapaKarlo в сообщении #236783 писал(а):
И я отнюдь не считаю, что "Classes and inheritance are syntactic sugar"

PapaKarlo в сообщении #236783 писал(а):
однако только когда концепция выходит за рамки "чистой" и начинает поддерживаться языковыми средствами, она становится действительно эффективной.

arseniiv в сообщении #236842 писал(а):
ФП во многих случаях не может иметь места

arseniiv в сообщении #236842 писал(а):
А вообще, ядро программы может быть без нареканий (только производительность, но она может быть улучшена оптимизациями) написано на функциональном ЯП, но интерпретатор/компилятор этого ЯП должны быть императивно-написанными.

arseniiv в сообщении #236842 писал(а):
У обоих есть преимущества. Но учиться программированию, думаю, лучше с ООП.

arseniiv в сообщении #236870 писал(а):
Ну т ак ведь самый первый парсер для функционального ЯП должен быть написан на нефункциональном.


-- Сб авг 22, 2009 00:25:28 --

2 Yuri Gendelman
"Я же, привел литературу, которая и подтверждает мои слова" = "В этих книгах Вы найдете подтверждение моим словам". Так что, приятного чтения.

 
 
 
 Re: программирование
Сообщение22.08.2009, 11:06 
AVM в сообщении #236688 писал(а):
Да? Вы ещё скажите, что в MIT неправильно преподают, в Кембридже.
Кстати, эпоха ушла. Вместо легендарного 6.001 в MIT теперь Питон.

http://web.mit.edu/6.00/www/ref.shtml

 
 
 
 Re: программирование
Сообщение22.08.2009, 12:58 
2 tolstopuz
http://groups.csail.mit.edu/mac/users/gjs/6.945/

 
 
 
 Re: программирование
Сообщение22.08.2009, 13:43 
AVM в сообщении #236989 писал(а):
Это H-Level Graduate. Я про совсем недавно закончившиеся времена, когда SICP был обязательным для всех первокурсников.

Кстати, несмотря на то, что в SICP совсем ничего нет про ООП, реально про него рассказывали.

http://ocw.mit.edu/OcwWeb/Electrical-En ... /index.htm (лекции 16-18)

 
 
 
 Re: программирование
Сообщение22.08.2009, 19:39 
AVM в сообщении #236920 писал(а):
2 Yuri Gendelman
"Я же, привел литературу, которая и подтверждает мои слова" = "В этих книгах Вы найдете подтверждение моим словам". Так что, приятного чтения.
Как и следовало ожидать, сказать по существу Вам просто нечего.

 
 
 
 Re: программирование
Сообщение22.08.2009, 19:44 
Yuri Gendelman, а вам есть чего? Тоже ссылками кидаетесь :!:

 
 
 
 Re: программирование
Сообщение22.08.2009, 19:53 
2 Yuri Gendelman
Я не собираюсь ничего Вам пересказывать, сами читайте.

 
 
 [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group