Re: Функционал и интерфейс
Покотиленко Костик -> debian-russian@lists.debian.org @ Thu, 19 Mar 2009 22:41:42 +0200:
>> >> >> Как только ты на C выбираешь достаточно высокий уровень, ты немедленно
>> >> >> получаешь высокоуровневый подъязык с неудобным синтаксисом и
>> >> >> ... правильно, все равно заботой о распределении памяти (почистить за
>> >> >> тобой все равно никто не сможет).
>> >> >
>> >> > В GTK+, создаёшь виджет "окно", напихиваешь туда кучу других виджетов,
>> >> > потом делаешь gtk_widget_destroy() на "окно", и освобождаешь его и всех
>> >> > потомков одной командой.
>> >>
>> >> После чего в памяти навечно остаётся висеть какой-нибудь pixbuf,
>> >> используемый в каком-нибудь image. Поскольку понадеялись на
>> >> gtk_widget_destroy и документацию к gtk_image_new_from_pixbuf на
>> >> предмет освобождения памяти перечитывать не стали.
>>
>> ПК> Баги есть везде. Э про это не знаю, pixbuf'ом практически не
>> ПК> пользовался.
>>
>> "Этот баг у них фичей зовется." В смысле - документирован, а не
>> исправлен...
>>
>> Баги, конечно, есть везде. Но вот их количество в разных местах
>> различно. В больших проектах, написанных на C, помимо неизбежных для
>> всех языков ошибок в логике программы есть еще туча ошибок в глупостях
>> типа управления памятью.
ПК> И это понятно, сначала научитесь управлять памятью, потом управляйте.
ПК> На самом деле в приличных проектах от эффективности управления памятью
ПК> зависит всё. Если это управление от тебя не зависит, от тебя уже мало
ПК> что зависит.
Посмешил. Вот приличные проекты, где от эффективности управления
памятью (в разумных пределах) ничего не зависит, мне попадались. А
чтобы всё - ни одного. Как минимум, потому что если проект таков, что
там что-то зависит от управления памятью, то от алгоритмов обработки
данных, в этой памяти лежащих, и логики принятия решений по распихиванию
в память зависит куда больше.
Кстати, хинт: если твоя сишная программа работает в линуксе из-под
непривелигированного юзера, управление памятью от тебя уже не зависит...
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
There's no sense in being precise, when you don't even know what
you're talking about.
-- John von Neumann
Reply to: