Thoughts on David Chisnall's article "10 Things I Hate About (U)NIX"
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Thoughts on David Chisnall's article "10 Things I Hate About (U)NIX"
Hi everybody,
Recent Linux convertee here, having migrated to Debian from Windows 7 after losing all faith in Microsoft. I'm having a blast so far, learning about Unix and higher computing in general while I'm at it - tons of fun. However, Unix is a bit mysterious to me as someone who has only used Microsoft OS's. I've messed around with some C++ in the past so I'm not a complete noob to computer things but I've never really given any serious thought to the operating system. I'm currently reading "The Art of Unix Programming" by Eric S. Raymond which has given me a decent (basic) account of the history of operating systems and introduced me to the basic Unix philosophy which I quite admire so far.
Anyway, I recently came across this article endearingly titled "10 Things I Hate About (U)NIX" which raises some objections that either go over my head or I don't think I fully understand. Some parts of the article are obviously dated and are now non-issues - it's been almost a decade and I hear that Linux has made tremendous headway in that time - but some points I imagine to be a bit more subtle and related to the basic philosophy of Linux in general. I would appreciate some comments on the article and the follow-up the author posted a few months later. I would just Google away until I get it but I think I would save much time and frustration if I had some kind of a roadmap to guide me.
The guy knows unix fairly well. He doesn't praise a single feature, he doesn't offer an alternative, he doesn't even praise the fact that it's free as in air. That article does not deserve your time.
He does know how to keep the flames flowing and this is just a callous exercise in doing that. Every program or system has it's limitations; He has no point about C, for instance. C is not suited to some tasks, but there's ada, awk, & 100s more programming languages to choose from including fortran, java and some clearly object oriented stuff.
The kernel is getting difficult for programmers (not users), so they're farming out tasks to userspace. The monolithic kernel is the way not to do it, but micro kernels like gnu hurd never got going for the pc, because farming out drivers is too much comms work and no gain.
His comments about programs are pure crap; Choose the wrong way to do something and you'll always be dissatisfied. Look for a system without limitations and you will likewise.
Reading an article that is ten years old about computers would be analogous to using an automotive repair manual that is a hundred years old because of the speed at which everything changes in the computer world.
Reading an article that is ten years old about computers would be analogous to using an automotive repair manual that is a hundred years old because of the speed at which everything changes in the computer world.
I know, but I am still wondering about his concerns with "everything is a file", "everything is text", stdio, system calls and introspection. The everything is a file philosophy survives to this day and my uneducated impression is that it has not essentially changed - and C is C. Obviously, the stuff about X is extremely dated. I took the article with a grain of salt but it is still uncomfortable that I do not know exactly what his problems with Unix were at the time and whether the problems persist or are ancient history. I just want to expand my knowledge, that's all.
I don't think that is true, or if it is he is very selective in using that knowledge only for the purpose of bashing Unix.
Disclaimer: I read only his Everything Is A File and Everything Is Text pages and could not stomach going any further...
His characterization of both of these is simply wrong, and he then uses his own incorrect characterizations to posit that the foundation principles are broken.
This is simply a hit-piece on Unix and Unix-like operating systems, not worth the read, not worth arguing about, and certainly not worth using to form your own understanding of Unix!
Everythng IS a file, and everything IS text, and that is a very good thing!
I took the article with a grain of salt but it is still uncomfortable that I do not know exactly what his problems with Unix were at the time and whether the problems persist or are ancient history. I just want to expand my knowledge, that's all.
I would say that reading this article is somewhat akin to trying to get your Unix knowledge from a Microsoft marketing campaign... nothing of use there! Even the "facts", such as they are, are there for the purpose of slandering Unix.
Until you gain your own understanding of the foundations and history of Unix, from solid knoweldgable sources as opposed to online magazine hit pieces, you will waste a lot of your time and everybody else's! I would suggest forming that understanding from more positive sources, then you will be able to judge among the negative arguments such as these when you encounter them.
There is obviously a LOT of material available on the internet for this subject, and you will need to filter it as best you can. But since you asked about this particular one... consider it filtered, with a vengeance!
I would suggest you read at least one of the books by the likes of Ken Thompson, Brian Kernighan, Dennis Ritchey, and other of their class, and only then move on to the critics.
Even reading some basic articles about the UNIX file system will provide enough knowledge to build a foundation of understanding. Then move on to more in-depth research if more knowledge is desired. My understanding of Linux and BSD was greatly increased by reading about the basics of the system and UNIX history. I have not read the linked article, but if you run across arguments like the "everything is a file" rant, just think to yourself. There must be a (not bad) reason for it, if the UNIX family of operating systems, which pre-dates Microsoft, are still around and thriving.
As time has permitted through the evening, in fairness, I have tried to read more of the article.
So far I have not found much to recommend it.
Some things in it simply set your head spinning, like this:
Quote:
One thing the Windows kernel does really well is security. Every single object has an associated access control list, which allows fine-grained access control to pretty much anything. The average user’s response to this is to decide it’s too complicated to understand, and that the simplest thing to do is set everything to full access.
UNIX, in contrast, has a very stupid security model.
I would suggest that you search online and really try to understand why Unix is as it is, and what problems were solved by that approach.
As stated by others, the history of Unix is very important to your understanding too, it is not all just about the technical aspects. You will find many references to the Unix Philosophy, try to grasp that as well as you can - lots of good ideas will flow from it!
But in the end, it really just takes time and exposure. The more you use it, the more you will understand and appreciate it!
UNIX, in contrast, has a very stupid security model.
That explains why Windows is the dominant choice for servers. (I forget if it is Microsoft or Apple, but one of them uses a Linux system to host the company's website.)
If I did not have a cold at the moment, it would be tempting to read the article for a laugh. But that is the "beauty" of the internet. Anyone can post anything, regardless of how good, bad, true, false, useful or useless.
Last edited by Randicus Draco Albus; 07-07-2014 at 09:56 PM.
(I forget if it is Microsoft or Apple, but one of them uses a Linux system to host the company's website.)
I actually remember that about as clearly as I remember anything these days... come to think of it...
It was Microsoft and about 1998/9 if my surrounding memories are correct.
I recall the story being that pretty much their entire web presence was hosted on Linux/apache, someone published a list of URLs and their HEAD responses - all Linux!
Within a few days they all claimed to be IIS (or whatever they called it then), but I'll bet they had not been moved so quickly!
A quick search did not turn up the story I have in mind, but I found this and this.
So they rely on Linux via Akami for security, and as of 2009 Bing was hosted on Linux servers.
How much will your opinion of these articles change if you read the part at the end?
Quote:
9. With what do you propose we replace UNIX?
At the moment? UNIX. Currently, UNIX-like systems are the least-bad choices. All the operating systems I use regularly are UNIX-based. If OpenVMS were open-sourced and ported to platforms that mere mortals can afford, then it might be an interesting choice as well, but I doubt that will happen.
The important thing is not to be satisfied with current, lackluster offerings. As soon as you start believing the system you are using is perfect, it will stop improving.
That explains why Windows is the dominant choice for servers.
To be fair, compared to plain UNIX permissions (so excluding things like AppArmor or SELinux) the Windows security model is by far superior. That Windows isn't the choice #1 for servers is IMHO caused by different circumstances, like lack of flexibility, greater resource usage, costs and the fact that the Internet started on UNIX machines, which were in turn replaced and expanded by much cheaper Linux systems. Even Microsoft has run their critical systems on UNIX right from the beginning, since they were very successful with their Xenix systems, long before the invention of Windows, until at least the mail servers were phased out for being replaced by Exchange systems.
How much will your opinion of these articles change if you read the part at the end?
I finally got to the end and read that.
It doesn't change my formed opinion, and seems almost a grudging concession to having been asked what would be better. By that point in the series of pages/articles I had concluded that he either did not understand the foundations of Unix in any practical way, or maybe had an axe to grind, who knows...
Overall I had the impression of a smart young man who thought he knew better than everyone else and was going to change the world (we all go through that phase!). About that time he was working for his PhD and very much surrounded by academia, but with perhaps little practical experience. I don't mean that in any very negative way, that is just my impression of the background at the time (2005).
What would really be very interesting to know is whether his opinions and outlook have changed since then. Perhaps he lurks or is a member here at LQ - I would invite an update!
I looked online for a current bio or web page but saw nothing up to date. Apparently, after a few years at RedHat he had returned to academia at Cambridge University and I found two citations for him (or same name at least) in 2014. He also has or had an affiliation with FreeBSD.
I wish him well by the way - have not intended to sound adversarial.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.