Re: Tempting change..

Andreas Aardal Hanssen <[email protected]> Fri, 29 Jul 2005 14:44:26 +0200 (CEST)
Newsgroups gmane.mail.imap.binc.devel
Message-ID <[email protected]>
On Mon, 25 Jul 2005, Peter Stuge wrote:
>On Sun, Jul 24, 2005 at 02:46:49PM -0500, Jeremy Kitchen wrote:
>> On Sun, July 24, 2005 7:48 am, Andreas Aardal Hanssen wrote:
>> > So I'm thinking about Qt 4 Open Source
>I feel strongly against this..
>> plus... and especially in the case of gentoo users, installing Qt
>> is a real pain...
>..because Qt is so big.
>[..]
>> Qt is really really nice though :)
>..probably, but it's so big.

Actually, QtCore is ~1.4MB. I think there are several other libraries out
there that are significantly larger.

>I think it's (almost) OK for KDE to depend on Qt but I don't like "Qt"
>and "server" in the same sentence. Oh, guess I just wrote that already..
>:)

That's different with Qt 4. Qt 4 is a collection of libraries now, and the
only library that would be in use would be QtCore. Qt 4 is a complete c++
dev framework; not a huge GUI library. And the QtCore and QtNetwork
modules target non-GUI development directly. We wouldn't use QtNetwork,
though.

>* ease of use (compile time, installation requirements)
>* size (lines of code, security obviously)
>* memory usage and speed (C++ is resource hungry, one bincimapd and Qt
>  per logged-in user => gigabytes worth of RAM.. (Yeahyeah, shared
>  objects..))

This I don't understand. I'm quite certain that using Qt would reduce the
number of lines in Binc IMAP; especially because of the hassle of running
around with pointers and const references. For instance, all Qt containers
are implicitly shared and do copy-on-write. They also use less memory than
the STL ones, and are faster than STL ones (despite that there is no
memory pooling, which btw means that today's on-average 3-4MB binc
processes would drop to a pleasant 1-1.5, which is what is actually in
use).

>Agreed, most users may not self-compile, but please don't add this
>dependency to the few of us that do.

Qt compiles on more platforms than Binc does, so I don't think this would
be a big issue.

>Size, as I said, unless Qt4 is split up in lots of bits and pieces adding
>Qt to bincimap(-up) exposes it to unauthenticated users on the network.

http://doc.trolltech.com/4.0/qt4-intro.html#build-system

>Which exact features in Qt are you longing for, Andreas? I guess it's
>more than Unicode? Perhaps more light-weight alternatives can be found?

Qt is light-weight already. There's absolutely nothing bloated about it.
And seriously, if you can find another free toolkit out there that can do
text codecs, implicitly shared fully-featured containers, process/thread
handling, plugins and internationalization... :-)

Andy

--
Andreas Aardal Hanssen   | http://www.andreas.hanssen.name/gpg
Author of Binc IMAP      |  "It is better not to do something
http://www.bincimap.org/ |        than to do it poorly."