Linked by Thom Holwerda on Fri 25th May 2012 14:55 UTC
General Unix James Hague: "But all the little bits of complexity, all those cases where indecision caused one option that probably wasn't even needed in the first place to be replaced by two options, all those bad choices that were never remedied for fear of someone somewhere having to change a line of code... They slowly accreted until it all got out of control, and we got comfortable with systems that were impossible to understand." Counterpoint by John Cook: "Some of the growth in complexity is understandable. It's a lot easier to maintain an orthogonal design when your software isn't being used. Software that gets used becomes less orthogonal and develops diagonal shortcuts." If there's ever been a system in dire need of a complete redesign, it's UNIX and its derivatives. A mess doesn't even begin to describe it (for those already frantically reaching for the comment button, note that this applies to other systems as well).
Thread beginning with comment 519515
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: UNIX?!
by kwan_e on Sat 26th May 2012 00:57 UTC in reply to "RE: UNIX?!"
kwan_e
Member since:
2007-02-18

" Do Apple users care that a Macbook is BSD at its core? No, it just works.


I once explained this insidious habit of calling stacking layer upon layer "fixing things" (instead of actually fixing the root issues)
"

The reason why this layer stacking happens (developers like to call it "abstraction") is in the futile hope that if they can get everything to work on a standardized layer, they can then get on with the task of fixing everything underneath the layer without breaking people's setups.

That ends up not happening because 1) developers, whether open source or commercial, are fired up about the designing of a new layer, but that excitement dies soon after it's half finished 2) end user software can't keep up with the changes, whether it's the people making them, or the people using them not wanting to change 3) developers create competing standards which means no one wants to commit to a design that won't survive.

Layering is a necessary evil because no one wants to break everything, especially the developers.

Reply Parent Score: 7

RE[3]: UNIX?!
by Dr.Mabuse on Mon 28th May 2012 01:29 in reply to "RE[2]: UNIX?!"
Dr.Mabuse Member since:
2009-05-19

Layering is a necessary evil because no one wants to break everything, especially the developers.


IMHO: It's this "layering" (or rather clear separation of layers?) that keeps "Unix" going and relevant, is it not?

It means it can change and adapt instead of needing to throw everything out and starting from scratch when ever a new trend comes out.

Sure, it's nice to design a new bespoke system with no kludge from the past. You (potentially) get a smooth system, without many of the historical inconsistencies. However, more often than not, you end up solving problems that already have been solved a dozen or more times before.

Also regarding the calls to "start over", I know from bitter experience that it is very disappointing to invest so much time and energy only to find that everything you know and have developed expertise in is now completely deprecated.

Remember the feedback from the .NET developers when the primary development environment for Metro was announced? Can you imagine that sinking feeling? This is what it means to "start over" - we should really pause and consider the full ramifications of this idea before calling for a complete re-design.

I know things that I learnt way back when I was using Irix and HP-UX on a daily basis still have some relevance today. This is what *I* consider to be a good design - it permits knowledge accumulation.

IMHO: The "problems" people are seeing on the Linux desktop is not a fault of the Unix philosophy. They are merely competing visions. You really don't get this in any other OS environment. I for one appreciate the options available, even if it means the end result is not always something that appears super-slick to the naked eye.

Reply Parent Score: 1