To view parent comment, click here.
To read all comments associated with this story, please click here.
Why? What's the benefit?
Simple. Amateur user sees HDD1:Folder/image1.jpg and HDD2:image2.jpg and immediately understands what's going on. User sees /Folder/image1.jpg and says "Da freak is this? Okay, I guess / is the hardrive i installed the OS or something, because this is were my usr directory is" Then he sees /mnt/hdd2/image2.jpg and says "Why is my second harddisk a subdirectory under my first harddisk? What's that mnt folder? Waahhh, I don't understand what's going on!" See, most people don't know the concept of "mounting", and good luck explaning it to them before their attention span ends. As you say, GUIs try (and partially) solve this problem by making it appear a if Unix/Linux has multiple roots, by Gnome still has a "filesystem" button that will expose the nastyness and confuse the user. IMO all GUIs should completely hide from users the fact Unix doesn't have multiple roots, by replacing "/" with HDD1: and /mnt/hdd2 with HDD2: and hiding the mnt folder, and have a switch somewhere in the settings that old timers can activate to get the real filesystem back (if you know how the Unix filesystem works, you should know the button).
Just how were you planning to type this non-printable ASCII character?
This sounds funny, but it's a real problem. It's the lack of a unit seperator button that's causing spaces to be a problem with most CLIs. Just use some key combination like shift+space. No, that would make typing slower. You could mandate double or single quotes, but again some people would complain it makes typing slower. Ok, I don't have an answer. Anyway, this isn't Unix's fault exactly, I admit.
Well tell me why I don't have X.org (or Wayland or MGR or any type of GUI) installed but I can still use graphical programs?
How? What is your OS using to draw on the screen? Do you have hardware accel and what drivers are you using? Anyway, the fact most (non-Apple) Linux and Unixes ship with the slow, problematic X.org, is turning people off from using them. If X is not needed, why everyone bundles it with their OS? So that some geeks can boast their OS has a network transparent desktop? Just selve the network transparent desktop most people don't need 'till you have perfected it. Geeks can download and install X by themselves if they want a network transparent dekstop. And since we are talking about graphics and audio stacks, Linux innovates once again by breaking audio too (which used to work in *nix) with pulseaudio, yet another middleman unecessary for most users.
PS: Another problem with *nix is that Unix has a really narrow hardware compatibility list, and Linux tends to break upgrades if binary blobs are used to run the hardware, but I am an optimist, and hope that Sputnik will solve this, by providing a range of laptops with Linux friendly hardware that doesn't break during upgrades, but till that happens, it's still a problem. And when it comes to Unix, it's still "good luck, dude" when trying to find compatible hardware (esp laptops)
Edited 2012-05-26 19:46 UTC
How do you figure that? I mean, what usability data do you have to support your claim that HDD1: is more unstable than /? Both are symbolic representations of an abstract concept. I'd put money on both being as "understandable" as each other.
>>Well tell me why I don't have X.org (or Wayland or MGR or any type of GUI) installed but I can still use graphical programs?
>How? What is your OS using to draw on the screen?
I use Linux framebuffer to draw graphical stuff on my screen. With it I can run at least Links2 with graphics, mplayer, Netsurf and DOSBox. I like it because it has made me able to quit X which took about 65% of my RAM on normal use. (I have 64MB of RAM)
Simple. Amateur user sees HDD1:Folder/image1.jpg and HDD2:image2.jpg and immediately understands what's going on. User sees /Folder/image1.jpg and says "Da freak is this? Okay, I guess / is the hardrive i installed the OS or something, because this is were my usr directory is" Then he sees /mnt/hdd2/image2.jpg and says "Why is my second harddisk a subdirectory under my first harddisk? What's that mnt folder? Waahhh, I don't understand what's going on!" See, most people don't know the concept of "mounting", and good luck explaning it to them before their attention span ends. As you say, GUIs try (and partially) solve this problem by making it appear a if Unix/Linux has multiple roots, by Gnome still has a "filesystem" button that will expose the nastyness and confuse the user. IMO all GUIs should completely hide from users the fact Unix doesn't have multiple roots, by replacing "/" with HDD1: and /mnt/hdd2 with HDD2: and hiding the mnt folder, and have a switch somewhere in the settings that old timers can activate to get the real filesystem back (if you know how the Unix filesystem works, you should know the button).
Now this suggestion is really bad. The main point, the single reason of using a tree (as in filesystem tree) is to have one root. You dont want a forest. You want one root, one mount point.
The algorithms/programming will be much more elegant and less bugs, if you have one root. If you have several roots, a forest of independent filesystems, then your program need to find out how many roots there are, and then run on each root. You have lost elegancy and require additional steps (how many roots are there) before you can run your program.
If you have a single root, with several mount points, the algorithm/programming will be unified and simplified. You just start to run on the root, and it will automatically traverse every node.
Windows works the way you describe. You have C: D: E: ... Z:. Now, let me ask you, where do you find the database server? On which disk? Where are all source code? On which disk? Easy to answer, right? Very intuitive, right? One company might use E: another uses Z:. No standard, a new user needs to traverse and examine each drive. Very very very ugly.
Compare to Unix. /opt/database. Or /opt/sourcecode. One root. You always know where to start. In Windows, do you start at D:? Or L:?
A programmer knowledgeable in algorithm theory, always prefer a single tree. The reason you propose your ugly suggestion, is because you are not a computer scientist, that is obvious. If you study some computer science, you will change mind set and understand how beatiful trees can be, and how they simplify the algorithms and programming very much. Recursion is extremely powerful, and makes elegant simple solutions.
I'm with kurkosdr, it's madness. His (and my) "fundamental misunderstanding" is indicative of just how wacky it is. Your inability, or unwillingness, to explain what we're missing just further underscores this. I'm guessing it would take a major effort to lead us through the convoluted logic to justify a scheme that's so counterintuitive to normal, non-Unix-indoctrinated people.
Furthermore, I've see how well named volumes worked on the AmigaDOS command line. That made sense.
Since many UNIX and Linux systems support file system labels (in different ways), this functionaliy can be considered a standard functionality. It's a feature commonly used today.
You can "mount /dev/label/data2012 /home/db/thisyear", or have the disks in your NAS labeled A1, A2, B1, B2, and SPARE. You can reflect RAID criteria (part of mirror, part of stripe, spare) as well as functional parts (system disk, data disk, program disk, scratch disk, secret disk). You can even automate mount actions depending on labels.
Oh I'm sorry, I didn't realise I was here to provide a CIS lecture. How about you make it your responsibility to educate yourself and then we can have an informed debate on both sides?
From the context of your post I'm guessing you're complaining about the directory structure. That wasn't what the original discussion was about. Whether "everything is a directory" with volumes mounted under / makes sense and whether the names and structure of those directories makes sense are two different things.
I'm actually inclined to agree that the current hierarchy and naming scheme in most *nixes are a complete mess.
So do I. Volumes on the Amiga were no more intuitive than everything-is-a-directory on UNIX. Why is LIB: or C: any more easy to understand than /usr/lib or /bin?
Edited 2012-05-27 12:44 UTC
Not just GNU find, either. Every 'modern' UNIX system I've used (AIX, HP-UX, Solaris) behaves this way.
That, and it's not *that* big a problem. Modern shells with tab completion cope pretty well with spaces in filenames, automatically escaping or quoting characters that would cause parsing problems. An annoyance, certainly, but only a small one.





Member since:
2005-07-06
GNU find has printed the results by default as long as I can remember using it. From the man page:
You seem to have a fundamental misunderstanding of how the UNIX file system hierarchy is constructed and why it is that way. There is no reason at all to change it, even a little bit.
Why? What's the benefit?
If it helps, most file browsers you're likely to come across these days will show you a bunch of shortcuts, usually these shortcuts include devices I.e. if you plug in a USB drive, a new shortcut will show up. Clicking on it takes you straight to the device. Which is precisely what you're asking for.
Just how were you planning to type this non-printable ASCII character?
In hindsight, you may be correct about spaces in filenames. But the set of allowable characters in a UNIX filename is not going to change now: it'd break too much stuff.