Linked by Thom Holwerda on Fri 25th May 2012 14:55 UTC
Thread beginning with comment 519629
To view parent comment, click here.
To read all comments associated with this story, please click here.
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).
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.
"
There are several storage devices in your computer, some removable, some not. Abstracting it into one hierarchy just for the sake of lazy programmers and some other made-up reasons is crazy in the mind of a novice user and, at best, questionable when the novice develops into an advanced user. This "one root" magic that somehow maps into the real world (encompassing virtual filesystems like /proc and whatever is below /mnt) is a consequence of the unix design, not some universal panacea or *TEH ONLY CORRECT WAY* as some religious unixers make it out to be.
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:?
Is it /opt/database or /var/database? /database? /var/database-vendor-name ? No standard, a new user needs to traverse and examine every possible place in the tree that the database can reside in. Very Very Very ugly.




Member since:
2007-07-27
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.