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

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



On Wed, 04 Jul 2012 20:34:17 +0400
"Артём Н." <artiom14@yandex.ru> wrote:

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

Смотря как ты собираешься её «брать и делать». Если надо собрать
несколько виджетов в кучку, то с помощью объектного расширения
snit::widget (которое, к слову, не вполне привычно, так как там не
наследование, а агрегация) можно это легко и красиво вделать. А вот
привычного по VCL/Windows::Forms/Swing пути «унаследовать класс и там
переопределить функцию OnDraw()» почти нет.

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

Сложности в том, что этой асинхронности любители TForm1.Button1Click()
не видят, она от них скрыта под толстым слоем объектов и абстракций. В
итоге там, где хватит fileevent, лепят 10 тредов и путаются потом в
синхронизации.

-- 
Alexander Galanin


Reply to: