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 519446
To view parent comment, click here.
To read all comments associated with this story, please click here.
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

WorknMan Member since:
2005-11-13

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


Except we're not talking about Windows here. Comparing Unix to Windows is like comparing your ugly girlfriend to your friend's ugly girlfriend, and then arguing over which one is uglier. In the end, everybody loses ;)

Reply Parent Score: 4

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

WorknMan Member since:
2005-11-13

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.


Well, when I sit down in front of a Unix terminal now days and type 'help', I at least get a list of commands to try. That wasn't the case when I first started ;)

Reply Parent Score: 3

Doc Pain Member since:
2006-10-08

Command lines are just cryptic.


Command line interfaces are more like a language than selecting from pictures. As every language, you have to learn it to make use of all its features. That's nothing bad per se; in fact, it's the required "pre-knowledge" that enables you to utilize its immense power of expression.

But allo me to illustrate this by quoting Master Foo Discourses on the Graphical User Interface.

One evening, Master Foo and Nubi attended a gathering of programmers who had met to learn from each other. One of the programmers asked Nubi to what school he and his master belonged. Upon being told they were followers of the Great Way of Unix, the programmer grew scornful.

"The command-line tools of Unix are crude and backward," he scoffed. "Modern, properly designed operating systems do everything through a graphical user interface."

Master Foo said nothing, but pointed at the moon. A nearby dog began to bark at the master's hand.

"I don't understand you!" said the programmer.

Master Foo remained silent, and pointed at an image of the Buddha. Then he pointed at a window.

"What are you trying to tell me?" asked the programmer.

Master Foo pointed at the programmer's head. Then he pointed at a rock.

"Why can't you make yourself clear?" demanded the programmer.

Master Foo frowned thoughtfully, tapped the programmer twice on the nose, and dropped him in a nearby trashcan.

As the programmer was attempting to extricate himself from the garbage, the dog wandered over and piddled on him.

At that moment, the programmer achieved enlightenment.

Source: http://catb.org/~esr/writings/unix-koans/gui-programmer.html

Also note that (like human languages) pictural elements can change their meaning. The most prominent example is the 3.5" floppy disk which means "save" even to those who do not know this media anymore.

For details, read the article "The Floppy Disk means Save, and 14 other old people Icons that don't make sense anymore".

http://www.hanselman.com/blog/TheFloppyDiskMeansSaveAnd14OtherOldPe...

I don't even try to claim that command lines (in general) aren't cryptic. Some of them are, some are not. I could try to argue that one human language is less cryptic than the other. It always depends what language you already know. This kind of knowledge can be adopted to command lines: If you know the language, ythere's nothing cryptic in it. If you don't know it, it's mostly unreadable.

Again, try to also see this argumentation for pictures and how we "read" them. Well... the quotes aren't neccessary I'd say. Pictures are also a form of language, with all implications. However, expressing in that language is much harder (in terms of usage related to a computer). You can select from a predefined set of symbols, but you cannot express directly in those symbols (unlike typing letters which form the language of a command line). This means what you can do with pictures is limited. You are limited in creativity on the basis of their language.

As always: Depending on specific settings, this can be a good thing or a bad thing.

Reply Parent Score: 9

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

moondevil Member since:
2005-07-08

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


This is actually what is so important in the C and UNIX relationship.

UNIX success was partially due to the portability offered by C, and C's became sucessfull, because UNIX took over universities.

If this integration was not so strong, they would had failed, most likely.

Reply Parent Score: 2

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

WorknMan Member since:
2005-11-13

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?


No, not really. Sometimes, to access a file in the same directory I'm in, I have to do './filename' (or is it /.filename? I can't remember). Some of the most important files in the system are in a directory named etc. Do you know what 'etc' means?

http://en.wikipedia.org/wiki/Et_cetera

Why the f**k would you put a lot of critical files in a directory that means 'and other stuff' ?

The default text editor for crontab on the systems I have to use is still vi, which is one of the most user-UNfriendly pieces of shit ever written. Hard drives are named 'hda' in the file system. And I could go on and on.

I suppose many Unix gurus would argue that the pain of learning such an ass-backwards an incomprehensible system such as Unix is a rite of passage for enjoying its power. And I also understand that a lot of its eccentricities can be understood if you ever learn what a developer was thinking back in 1970-ish when all of this was being put together. I'm just saying that in 2012, we should be able to do better than this.

Reply Parent Score: 2