Re: Java Versus gtk



Gus,

Thanks for a very good summary. It's evident there are lits of opinions. 
After reading all the answers here I've decided to stich with C and gtk++.

As for C++ being better for Opject-oriented programming than C, I figure 
I've been doing object-oriented programming all my life and just didn't 
know it.

John


On Tue, 17 Feb 2004, Gus Koppel wrote:

"John J. Boyer" wrote:

I'm considering a project which will run on multiple platforms. To
begin with, it should run on both Windows and Linux. Now I know about
the development package from Dropline and mingw. Since Java will also
run on multiple platforms, what are the advantages and disadvantages
of using Java versus gtk+?

Let me try to put it in a tabular way (to be viewed using a non-
proportional font):

+-------------------------------+-----------+-----------+-----------+
| Item                          | GTK+      | QT        | Java/Swing|
+-------------------------------+-----------+-----------+-----------+
| Native language               | C         | C++       | Java      |
| Language bindings             | Various   | Various   | Various   |
| Related desktop project       | Gnome     | KDE       | -         |
| Main platforms                | UnxWinMac | UnxWinMac | UnxWinMac |
| Integrated Developm. Envirs.  | -         | o         | +         |
| Sourcecode portability        | +         | +         | +         |
| Binary portability            | -         | -         | +         |
| Object oriented programming   | +         | +         | +         |
| Execution speed               | +         | +         | -         |
| Resource consumpt./requirem.  | +         | +         | -         |
| Non-GUI-related function sets | +         | +         | +         |
| Complexity / ease to learn    | +         | o         | o         |
| License                       | LGPL      | QPL/Troll | Sun       |
| License costs                 | +         | + / -     | +         |
| Freedom offered by license    | +         | - / -     | +         |
+-------------------------------+-----------+-----------+-----------+

Some of the ratings may be arguable. "+" means favourably, "-" means
detrimental, "o" means in between. I think the table should be mostly
accurate though I don't guarantee for it. Corrections or important
extensions are welcome. Anyway, it may assist in making a decision
which toolkit / language is best suited for the given needs.

Importance or relevance of the factors may be different for you, so
don't just count "+"s and "-"s. I.e., if high execution speed or lower
resource consumption is of any importance to you, then Java is mostly
out of the game already. If on the other hand "comfortable" developping
is more important to you than the resulting execution performance, GTK+
may lose, due to its lack of a full featured IDE. However, this doesn't
mean that no full featured applications can be written for GTK+. Many
people (like me) actually prefer using some more basic tools over one
mega-IDE application.

Java is the only language that provides portability on its binaries
and not only the source code. However, don't overestimate this factor.
It's of little importance for end users since most users likely use one
architecture at a time only. For the developer, lack of binary
portability basically just means an extra compilation per platform, but
no further significant development effort (if properly programmed). If
you intend to write non-GPL-like software (closed source and / or
commercial) then the licenses are important as well.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


-- 
John J. Boyer; Executive Director, Chief Software Developer
Computers to Help People, Inc.
http://www.chpi.org
825 East Johnson; Madison, WI 53703





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