Volker Armin Hemmann wrote:
> On Sonntag 14 Februar 2010, Enrico Weigelt wrote:
>> Volker Armin Hemmann wrote:
>>> no, but with static exes you have to recompile everything
>>> everytime a security bug is found.
>> That's the job of the distro buildsystem. Ah, and that dramatically
>> minimizes the chance that things break apart (i still remember
>> the old times when libc updates tended to be dangerous).
> 
> and even better - just introduce a single patch/updated package and 
> everything 
> is fine. What you are describing is maybe nice with gentoo. But a nightmare 
> if 
> you want something stable. Recompiling everything is not an option.

hmm, you consider Gentoo unstable ? ;-o

> Why do you think the whole industry went away from static - except for tiny 
> embedded devices?

Is that so ? Then, why are so many closed-source applications
statically linked ?

> no, under the axiom of sharable code. The size of a lib is not really 
> important - except if you use everything. But if you compile in 
> everything the lib does on a static basis, all your binaries are
> huge and bloated.

Yes, lazy page-loading, any maybe even lazy evaluation (uuh, tricky!),
but this also comes with costs.

Rethink the idea of tiny libraries: there's much more that can be
reused. There're always not just reasons for choosing some particular
library, but also ones for NOT choosing it.

For example, imagine some app where a few of glib's functions would
be useful, but there're other big arguments against it (eg. resource
consumption, unstable API, etc). So we have to find that stuff we
could have used somewhere else, or write it on our own.

The major problem w/ these big libraries is that they're highly
redundant from a function viewpoint. Why do we need dozens of
libraries which all define such common ADTs like linked-lists,
polygons, etc, etc, etc on their own ? Why can't they just all
reuse other, small libraries ? At this point, I'm very much a
Prof.Wirth's side: have one module per ADT, which only does that
thing right, but nothing more.

Don't forget that this is far beyond runtime memory consumtion.
Memory is quite cheap today. But developer's manpower is not.
When I review all the OSS projects (yes, commercial ones tend
to be even worse) I've been involved in the last 15 years, I'd
count at least 30% is completely redundant, completely useless
spent resources. Just because bad design decisions.

Just ask around the gentoo-devs how much time they spent into
things like slotting, complex dependencies (conflicts, circular
deps, ...), etc, etc. that's all caused by reallybad design
decisions coming from the upstream. With clean sw design you'd
never ever had to waste a single second on it.


cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 cellphone: +49 174 7066481   email: i...@metux.de   skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------

Reply via email to