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

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: