вторник, 24 января 2012 г.

[prog] Что не так с ООП? Мнение Ричарда Гэбриеля

На RSDN сейчас развивается большой флейм под общим заголовком “Что-то нетак с ООП”. Насколько я смог заметить по беглому просмотру, одной из обсуждаемых тем там является повторное использование кода.

Имхо, очень точно на эту тему высказался в 1996-м году Ричард Гэбриель, один из известных Lisp-ероводов, в книге Patterns Of Software. Tales from the Software Community. Насколько точно, что я даже потратил некоторое время на то, чтобы перевести соответствующую главу на русский язык.

Поэтому без ложной скромности отсылаю интересующихся к этому переводу. Настоятельно рекомендую даже ;)

PS. В самой же книге, помнится, я осилил только несколько первых глав. Мне показалось, что чем дальше, тем больше мы расходимся во мнениях с автором. В результате чего книгу я не дочитал, может быть зря.

4 комментария:

  1. Опечатка в переводе (падеж последнего слова):

    "Похожей идеей были “Накопленные Алгоритмы”
    опубликованные ACM много лет назад в виде кода на ALGOL-подобном языка."

    ОтветитьУдалить
  2. 1. есть еще один взгляд на ооп, кроме сжатия -- данные упаковываются в класс для того, чтобы поддерживать инварианты

    2. ну да, сжатие... неявная зависимость от неявного контекста это плохо -- для борьбы с этим используются mixin (че-то похожее можно даже и в с++) и тайпклассы/концепты -- уже не ооп; в другой стороны, заставь всех явно выписывать требования, *очевидные* из контекста, с целью получить хороший code reuse -- разработчики возмутятся

    и да, это стоит денег -- время тратится *сейчас*, а профит от реюза *возможно* будет в *будущем*

    ОтветитьУдалить
  3. Женя, спасибо за перевод и вообше за то, что выделил нужный кусок. Тема эта меня например волнует уже давно.

    ОтветитьУдалить