Linked by Thom Holwerda on Fri 25th May 2012 14:55 UTC
General Unix James Hague: "But all the little bits of complexity, all those cases where indecision caused one option that probably wasn't even needed in the first place to be replaced by two options, all those bad choices that were never remedied for fear of someone somewhere having to change a line of code... They slowly accreted until it all got out of control, and we got comfortable with systems that were impossible to understand." Counterpoint by John Cook: "Some of the growth in complexity is understandable. It's a lot easier to maintain an orthogonal design when your software isn't being used. Software that gets used becomes less orthogonal and develops diagonal shortcuts." If there's ever been a system in dire need of a complete redesign, it's UNIX and its derivatives. A mess doesn't even begin to describe it (for those already frantically reaching for the comment button, note that this applies to other systems as well).
Thread beginning with comment 519579
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Re:
by kurkosdr on Sat 26th May 2012 19:34 UTC in reply to "RE: Re:"
kurkosdr
Member since:
2011-04-11

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

Reply Parent Score: 1

RE[3]: Re:
by Vanders on Sat 26th May 2012 22:32 in reply to "RE[2]: Re:"
Vanders Member since:
2005-07-06

Amateur user sees HDD1:Folder/image1.jpg and HDD2:image2.jpg and immediately understands what's going on.


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.

Reply Parent Score: 3

RE[3]: Re:
by Soulbender on Sun 27th May 2012 07:39 in reply to "RE[2]: Re:"
Soulbender Member since:
2005-08-18

[A]mateur user sees HDD1:Folder/image1.jpg and HDD2:image2.jpg and immediately understands what's going on. [/q]

Moot point. The amateur user is already using gnome or kde (or whatever) so they have no problem knowing what the drives are and accessing the files on them.

Reply Parent Score: 2

RE[3]: Re:
by JuEeHa on Sun 27th May 2012 11:33 in reply to "RE[2]: Re:"
JuEeHa Member since:
2012-04-24

>>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)

Reply Parent Score: 1

RE[3]: Re:
by Kebabbert on Sun 27th May 2012 19:20 in reply to "RE[2]: Re:"
Kebabbert Member since:
2007-07-27

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).

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.

Reply Parent Score: 3

RE[4]: Re:
by manjabes on Mon 28th May 2012 06:38 in reply to "RE[3]: Re:"
manjabes Member since:
2005-08-27

"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).

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.

Reply Parent Score: 1