Programmer's criticism of GTK2
- From: Maxim Koshelev <max krascoal ru>
- To: gtk-app-devel-list gtk org
- Subject: Programmer's criticism of GTK2
- Date: Thu, 14 Mar 2002 13:21:04 +0700
Hi there,
I've decided to post this some critics after exploring various parts of
GTK2 library.
Unfortunately GTK2 is awfull in some points of view, and perfect in another.
Of course all of us live in real world and nothing can be perfectly
perfect :-)
1)Let's compare old GtkCList/CTree and new TreeModel
-Using both of them we can't store a single pointer the row and use
it for FAST access in future.
GtkCList model hides them(pointers) from us, TreeModel forbids to use
stored iterators after any
changes of the list/tree. I absolutely do not understand WHY! Both (new
and old) list/tree structures does
not reallocate data of the row till it will be removed and added again.
-One can use iterators to access list rows in GTK2 and a number of a
row in GTK1.x. BUT (always BUT)
iterators can't be stored before changes and using again after changes
done so we allways need to create
iterator from GtkTreePath. But what is GtkTreePath? It's only a number
of a row (for a list) and list of numbers
of the rows for tree structure. gtk_tree_path_* routines is used very
very frequent inside GtkTreeModel subrutines.
Try to calc how often such routines is called during
gtk_list_store_remove :-) So comparing with GTK1.x GTK2 is
much more slower.
-Simplicity. Add a row to the GtkCList (with all data) and to the
list_store. Compare code length :-)
2) Let's compare old and new label widgets.
-New one can be selectable, can contain characters from different
charsets and more.
-Size of sources of new gtklabel is 80Kb versus 20Kb of old one.
3) i18n support in GTK2 is MUCH better than in GTK1.x.
4) GTK2 is MUCH slower than GTK1.x (try to run gtk-demo :-)
5) Stock icons should to be added even in GTK-0.x :-( But of course idea
of SizeGroups is good :-)
6) Size of gtktreeview.c causes anxiety :-)
Current state of GTK and GLIB looks like it have to be rewritten in C++
or another highlevel language :-)
But even with all above GTK2 is good work of its developers.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]