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

Re: Perfect Jessie is something like this...



On 11/02/2014 05:17 AM, Joel Rees wrote:
On Sun, Nov 2, 2014 at 5:35 PM, Jonathan Dowland <jmtd@debian.org> wrote:
I don't think we have universal agreement that systemd
violates the (rather nebulous)

(Well, engineering principles do tend to _appear_ nebulous, I suppose.)

To a lot of "engineers" as well. :(

UNIX philosophy,

True. Kind of like there was a time when Newton's description of
gravity was not universally accepted.

I wouldn't go as far as conflating natural and applied sciences.

"Unix philosophy" is just a verbal description of the ways that
principles of engineering apply in software. It is not yet well
formulated.

I'd say it's more of an application of computer science that works for academia and internet projects, but maybe not so well for industry. Projects out of industry tend to be monolithic, for various reasons, but most use modular Unix components. It's a good symbiosis and I don't want to discourage it by sounding dogmatic about Unix philosophy. This applies to systemd as well.

Modularity once looked like the paradigm, but we discovered that
modularity was also not easy to get our hands on. Lots of ways to
partition a design into modules, even given the focus on character
processing and use of filters in pipes.

Objects, patterns, etc., and we keep finding new ways to look at the
principles, and we keep finding contexts in which those ways of
looking at the principles don't apply.

Good design is as much an art as a science, and most of the principles are communicated by tradition. Each side dressing up their arguments with jargon just adds to the confusion. This article says much better than I ever could:

http://uselessd.darknedgy.net/ProSystemdAntiSystemd/

It should be required reading for any participant in a systemd thread.

at
least any more egregiously than the kernel,

Well, we know the kernel is significantly more monolithic than it
might be. Part of the reason Linus still has work to do is that it
takes time to figure out how to partition the kernel into modules that
work well with each other.

See http://www.realworldtech.com/forum/?threadid=65915&curpostid=65915

Getting it running was important, once people started using it. Now
the devs spend a lot of their time trying to find new ways to make the
kernel conform to principles of engineering.

If I understand what Linus is saying there, a lot of it is hardware limitations, and he has no choice.

<huge snip>



Reply to: