04.07.2012 18:41, Artem Chuprina пишет: > Артём Н. -> [email protected] @ 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, нужно владеть парадигмой событийно-ориентированного > программирования. Не вычитать в экзамплах пару шаблонов для виджетов, > чего худо-бедно хватает для написания стандартно-корявого гуя, а > парадигмой владеть. В плане? Так сейчас ООП и ГУЙ предполагают и асинхронность, и событийную модель. В чём сложности? -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

