I just upgraded to the latest stable Ubuntu release, and I continue to be impressed by this distribution. It has all the positive aspects of Debian, it’s free software, and it has a very high “just works” factor. If you plotted the Desktop Linux “just works” factor over the last five years, I think you could safely predict that Linux is going places based on the slope of that curve – its rate of improvement is dramatic.
One of the things that makes Ubuntu “better” than Debian is that they have made choices. Where Debian has gone to a lot of work to make it possible to use alternate software packages, Ubuntu in many cases has selected one (while not eliminating the ability to choose another one if you’re really set on it) that they feel is the best.
I like this as a design philosophy: give people the obvious choice without making them select between all the choices, but let them chose if they need to.
Tcl’s sockets work that way for instance:
set sk [socket www.foo.bar 80]
nice and simple – let the computer worry about looking up host names and such, and give people a line-buffered blocking socket that they can configure to be buffered differently or non-blocking, or any number of other options.
See Scaling Down