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: