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 519439
To read all comments associated with this story, please click here.
Unix is beautiful because it's ugly
by Hypnos on Fri 25th May 2012 16:44 UTC
Hypnos
Member since:
2008-11-19

Like the English language, Unix is inconsistent, difficult to learn and impossible to master.

For the same reasons it is flexible, powerful and often fun.

Reply Score: 8

WorknMan Member since:
2005-11-13

Like the English language, Unix is inconsistent, difficult to learn and impossible to master.


I remember my first experience with Unix, back before I had access to the internet. I had to get a book just to figure out what the goddamn 'help' command was. That is how f**ked up and completely counter-intuitive Unix is.

I know some people will defend Unix to the death, but I hate it. Just because something is powerful doesn't excuse it from being a pain in the ass to deal with. (C/C++ also comes to mind here.)

Reply Parent Score: 4

Hypnos Member since:
2008-11-19

As an architectural masterpiece I prefer OpenVMS, but its shell was never as usable as the Unix shells.

Overall my favorite setup was NeXSTEP -- Unix shell + the best GUI I've ever used.

Reply Parent Score: 3

shotsman Member since:
2005-07-22

Like the English language, Unix is inconsistent, difficult to learn and impossible to master.
Perhaps it should be

Like the English language, Windows is inconsistent, difficult to learn and impossible to master.

As a Unix user since 1981, Linux since 1994, I find Windows far more inconsistent than Unix has ever been.

Want an example?

I have a VM running on Windows 7. No matter what I do on one drive, every time I want to start it, it needs an admin override. Move the VM to another system or drive and it does not ask for an admin override. Three different Microsoft Gurus have looked at it can they are stumped.

Reply Parent Score: 5

Flatland_Spider Member since:
2006-09-01

Command lines are just cryptic. If you sat down at a computer running DOS, without knowing any commands, you would have had to get a book as well. Using Powershell for the first time is another example, it at least has a bunch of aliased commands to ease the transition.

Reply Parent Score: 2

UltraZelda64 Member since:
2006-12-05

I remember my first experience with Unix, back before I had access to the internet. I had to get a book just to figure out what the goddamn 'help' command was. That is how f**ked up and completely counter-intuitive Unix is.

I know some people will defend Unix to the death, but I hate it. Just because something is powerful doesn't excuse it from being a pain in the ass to deal with. (C/C++ also comes to mind here.)

Well go use Singularity or something then... then you'll have no UNIX *and* no C/C++.

Edited 2012-05-25 21:30 UTC

Reply Parent Score: 4

bosco_bearbank Member since:
2005-10-12

If my memory serves me right, the environment provided by Aztec C on the Apple ][ was Unix-like. It wasn't beautiful, and it wasn't ugly, but it wasn't very friendly, either.

Reply Parent Score: 2

ricegf Member since:
2007-04-25

...back before I had access to the internet... completely counter-intuitive Unix is.


Really? I just typed "Help" into Ubuntu, and got... help. Not that hard, really.

Oh, wait, you were probably using a shell, which isn't Unix - more like the command prompt on Windows or bash in Mac OS/X. Common mistake.

But yes, if you try to use the command line *only*, "man" and "info" are not exactly intuitive. Google, on the other hand...

What I'm really saying is that Unix years ago isn't remotely similar to Linux today in terms of new user friendliness - bad choice to use the word "is", don'tcha think?

Give it another shot; you'll be surprised.

Reply Parent Score: 2

stew Member since:
2005-07-06

I do not understand how inconsistency would be fun or flexible.
Here's a quiz - which one will operate recursively on directories:
'ls -r' or 'ls -R'? 'rm -r' or 'rm -R'? 'chmod -r' or 'chmod -R'?
The only reason I can come up with for this inconsistency is that there is no reason. There wasn't any thought put into it when those commands were written, and we've stuck with it for decades.

Reply Parent Score: 3

dylansmrjones Member since:
2005-10-02

It is only "rm -rf /" which will operate recursively on directories...

Bad joke aside, you're quite right.

Reply Parent Score: 2

Hypnos Member since:
2008-11-19

I like the fact that there are different shells, compilers, make utilities, editors, etc. etc. These are not all equivalent or even compatible. But it's good to do things different ways, as long as it all hangs together in the end.

This bazaar-like system will produce the kind of inconsistencies you point out, but it's no biggie if it produces better software in the end.

Reply Parent Score: 1

jabbotts Member since:
2007-09-06

I find it's often important to understand the "why" of a thing be it computers or other topics.

For chmod "-r" means "remove read permissions" so it can't also mean "do this recursively" hence, you have the only other available option "-R".

Granted, there are other examples like things that only recognize "--help" rather than providing a "-h" quick help display.

Still haven't found an OS that does remain truly consistent though either.

Reply Parent Score: 6

Zifre Member since:
2009-10-04

Like the English language, Unix is inconsistent, difficult to learn and impossible to master.

You do realize this describes every language, right? The only thing really unusual about English is its spelling.

Now that I think about it, this describes every non-trivial operating system too...

Reply Parent Score: 3

Hypnos Member since:
2008-11-19

The human languages I know other than English (Japanese, Latin) are far more consistent and easy to learn than English -- uniform grammar, phonetic spellings, etc.

Reply Parent Score: 1

Lennie Member since:
2007-09-22

Actually, English is pretty easy in comparison to a lot of other languages.

But Unix is atleast trying to adhere to the KISS principle, which, in my book, makes it pretty easy too.

It has a few basic concept.

Try to understand how Windows works. Good luck with that.

The simplicity to learn in Windows came from the GUI and actually for non-computer users Ubuntu is even easier to learn than Windows is these days.

Reply Parent Score: 4