On 11/28/07, Pippijn van Steenhoven <[EMAIL PROTECTED]> wrote:

> after having taken a more detailed look at the runtime environment
> (specifically while looking for the *reasons* for all the #ifdefs),

As the person responsible for a lot of those POSIX #ifdefs, let me say
there is no *reason* for them; it was an unfortunate decision I've
regretted for many years. Alas, I still haven't found the time to fix
it.

> I found that much of POSIX, the entire graphics subsystem and more are
> all inside the runtime. Most (all used by unicon users? Symbian OS,
> anybody?) modern systems have a runtime linker and therefore, wouldn't
> it be a good idea to have platform-dependent modules and a
> platform-independent runtime? I don't like the overuse of the
> preprocessor in the runtime. It makes it hard to understand. What do
> Unicon people think of runtime linking?

I agree with you that all those #ifdefs make the code hard to
understand (and that's exactly why I regret it). But the issue of
runtime linking is entirely orthogonal. Readable code doesn't require
so/dll files! Just multiple source files -- one for each platform --
each implementing functions declared in a common header file. (You may
have heard terms like "hardware abstraction layer".)

There are two advantages of runtime linking: 1) you can update part of
the runtime without requiring the executable (iconx) to be re-linked;
2) since shared libraries can be shared between executables, you can
save on disk space. (Of course I realise that dynamic linking is very
fashionable and K00L these days, but as my mom used to say "if
everyone jumped off a bridge would you also?") The big disadvantage is
that dynamic linking is fragile and a big pain in the ass.

Advantage 2 does not apply -- no other executable uses iconx's X11 or
POSIX functions. (And a few MB of disk space is just noise on a 100 GB
disk.) Reason 1 does not make up for the incredible pile of shit that
is runtime linking.

Of course, these are just my opinions, and are worth exactly what you
paid for them! Code talks loudest -- so if Clint wants to split the
runtime into SOs and writes the code (or pays/convinces someone else
to) -- or if *you* were to -- then that's that!

Cheers, all!

-s
-- 
"I hate to advocate drugs or alcohol to anyone, but they've always
worked for me."

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Unicon-group mailing list
Unicon-group@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to