[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Несколько вопросов вразброс



04.07.2012 18:41, Artem Chuprina пишет:
> Артём Н. -> debian-russian@lists.debian.org  @ Tue, 03 Jul 2012 19:36:08 +0400:
> 
>  >>  >> То, что в нем объектов нет, это хорошо.
>  >>  АН> Это вопрос для чего.
>  >> Практически для всего.  Я тоже в свое время радостно ломанулся в
>  >> ОО-программирование.  Потом поумнел.
>  АН> Но это не значит, что ООП не имеет права на жизнь.
>  АН> Идея была такой просто и хорошей... :-(
> "Любая задача имеет короткое, изящное и очевидное _неправильное_ решение".
Ну это не совсем к теме ООП.

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

>  >> Помнится, код, переписанный с C++ на C со старательным выкидыванием всей
>  >> объектности, кроме нужной, стал на порядок компактнее, вдвое понятнее, и
>  >> давал в разы меньший результат при компиляции.
>  >> Tcl - он же функциональный по сути, зачем ему объекты?
>  АН> Хм... Честно не знаю. Объекты, в принципе, не лишние. Но как совмещается
>  АН> объектный и функциональный подход..? Хотя, библиотеки-то есть...
> Никогда не надо пользоваться тем, что "в принципе не лишнее".
> Пользоваться надо только тем, что тебе действительно нужно, и понимая,
> почему именно оно, а не альтернативы.
Да, бритву Оккама не отменяли. :-) Но, во-первых, не всегда возможно выбрать
лучшую из альтернатив, потому что обе они имеют взаимокомпенсирующие достоинства
и недостатки, так что, ни одна из них не является лучшей. Во-вторых, иногда
просто недостаточно информации для выбора.

> Я даже скажу, где в tcl/Tk мне не хватает свойства, характерного для
> объектной модели в хорошем ее исполнении.  Но оно есть отнюдь не только
> в объектной модели.  Мне не хватало возможностей модифицировать Tk'шные
> виджеты.  Включая возможность строить свой на базе готовых.  Оная
> возможность, кстати, есть в perl/Tk.  Но там как раз объектная модель, и
> описание интерфейса в результате стало куда менее читабельным.
Т.е., используя Tcl/Tk я не могу, например, взять панельку и построить на её
основе свою мегапанельку, которая станет равноправным компонентом? :-)

>  >>  >> А исключения и работа с файлами
>  >>  >> там есть.  Просто она не относится к синтаксису - это вам не PHP :-)
>  >>  АН> Хм...
>  >> Чего хм?  error/catch/return/bgerror и
>  >> open/socket/close/read/puts/seek/fconfigure/fileevent.  На последнее
>  >> особенно обрати внимание - я не знаю больше ни одного языка со столь
>  >> удобным обращением с асинхронными IO-событиями.
>  АН> Почему тогда на нём не пишут?
>  АН> Исторические причины?
> Интеллектуально-образовательный ценз :-) Чтобы воспользоваться тем же
> fileevent, нужно владеть парадигмой событийно-ориентированного
> программирования.  Не вычитать в экзамплах пару шаблонов для виджетов,
> чего худо-бедно хватает для написания стандартно-корявого гуя, а
> парадигмой владеть.
В плане? Так сейчас ООП и ГУЙ предполагают и асинхронность, и событийную модель.
В чём сложности?


Reply to: