Ada_Ru форум

Обсуждение языка Ада

Ada 2012. Страница 2

Оставить новое сообщение

Сообщения

On Thu, 10 Jun 2010 16:54:45 +0400, you wrote:

 

Я не рассматривал это с такой точки зрения. Но да, - интересная мысль. Хотя, с другой стороны, вон сколько грохнули в Жабу и шарпа, а весь пар в свисток ушел.

Ну, в шарп запихнули уже и контрактное программирование, и функциональное программирование (лямбды!) и ещё фиг знает что.

 

И в Бейсик тоже.

 

Не надо делать из языка помойку.

 

Замечу что лямбды

существенно приятней при наличии сборщика мусора, с чем в Аде бяда.

 

Не вижу связи. Сборщик в Аде не нужен, практически.

 

Включили

бы в стандарт сборщик мусора, не некотых типов...

 

Незачем. Сделать пользовательские указатели (толстые, с примитивными операциями), а "мусор" - в библиотеку. Всех делов.

 

Кстати, в других языках не правильно. Сбор - функция пула, что туда кладу, то и собирай. От типа это никак не зависит.

 

Вообще, генеральный принцип - сделай нормальную систему типов, остальное само приложится. Ада 83, на тот момент, это наглядно продемонстрировала.

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Не надо делать из языка помойку.

Да. C# идет по стопам PL/I

 

Включили

бы в стандарт сборщик мусора, не некотых типов...

Незачем. Сделать пользовательские указатели (толстые, с примитивными

операциями), а "мусор" - в библиотеку. Всех делов.

Кстати, в других языках не правильно. Сбор - функция пула, что туда кладу,

то и собирай. От типа это никак не зависит.

Вообще, генеральный принцип - сделай нормальную систему типов, остальное

само приложится. Ада 83, на тот момент, это наглядно продемонстрировала.

 

Это всё конечно замечательно, однако я слабо представляю как пулы будут разруливать циклические ссылки например. Т.е. сборщик мусора таки нужен.

 

По кр. мере должен быть механизм который бы позволял узнать что содержится вот в этой вот структуре данных, нет ли там ссылок на кого-то ещё.

 

Да, и как быть если структуры из одного пула ссылаются на объекты из другого пула?

On Thu, 10 Jun 2010 17:55:00 +0400, you wrote:

 

Включили

бы в стандарт сборщик мусора, не некотых типов...

Незачем. Сделать пользовательские указатели (толстые, с примитивными операциями), а "мусор" - в библиотеку. Всех делов.

Кстати, в других языках не правильно. Сбор - функция пула, что туда кладу, то и собирай. От типа это никак не зависит.

Вообще, генеральный принцип - сделай нормальную систему типов, остальное само приложится. Ада 83, на тот момент, это наглядно продемонстрировала.

 

Это всё конечно замечательно, однако я слабо представляю как пулы будут разруливать циклические ссылки например.

 

Именно тем способом, которым это делает означенный алгоритм сбора.

По кр. мере должен быть механизм который бы позволял узнать что содержится вот в этой вот структуре данных, нет ли там ссылок на кого-то ещё.

 

Через конструктор указателя.

 

Да, и как быть если структуры из одного пула ссылаются на объекты из другого пула?

 

Ссылаются через специфичные указатели, которые контролируются сборщиком. Далее см. алгоритм.

 

То, что сборка вообще-то плохо, и не очень-то работает, если на нее безоглядно полагаться - проблема алгоритма и самой идеи, а не языка Ада.

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

sma

В GtkAda создаю тулбарную кнопку таким образом:

Open_Xpm : Chars_Ptr_Array := (...);

Close_Xpm : Chars_Ptr_Array := (...);

function New_Pixmap (Window : Gdk_Window; Xpm : Chars_Ptr_Array) return Gtk_Widget is

Mask : Gdk_Bitmap;

Pixmap : Gdk_Pixmap;

GtkPixmap : Gtk_Image;

begin

Create_From_Xpm_D (Pixmap, Window, Mask, Transparent =>

Color_Pak.Black, Data => Xpm);

Gtk_New (GtkPixmap, Pixmap, Mask);

return Gtk_Widget (GtkPixmap);

end New_Pixmap;

...

Gtk_New (Button, New_Pixmap (Get_Window (Window1), Open_Xpm), "Open"); -- 11111

Тулбарная кнопка, иконка Open_Xpm в ней и подпись "Open" создаётся и нормально работает. Теперь при нажатии кнопки хочу поменять иконку и подпись:

Set_Label (Button, "Close");

Set_Icon_Widget (Button, New_Pixmap (Get_Window (Window1), Close_Xpm)); -- 99999

Подпись кнопки меняется с "Open" на "Close". Старое изображение Open_Xpm пропадает, но новое Close_Xpm не появляется. Далее кнопка нормально фунциклирует но уже без иконки. Перепробывал разные варианты, ничего не помогает. Самое интересное в том, что если сразу в процедуре инициализации тулбара после Gtk_New (строка 11111) выполнить команду Set_Icon_Widget (строка 99999) то иконка Close_Xpm нормально появляется. :( Чё делать? ):

=Михаил=

__________ Information from ESET NOD32 Antivirus, version of virus signature database 5142 (20100524) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru/.ml

On Thu, 17 Jun 2010 18:01:38 +0400, you wrote:

 

В GtkAda создаю тулбарную кнопку таким образом:

[...]

Подпись кнопки меняется с "Open" на "Close". Старое изображение Open_Xpm пропадает, но новое Close_Xpm не появляется. Далее кнопка нормально фунциклирует но уже без иконки. Перепробывал разные варианты, ничего не помогает. Самое интересное в том, что если сразу в процедуре инициализации тулбара после Gtk_New (строка 11111) выполнить команду Set_Icon_Widget (строка 99999) то иконка Close_Xpm нормально появляется. :( Чё делать? ):

 

Вызывать Show на те Widget-ы, которые создаете. Контейнеры этого сами не делают.

 

А вообще, проще надо. Зачем динамически создавать картинки каждый раз? Почему не пользоваться Gtk.Stock? Зачем менять что-то в кнопке? Создаем две кнопки и меняем уже их. Кстати тексты и картинки (идентификаторы в стоке, или прямо изображение) я беру из ресурса, а не жестко кодирую.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

sma

Продолжаю терзать GtkAd-у:

Вызывать Show на те Widget-ы, которые создаете. Контейнеры этого сами не

делают.

-- Сначала попробовал:

Set_Label (Button, "Close");

Set_Icon_Widget (Button, New_Pixmap (Get_Window (Window1), Close_Xpm));

Show (Button); -- Не помогло.

-- Затем:

Show_All (Button); -- Ура! Заработало!

А вообще, проще надо. Зачем динамически создавать картинки каждый раз?

Почему не пользоваться Gtk.Stock? Зачем менять что-то в кнопке? Создаем

две

кнопки и меняем уже их. Кстати тексты и картинки (идентификаторы в стоке,

или прямо изображение) я беру из ресурса, а не жестко кодирую.

Чесно говоря, на Gtk.Stock и Gtk.Rc засматривался, но т.к. в дистрибутиве GtkAda 2.14 в ahare\examples не нашёл внятных примеров использования ни Stock-a ни ресурса поcчитал что проще решить задачу как это сделано в примере share\examples\testgtk. Но спасибо за идею. Буду копать в заданном направлении.

Кстати, имеется ли в природе некий 'репозиторий' примеров на GtkAda помимо share\examples?

=Михаил=

sma

Смотрю я на диалог ada_ru и удивляюсь. Кодировка символов у всех разная, читать сооЧения - бАльшой геморрой. Может как-то договориться о том в каком коде писать? Ещё вариат - помещать в начале сообщения в квадратных скобках кодировку, например '[UTF-8]'. Лично я шлю сообщения в коде KOI-8U (по версии IE8). Во всяком случае, заголовок рассылки где говориться "Русскоязычная рассылка для обсуждения языка Ада и .." читается именно в этом коде. Многое зависит от того кто какой почтовой программой пользуется. Может как то унифицировать и этот вопрос и изложить все рекомендации в шапке рассылки?

=Михаил=

__________ Information from ESET NOD32 Antivirus, version of virus signature database 5142 (20100524) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru/.ml

On Fri, 18 Jun 2010 11:18:23 +0400, you wrote:

 

Продолжаю терзать GtkAd-у:

 

Вызывать Show на те Widget-ы, которые создаете. Контейнеры этого сами не делают.

 

-- Сначала попробовал:

 

Set_Label (Button, "Close");

Set_Icon_Widget (Button, New_Pixmap (Get_Window (Window1), Close_Xpm)); Show (Button); -- Не помогло.

 

Не на кнопфель, а на картинку надо.

 

-- Затем:

Show_All (Button); -- Ура! Заработало!

 

Т.к. Show_All продергивает все компоненты, т.е. и картинку в том числе. Gtk_Button - на самом деле, контейнер.

 

А вообще, проще надо. Зачем динамически создавать картинки каждый раз? Почему не пользоваться Gtk.Stock? Зачем менять что-то в кнопке? Создаем две кнопки и меняем уже их. Кстати тексты и картинки (идентификаторы в стоке, или прямо изображение) я беру из ресурса, а не жестко кодирую.

 

Чесно говоря, на Gtk.Stock и Gtk.Rc засматривался, но т.к. в дистрибутиве GtkAda 2.14 в ahare\examples не нашёл внятных примеров использования ни Stock-a ни ресурса поcчитал что проще решить задачу как это сделано в примере share\examples\testgtk. Но спасибо за идею. Буду копать в заданном

направлении.

 

Кстати, имеется ли в природе некий 'репозиторий' примеров на GtkAda помимо share\examples?

 

См. сырцы:

 

http://www.dmitry-kazakov.de/ada/gtkada_contributions.htm#9.1

 

там же, как прицепить tool-tip к кнопке, и готовый generic, который делает все, что надо в средне-типичном случае.

 

Там же поддиректория test_gtkada содержит разные маленькие тесты для GtkAda. В частности, test_gtk_button.adb.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

On Fri, 18 Jun 2010 11:50:13 +0400, you wrote:

 

Смотрю я на диалог ada_ru и удивляюсь. Кодировка символов у всех разная, читать сооЧения - бАльшой геморрой. Может как-то договориться о том в каком коде писать? Ещё вариат - помещать в начале сообщения в квадратных скобках кодировку, например '[UTF-8]'. Лично я шлю сообщения в коде KOI-8U (по версии IE8).

 

А почему не E-mail reader? И зачем Internet Explorer? Троянское

коноводство?

 

Во всяком случае, заголовок рассылки где говориться

"Русскоязычная рассылка для обсуждения языка Ада и .." читается именно в этом коде. Многое зависит от того кто какой почтовой программой пользуется. Может как то унифицировать и этот вопрос и изложить все рекомендации в шапке рассылки?

 

Это называется MIME

 

http://en.wikipedia.org/wiki/MIME

 

E-mail reader должен поддерживать MIME, и все будет пучком.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Dmitry A. Kazakov wrote:

Смотрю я на диалог ada_ru и удивляюсь. Кодировка символов у всех разная,

читать сооЧения - бАльшой геморрой. Может как-то договориться о том в каком

коде писать? Ещё вариат - помещать в начале сообщения в квадратных скобках

кодировку, например '[UTF-8]'. Лично я шлю сообщения в коде KOI-8U (по

версии IE8).

 

А почему не E-mail reader? И зачем Internet Explorer? Троянское

коноводство?

 

Удивительно, что кто-то еще пользуется Internet Explorer-ом... :)))

 

Почтовые программы мы никогда не унифицируем. У каждого свои предпочтения,

а значит - свои тараканы по части кодировки. Я понял одно - пока ее не трогаешь

кривыми (в моем случае) руками - она работает нормально :)

sma

Не на кнопфель, а на картинку надо.

Попробовал дёргануть только за картинку:

Widget1 := New_Pixmap (Get_Window (Window1), "open.xpm");

Set_Icon_Widget (Button, Widget1);

Show (Widget1); -- действительно, работает!

=Михаил=

sma

Удивительно, что кто-то еще пользуется Internet Explorer-ом... :)))

Естественно, это вопрос личных предпочтений. Удивительно, но 70 % рынка за IE. Остальные "смотрелки" такие красивые и замечательные пока нервно курят в сторонке. Как г-ца: "Противника - соперник поражает, а я всегда за тех кто побеждает!" (С) (х/ф "Труфальдино из Бергамо").

__________ Information from ESET NOD32 Antivirus, version of virus signature database 5142 (20100524) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru/.ml

Естественно, это вопрос личных предпочтений. Удивительно, но 70 % рынка за IE. Остальные "смотрелки" такие красивые и замечательные пока нервно курят в сторонке. Как г-ца: "Противника - соперник поражает, а я всегда за тех кто побеждает!" (С) (х/ф "Труфальдино из Бергамо").

 

У вас устаревшие сведения. У IE уже меньше 50ти процентов.

Alexey Veselovsky wrote:

 

У вас устаревшие сведения. У IE уже меньше 50ти процентов.

 

И заметно более 50% пролезшей из интернета заразы :))

On Fri, 18 Jun 2010 13:11:57 +0400, you wrote:

 

Alexey Veselovsky wrote:

 

У вас устаревшие сведения. У IE уже меньше 50ти процентов.

 

И заметно более 50% пролезшей из интернета заразы :))

 

Но надо отдать должное, Firefox с каждым разом все хуже и хуже становиться. Bug с элементарным показом текста уже как два года из версии в версию лезет. Тоже со скачиванием файлов. Пишет половину и говорит - готово. Я теперь только через Linux качаю, там этих bug-ов нет. Там - другие!

Это к вопросу о том, что писать-то на Аде надо. (:-))

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

On Птн, 2010-06-18 at 12:53 +0400, sma wrote:

Естественно, это вопрос личных предпочтений. Удивительно, но 70 % рынка за IE. Остальные "смотрелки" такие красивые и замечательные пока нервно курят в сторонке. Как г-ца: "Противника - соперник поражает, а я всегда за тех кто побеждает!" (С) (х/ф "Труфальдино из Бергамо").

 

А при чем тут популярность? Популярность значит попсовость. :)

 

email это кроссплатформенный стандартный протокол, также как и http. И программы либо поддерживают стандартный протокол. Либо достойны

презрения не зависимо от их популярности. :)

Новое сообщение:
< Страницы: 1 2

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти