Wed Jan 2 12:14:57 PST 2002
> Someone should do a doctorate paper on the APIs developers write to
> create a portable runtime library for their application. You know,
> like the wacky 100 line portable version of open(3) that every program
> has so that they can open a file on all the platforms that are out
> there? Yeah, that portable runtime library.
I personally disagree with you to a certain extent but not completely.
I would say that the problem is that developers are way too lothe to
use libraries and accept dependancies. This is one thing that I think
that the gnome people got right. For years now they have been building
rich libraries which do most of the sundry tasks and then they use
them. These libraries allow them to develop quickly and with fewer
bugs. The downside is as you quickly see is that most gnome
applications have a gazillion dependencies. Therefore, building them
can sometimes be a chore. Most developers are not willing to accept
that and so they rewrite the same thing over and over...
If I were immortal and could enter a time warp where I could stay
indefinitely and where no time would pass while I was inside the time
warp, I would take a fully loaded debian box and rewrite everything so
that it used one set of libraries for all the common stuff. I think
we'd see a major jump in the performance, a major decrease in memory
utilization, and the number of bugs would drop sharply.
Libraries are great because they are heavily tested in different
environments and boundry cases are more carefully considered and
tested. Since they are used by lots of applications they are often
carefully optimized. Finally, they save time for the developer.
> Mozilla would be a good start.
> Then compare Informix and Oracle's source. I'll bet that the utility
> libraries do basically the same things with different APIs.
> Then look at everything else. Figure out a common set of needed
> functionality (even if it's 10,000 entries big).
> Then codify the APIs and submit them to ISO.
> I would rather have a 50 megabyte system runtime and 20% smaller
> application binaries than having all my applications load 6 different
> widget sets and 23 ways to parse the command line into core.
> - Jason
> Magnocartic, adj.:
> Any automobile that, when left unattended, attracts shopping
> -- Sniglets, "Rich Hall & Friends"
More information about the linux-elitists