UNIX redone (254)

101 Name: #!usr/bin/anon 2005-12-04 17:19 ID:Heaven

I'll expand a bit on this. UNIX is the best and most productive system I've used, and yes, coherent. It all fits together. It's sure not perfect, but the alternatives aren't forthcoming. The critics ITT haven't produced any.

This thread has left a bitter taste in my mouth because many of the criticisms are based on a lack of understanding, or a lack of willingness to understand. >>1 for instance complains about inconsistent command-line options, but nearly all UNIX utilities do use options consistently: they are one character and can be combined, so "-9qo -" is equivalent to "-9 -q -o -". The --long-option style was invented by GNU and has been copied by some applications. It is not at all the standard.

The directory structure >>1 complains about serves a good purpose and is not at all a mess. /bin is for utilities that are needed when the system is booted in single-user mode and the files under /usr may not be available. /usr/bin is for other system programs, and /usr/lib is for system libraries. /usr/local is where applications and application libraries go. These distinctions are important for maintaining servers and timesharing systems. If >>1 only wants a single-user desktop computer, then maybe this is overkill for >>1. I, however, find the /usr vs. /usr/local distinction helpful and the /bin vs. /usr/bin distinction quite livable, if a little superfluous. MySQL and Qt are not part of UNIX and are therefore moot, although if >>1 thinks they suck so much, he's welcome to fix them or make something better.

I can recognize more than half of the files in /usr/lib and have at least a vague idea what the others do. The same goes for /usr/local/lib. I do not know what everything in /usr/bin and /usr/local/bin is, but I can easily find out by typing "man commandname". I do not need to know about library dependencies, because anything in /usr/bin or /usr/lib is part of the operating system and I have no reason to change it, and my operating system supplies a package manager that tracks dependencies in /usr/local/bin and /usr/local/lib (although this is not a standardized part of UNIX).

If "it's not that hard to devise a solution that combines simplicity and consistency with shared libraries and programs," then indeed, >>1, where is it? Anything is easy if you're not the person who has to do it. I find the directory hierarchy simple and consistent enough already. That's not to say it couldn't possibly be improved upon, but you haven't suggested any improvements, and there are more important things to worry about. There is no real problem with the current layout.

The complaints about shell scripting are pointless. If >>1 prefers to write Perl scripts, then why doesn't he just do so? There is nothing different about the process, only that the line at the top has to say "#!/usr/bin/perl" rather than "#!/bin/sh".

The configuration complaint is similarly without merit. The entire reason ls hides dotfiles by default is not to show configuration files. If you don't want to see them, don't give ls the -a option. Then >>1 complains about GNUstep and Zinf saving configuration files visibly, not as dotfiles. This is a valid complaint against those programs, but like the MySQL and Qt examples, the problem lies with poor-quality applications, not UNIX.

It is easier to dismiss a system as worthless and badly designed than to learn to use it properly. But if you must do the former, at least don't make stupid threads, please. If you have something better, just release it, and stop complaining about what exists, okay?

Name: Link:
Leave these fields empty (spam trap):
More options...
Verification: