4 ms·
Being among the most zealous to worship at the altar of Kernighan and Ritchie, I, nevertheless, over the years, have come to appreciate the positions expressed
by hf 12y ago
Being among the most zealous to worship at the altar of Kernighan and
Ritchie, I, nevertheless, over the years, have come to appreciate the
positions expressed in this fine, albeit often humdrum, collection.
Concrete examples of the insanity of Unix might by now be largely
obsolete (none of the csh- or symlink-related showcases work anymore),
but the basic, deep annoyance of the Haters seems to me ever-valid:
"Unix evolved; it was not designed".
This holds true even in the age of the beautifully engineered surfaces
of MacOS and Unity. Underneath, Unix lurks with all its idiosyncrasies
and peculiarly half-hearted assumptions and informs all of the
interfaces and paradigms above.
No one who ever saw a Genera machine at work or appreciated fully the
depth of Smalltalk's world view, will be able to dive into Unix and come
back with the same deep sense of enlightenment.
Unix' only redeeming, rather: defining, feature is this: relentless
adaptability. Unix, as an ideology and an ever-changing set of tools,
works precisely because it refuses to be held to any standard of aesthetics.
- chubot 12y agoThat's true, but any system that reached Unix's scope would have to be evolved and not designed. It's a failure caused by its success. If SmallTalk or Genera grew popular enough to satisfy the needs of billions of people and hardware devices, then they would be infested with evolved cruft as well. Systems may feel more "coherent" or "designed" with tight coupling. I'm certain that such systems systems would not have made the jump from servers to desktops to mobile phones like Unix did. They would have been replaced with something more loosely coupled. The core principles of Unix are still there. It's just layered under a lot of cruft. It's true that much of it is caused by incomplete understanding. I've been hacking on Debian internals and this has become very clear to me. People say FreeBSD is more coherent... it's been tempting to me to switch. But it's more coherent because it does less (has less features than) Linux or OS X.
- gtirloni 12y agoAny perceived design disadvantage gets overshadowed by the benefits derived from massive adoption. I think embedded developers might find VxWorks easier to work with but when they have to design something from scratch for it instead of just going with Linux which might already have everything ready (even if half-baked) ends up being the common choice. I think there are space for both (evolutionary and design-lead approaches). They just will be playing in different markets.
- innguest 12y agoSo are you saying there is no widespread, well-designed system in any area or industry? Or are you saying there's no widespread, well-designed system in IT? Or are you saying there could not be a widespread, well-designed system to fill Unix's niche? And if so, what's so delicately special about Unix's niche that it evades and/or resists a well-designed substitute? I'm genuinely curious, as I often wonder why no one is in the business of coming up with a better, simpler server OS. (I'm oversimplifying Unix here since that's the only role I care about, plus I believe, as Unix does, in "do one thing and do it well", which is ironic coming from a system that tries to be all things for all people.)
- gcb0 12y agoRead his comment again. It is impossible to have one system spanning several industries/markets/niches/etc and still be consistent. Yeah freebsd is widely used in it. But it doesn't have to support webcams, input tablets, printers (oh god, printers), games, etc...
- innguest 12y agoI reread it and I don't see where you're coming from. I agree with your impossibility statement; that's why I said it's ironic that Unix tries to be all things for all people, despite its philosophy. And why is FreeBSD it? Is there a quick, convincing pamphlet that can help answer this question? I keep hearing it but have never seen the reasons distilled, other than "it's more secure".
- ketralnis 12y ago> But it doesn't have to support webcams, input tablets, printers (oh god, printers), games, etc... I don't think I follow. There are very few things that you can do in Linux that you can't in FreeBSD. If you SSH'd into a FreeBSD system, you might not even notice that it's not Linux until you tried to do something system-level like install some software or change your IP address. To your examples, I have used a webcam and printer and played games on FreeBSD. But to that end, FreeBSD still has the whole mess of tools that Linux has (do we really need sed and awk and perl and...). It's much more accurate to call FreeBSD "unix" than it is Linux. In fact, this Unix Haters Handbook is dated before widespread popularity of Linux. So while FreeSBD may be better "designed" as a cohesive system than Linux, it's still guilty of every single criticism in this article, and is even more likely to be the intended target of that criticism. I know it's tempting to say "everything would be better if we all used this thing over there", but that thing over there that you think solves all of your problems probably doesn't exist.
- toast0 12y ago> People say FreeBSD is more coherent... it's been tempting to me to switch. But it's more coherent because it does less (has less features than) Linux or OS X. I'm not sure that FreeBSD does less than Linux or OS X. There's certainly some divergence (FreeBSD has an active Linux compatibility layer, but I don't know if iCBS is still active in Linux; FreeBSD has jails, Linux has containers, etc), and FreeBSD tends to have less of the try 7 ways to move forward and then standardize on an 8th way (although, how many firewall apis do we need?), but I think that's mostly driven by lack of contributions than anything else.
- chubot 12y agoNot a FreeBSD expert, but consider just mobile phone patches to Linux (largely due to Android AFAIK). In this respect, Linux wins by a mile in terms of functionality (power management) and supported architectures, and I'm sure it also contributes to the perceived messiness. Another example: FreeBSD has had jails for a long time, but I believe it didn't acquire the equivalent of cgroups until very recently. Linux has a LOT of stuff that only a few people use.