Re: о кривости esd (was Re:ALSA)
On Tue, 25 Jul 2000, Vlad Harchev wrote:
> > >
> > > Тогда я не знаю - может acroread 4 (или 3) следует попробовать?
> >
> > И тот и другой пробовал. Четвертый вообще segfault-ится.
>
> Странно. Прямо сразу при запуске или на определенной странице? Может у тебя
> бетта? Может есть другой бьюилд?
Третий - из slink, четвертый из Corel WP Office.
И у Netscape все иконки в toolbar-е черно-белые были, что характерно
это _известный_ глюк.
> > эмулируется данным gtk-шным кодом) obsolete. grid - гораздо мощнее и
> > гибче. Но в любом случае задачи динамического изменения содержания окна
> > (скажем в зависимости от изменений в структуре базы, или от статуса
> > пользоватлеля) GUI-билдер не решает.
>
> Да, но может это уже задача программера? В gtk есть table - может это тоже
Да, несомненно это задача программера. А задача инструмента - помочь ему
это сделать. В этом плане инструменты где переход от
ручного создания GUI к программному прост и естественен и решается путем
добавления парочки циклов - rules.
> что и grid?
На первый взгляд - похоже.
Но по-моему Tk grid гибче.
> > И ты мне предлагаешь пользоваться GUI-билдером, который даже синтаксически
> > корректный код на всех языках поддерживаемых тулкитом сгенерить не в
> > состоянии?
Для C.
>
> На для какого языка он генерит синтаксически неправильный код? Для python?
> Или ты подумал, что кусок кода был сделан на билдере? Нет, тот кусок кода я
> ручками навскидку написал.
Да, естественно. Мне и в голову не придет, что пишучи ручками C-шный
код (т.е не содержащий ни одного места где _содержательно_ используются
references, объекты, наследование) человек будет его делать несовместимым
с компилятором C.
> > Присланный пример переводится на Tcl/Tk один к одному и получается
> > раз в пять компактнее за счет необязательности указания лишних параметров
> > и отсутствия необходимости вызова _init, создания главного окна и явного
> > входа в цикл обработkи событий.
>
> То ж Tk, а это C. На perlGtk код можно использовать вот такой код (он
Тк это библиотека. Она бывает и в C.
> строит окно с кнопкой внутри):
> $window = new Gtk::Widget "GtkWindow",
> GtkWindow::type => -toplevel,
> GtkWindow::title => "hello world",
> GtkWindow::allow_grow => 0,
> GtkWindow::allow_shrink => 0,
> GtkContainer::border_width => 10;
Особенно греют идентификаторы на полстроки.
> $button = new_child $window "GtkButton",
> GtkButton::label => "hello world",
> GtkObject::signal::clicked => "hello",
^^^^^
А это что? Не symbolic reference часом?
> > То есть "если ты не используешь нашу визуальную примочку, то хрен
> > напишешь что либо полезное". Прям Borland какой-то получается.
>
> Никто не заставляет его использовать. Но тот-же диалог на Tk на С писать
> примерно также геморойно, как и используя gtk с С.
Зато можно писать, используя _вербальные_ примочки - Python, Tcl, Scheme.
Человек все же отличает от обезьяны умение выражать свои мысли словами,
а тыкать пальцем обезьяна не хуже нас умеет.
> > Правда, использование XML в качестве языка описания GUI это слегка
> > компенсирует. Но все равно XML это не скриптовый язык.
>
> Зато можно cut-n-paste этого xml можно делать для быстрого редактирования
> диалогов.
cut-n-paste можно и C-шному коду делать. А Tcl-ный - так вообще генерить
по ходу дела самим же скриптом. Я как-то писал програму на тикле,
которая читала конфигурационный файл (на самом деле делала ему eval,
предварительно определив все ключевые слова конфига как процедуры),
и в процессе выполнения генерила еще одну программу на тикле, которая
в процессе выполнения генерила программу на php.
Сей процесс был мною торжественно обозван программированием высоких
порядков.
> Тебе просто разбираться с билдером и gtk лениво. Лучше потратить время на
> изучение билдера, чем ручками все делать.
Лучше найти себе средство которое будет за тебя все делать. Наилучшим
известным мне средством такого рода для генерации текстов (все равно,
программ, TeX-овских исходников, таблиц, HTML) являются скриптовые языки.
--
Victor Wagner vitus@ice.ru
Programmer Office:7-(095)-785-09-72
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
Reply to: