Linked by Eugenia Loli-Queru on Wed 23rd May 2007 09:13 UTC
GTK+ Often I complain that GTK+ documentation (non-reference) is non-existent. The few GTK+ books that were ever written are now old and most of their included source code does not even compile anymore. All hail "Foundations of GTK+ Development" by Andrew Krause.
Thread beginning with comment 242698
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Another Book
by pinky on Wed 23rd May 2007 15:44 UTC in reply to "Another Book"
pinky
Member since:
2005-07-15

>I would probably use GTKMM, the C++ wrapper framework.

i agree. Sadly there is no Gtkmm book available and i prefer learning with a book.
Also a strong argument against Gtkmm, at least for me, is the missing feature to connect automatically the signals defined with Glade.

>Of course, these days I prefer Java and .NET. Coding for VM's seems to be the rage, you know.

That's the nice thing about Gtk+. You don't have to code in C, you can code in C++(gtkmm), Python(PyGTK), Java(java-gnome), C#(Gtk#),...
That's really great and it always remembers me about a statement from Owen Taylor (RedHat):
"And of course, the number 1 tip for GTK+ programming is: Don't use C; In my opinion, C is a library programming language not an app programming language."

There is only one problem in my view. This works really well as long as you use compiler-languages (C, C++, Java with gcj,...). But if people start using Python, Java, Mono and other interpreter- or VM-languages than it becomes really bad for memory usage. Imaging you are using 3 applets, on written in Python, one in Java and one in C# than you have all the time one interpreter and two VMs in the background.

Edited 2007-05-23 15:46

Reply Parent Bookmark Score: 3

RE[2]: Another Book
by JeffS on Wed 23rd May 2007 16:43 in reply to "RE: Another Book"
JeffS Member since:
2005-07-12

Good point.

That makes GTKmm more compelling.

But if one is going to with a higher level VM language, I would go with SWT / Eclipse RCP.

SWT is an API that in turn calls native APIs of three (currently) different native APIs: Win32, MacOSX, and GTK.

Thus, with SWT, you can make GTK native looking Java desktop apps.

Then with Eclipse RCP, you have all the advantages of JFace, the Eclipse workbench and plugin architure (abstractions on top of SWT), and you can use the Visual Editor.

Of course, then you can package your app for Windows and Mac, very easily.

In short, you get great native looking apps, with good performance (it's using native widgets).

As for GTK# - while it's technologically nice, and Miguel and the Mono crew have done an outstanding job - GTK# is extremely dangerous. It's inviting lawsuit, or intimidation and/or extortion from Microsoft. The recent Fortune magazine article, which contains MS's latest patent threats, makes this crystal clear.

Reply Parent Bookmark Score: 2

RE[3]: Another Book
by michi on Wed 23rd May 2007 17:15 in reply to "RE[2]: Another Book"
michi Member since:
2006-02-04

But if one is going to with a higher level VM language, I would go with SWT / Eclipse RCP.

SWT is an API that in turn calls native APIs of three (currently) different native APIs: Win32, MacOSX, and GTK.


I personally really like Qt Jambi, the Java language bindings for Qt. And the best thing is, you can even use them with Scala (http://www.scala-lang.org/). Scala is a modern general purpose programming that integrates features of functional and object oriented languages and it runs on the Java VM.

Reply Parent Bookmark Score: 2

RE[3]: Another Book
by jmansion on Wed 23rd May 2007 17:21 in reply to "RE[2]: Another Book"
jmansion Member since:
2006-02-20

>GTK# is extremely dangerous. It's inviting lawsuit,
>or intimidation and/or extortion from Microsoft.

Why? Come on, that's FUD. GTK# is NOT copying a Microsoft product. If GTK+ itself is NOT threatened, then why is a thin wrapper using a de jure standardised language threatened?

If there are any problems, it will be in the WindowsForms or ASP.Net side or other stuff that isn't in the ECMA standard.

Give Microsoft *some* credit for open standardisation where they've done it.

> The recent Fortune magazine article, which contains
> MS's latest patent threats, makes this crystal clear.

Go-one, be specific. MS can threaten wherever they have patents, but GTK# is no more and no less likely to be infringing than any random bit of code, so far as I can see.

James

Reply Parent Bookmark Score: 5

RE[3]: Another Book
by pinky on Wed 23rd May 2007 17:22 in reply to "RE[2]: Another Book"
pinky Member since:
2005-07-15

>Thus, with SWT, you can make GTK native looking Java desktop apps.

swt doesn't look native in a Gtk environment. Just look at eclipse and you will find many things which looks different than in a native Gtk+ environment.

Personally i would use SWT only if i know that a write a program mainly for windows and/or MacOS users. But for all programs which i write for myself and/orf for the X11 platform i would always use java-gnome.

>As for GTK# - GTK# is extremely dangerous. It's inviting lawsuit, or intimidation and/or extortion from Microsoft. The recent Fortune magazine article, which contains MS's latest patent threats, makes this crystal clear.

Please don't start the 1001th Mono flamewar. Gtk# is just a wrapper around Gtk+ if this violates any (MS) patents it high likely that Gtk+ itself violates the patents, because all the logic is in Gtk+ and not in Gtk#. Also MS is one of the smallest problem if it comes to patents. Today almost every program violates patents and the most danger comes from companies which large patent portfolio and without own "products". MS is one of the most harmless in this regard.

Reply Parent Bookmark Score: 5

RE[3]: Another Book
by lazywally on Wed 23rd May 2007 18:15 in reply to "RE[2]: Another Book"
lazywally Member since:
2005-07-06

GTK# is extremely dangerous. It's inviting lawsuit, or intimidation and/or extortion from Microsoft. The recent Fortune magazine article, which contains MS's latest patent threats, makes this crystal clear.

Incorrect and misleading.

You *might* be referring to System.Windows.Forms in Mono which is something else.

gtk# is inviting lawsuits as much as gtk+ or qt is.

Reply Parent Bookmark Score: 5

RE[2]: Another Book
by AlexandreAM on Wed 23rd May 2007 22:53 in reply to "RE: Another Book"
AlexandreAM Member since:
2006-02-06

If you think like that I guess you would really like to hear about Vala

http://vala.paldo.org

it is a programming language designed to be something like a To Gtk+ Translator. It looks a lot like C# and compiles to C Code using Gtk+ (and it compiles rather cleanly, except for a feature or two that needs some weird C code to work)

It is really great and I guess it could use a bigger mindshare right now to be useful to its full extent.

Reply Parent Bookmark Score: 1

RE[2]: Another Book
by abraxas on Mon 28th May 2007 01:21 in reply to "RE: Another Book"
abraxas Member since:
2005-07-07

But if people start using Python, Java, Mono and other interpreter- or VM-languages than it becomes really bad for memory usage. Imaging you are using 3 applets, on written in Python, one in Java and one in C# than you have all the time one interpreter and two VMs in the background.

It's actually not that bad. I have mono, java, and python apps running at the same time on a modern machine and it does fine.

Reply Parent Bookmark Score: 2