Switch to .ruby extension?

I think I may be earning myself a reputation as a user-friendliness
Nazi, but I see no reason why a CLI can't be *very* user friendly. For
example, if someone types in "copy", it could spit out some
context-sensitive help about the right way to do a copy. These are the
nice little touches that take a product into the realm of maturity, in
my opinion.

Since the CLI is mostly used by developers, hard core users, wannabe geeks
and system administrators i don't really see the need to make the CLI this
user friendly. Not everything is meant to be a all in one jack in the box
with instructions on how to crank the lever. Would you like ASCII drawn
color images next to give the uesr a visual cue as well?

When it's so well designed, and so well understood by the
designers, that it's designed to help you get to where you're trying to
go, even when you're not exactly sure how to proceed.

Ok, the last place I want an end user is on the command line. They might
hurt themselves or the machine. And if you don't know how to use a product,
operating system, programming language, etc... RTFM.

As operating systems upgrade they may include all of these nice step by step
guides and procedures on how to do something, but since everything is
merely a perspective away I think that it causes more of a problem then it
solves. One person may like "cp", another "copy", another "duplicate",
another "clone" , another "copyfile", and the list can go on and on. To
support every variation would be a waste of developer time. And if you say
dont' support them all only support "copy" then you are being selfish and
only looking at this from your perspective. At some point someone had to
make the decision for it to be consistent across the board and I applaud
them. I have never used any languageset besides the default english one that
comes with any OS, but I would be interested to see if the spanish version
changes "cp" to "~cpiol" or some variation. If commands are consistent
across languages then I even more so disagree with you.

Most people argue that, if you've got the gumption to use Unix, you've
got the gumption to hike the learning curve - And if you need to have
your hand held along the way, you're better off with a GUI'd OS anyways.

Only insecure people who like to feel like they are 1 step higher then
others on the food chain do this. It makes them feel like somehow they are
better, smarter, more intelligent! Computers aren't innate, nothing in
technology is. Everything you know you have learned. You don't have a two
year old who innately knows how configure a syslogd server one day.

All of that may be true, but it's beside the point. The point is that
the paradigm is all wrong. To intentionally make things cryptic, and
then to leave them that way for decades on end is deplorable, and speaks
volumes about the direction that The Powers That Be are headed in.

Cryptic? cp to do a file copy isn't cryptic. An MD5 Hash of cp to do a file
copy is cryptic.

Is it a crime to make a powerful and sophisticated software system easy
enough for children to use?

No let's put a giant red button on each machine that says format, so they
can go push it. Anyways that is why children start with LeapFrog when they
are young, then they progress to using a computer. Then they learn on how to
use the computer.

Is it so bad if all the complexity is tucked
away under a nice interface until needed? (Be it command line or GUI, or
who knows what else). MacOSX seems to be a hit with Mac users.

And Linux is a hit with Linux users, BSD is a hit with BSD users and Windows
is a hit with uneducated users. :wink: MacOSX and MS Windows are the only OS's
where the Apple or Microsoft tried to reach every age, child, race and
religion of computers. Linux/BSD/UNIX were never intended that way. You are
taking the problem that Linux/BSD/UNIX solve and trying to reshape it.

Apparently, shoving all the sophistication under the rug has worked for
them. *nix OS's are a decade behind in the UI/user-friendliness
department, and there's no good reason for it to be like that.

Again the *Nix OS's were never intended to be an all in one jack in the box.
That is Windows and OSX's job. And although Windows and OS X are very pretty
they run much slower then my CLI nix box and because they have nice pretty
icons ticks me off, especially when the icons by default in Windows Longhorn
are half the size of my 21" monitor.

The
hardcore hackers don't need to lose anything if Timmy The Five Year Old
has an overlying interface to Unix that makes sense to him, so why the
incredible opposition to user-friendliness?

There are distributions of Linux that aim for this sort of thing. Maybe you
should google for it or check it out....http://www.linuxiso.org

My beef is with *nix people who think user-friendliness is a bad thing -
A threat to their way of thinking. It's utter nonsense. Software is kind
of a commodity these days, in that oftentimes, you can't even give it
away. That which isn't used, has no value. That which is used more, has
more value.

User friendliness is not a bad thing, but realize most *nix people don't use
*nix for UI's and GUI's. Most *nix users won't have a need for a intuitive
all in one UI and GUI. So why would they want to support it, if it doesn't
necessarily benefit them? And there are distro's aimed for UI and GUI
friendliness, go look at the link I gave you and browse the different
distros.

When you go buy technical books do you look for the popup books? If so I can
totally see where you are coming from and why you had so much frustration
finding "cp".

Also if you would have moved from Unix to Windows, you be asking where "cp"
was and wtf "copy" was there.

Zach

···

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004

David Garamond wrote:

Some braindead lines in the ruby interpreter. You can't even "require" rbw files
without patching the hardcoded extensions names in eval.c

It's not braindead. It's _as designed_ :slight_smile: The same for perl and python (which will automatically add .pm or .py/.pyc/.pyo).

Do you expect ruby to check every possible extension?

Forgot to add. I think .rbw is created specifically for Ruby scripts that are to be called directly by the user (e.g. clicked from the Explorer window). You are not supposed to name Ruby library files (that are to be require-d from other scripts) as .rbw.

···

--
dave

James Britt wrote:

He discusses what he sees as geek pride and bravado in using languages that lend themselves toward complex and/or terse code. In his view, hardcore geeks disparage Visual Basic in favor of Java because VB is too easy to learn and read; perl gets extra high points for executable line noise and the barrier to comprehension (at least for outsiders). He's

I used to think Perl is a pretty good line noise until I see this:

  http://www.kx.com/a/k/examples/xhtml.k

I swear that when I first saw it, I thought my browser was displaying garbage (like when the browser is viewing a gzip-encoded webpage verbatim).

:slight_smile:

···

--
dave

Tyler Zesiger wrote:

My beef is with *nix people who think user-friendliness is a bad thing -
A threat to their way of thinking. It's utter nonsense.

You're right, of course. However, I'd suggest you take the time to read
"The Art of UNIX Programming" by Eric S. Raymond, which helps explain
why things are the way they are. Not to defend the status quo, but to see
the history and choices made along the way, to see the alternatives which
didn't last.

For example, some OSes have a very long-winded command line,
and thus never developed the utility of UNIX's shell.

Neil Stevens <neil @ hakubi.us> wrote in message news:<PtLyc.14708$tA6.11021@nwrddc03.gnilink.net>...

I don't understand why it matters what the file names are for libraries.
What are you going to do if/when ruby starts getting some preprocessing
like Python gets? If you're hard-coding the full file names that'll break
your scripts, won't it?

I'm talking about my own multi-file Ruby programs, not libraries. If
my main script uses require or load to access the other scripts in the
same directory, I either have to name those other scripts with .rb, or
include the extension in the require/load command.

Or am I the only one who splits my larger Ruby programs into several
files for managability? Maybe it's just a habit I've carried over from
Java.

Neil Stevens <neil @ hakubi.us> wrote in message news:<PtLyc.14708$tA6.11021@nwrddc03.gnilink.net>...

Yes, make sure to do /usr/bin/env ruby, not /usr/local/bin/ruby. The former
will work work for more people (like those who have to put ruby in
$(HOME)/bin).

I just tried that, but I get an error if I try to pass ruby any
command line options, like -w. Is there a way around this?

The error I get is:
env: ruby -w: No such file or directory

I have to agree with you about the user friendliness issue in *nix. Writing
code is easy. Writing code that's powerful and flexible is hard. Writing
code that's powerful, flexible and is intuitive to learn and has a gentle
learning curve, or a learning curve that gets you to master quickly once you
learn the patterns of the basics, is really, really hard. Most programmers
never get to that level, so there are a lot of programmers out there who,
when asked to do something they simply can't do, defend themselves by saying
it shouldn't be easy to use/learn in the first place.

That mentality is, thankfully, going away as more and more truly brilliant
programmers are putting some of their time into newer open source projects,
instead of only into commercial ones. KDE is one good example of how that
way of thinking is fading away in the *nix community.

The command line interface, though, is a tough nut to crack because it's been
around so long. If it were being developed from scratch today, surely there
are enough inexperienced computers users that you could probably design
something that's both powerful and intuitive to use. Unfortunately, a lot of
it was set in stone when only the true eggheads (or the occassional neophyte
repeating some basic commands they learned rote) were using *nix. But you
have to give credit for all that the command line does and say "perhaps user
friendliness would kill a lot of its functionality." The CLI is more than
just a prompt and a bunch of commands. Many commands work together, allowing
you pipe information around from one to another, to create entire
applications together. The CLI is often not what people initially think it
is; some kind of cryptic COMMAND.COM for Linux. It's much more.

  Sean O'Dell

···

On Monday 14 June 2004 16:13, Tyler Zesiger wrote:

I don't know how much of the thread you read through, but I repeated at
least half a dozen times that the command line isn't the issue. It's the
general anti-userfriendliness mentality in the *nix community. I just
started with "cp" as an example.

Unix is user friendly. It's just picky about who its friends are.

Really, though, that's slowly changing. Things like GNU Getopt as
opposed to the older styles of option parsing. For a system that
entrenched (and specified to be so! There's standards documents that
mention command names), it's pretty good.

Ari

···

On Tue, 2004-06-15 at 08:13 +0900, Tyler Zesiger wrote:

I don't know how much of the thread you read through, but I repeated at
least half a dozen times that the command line isn't the issue. It's the
general anti-userfriendliness mentality in the *nix community. I just
started with "cp" as an example.

Quoteing mailing-lists@zesiger.com, on Tue, Jun 15, 2004 at 08:13:35AM +0900:

I don't know how much of the thread you read through, but I repeated at
least half a dozen times that the command line isn't the issue. It's the
general anti-userfriendliness mentality in the *nix community. I just
started with "cp" as an example.

Its a bad example, and what does user-friendly mean, anyhow?

Its marketing speach. The real question is how fast to learn is it, and
how effective to use is it?

If it interests you, you should read this:

  http://www.cryptonomicon.com/beginning.html

You may not agree with him, but its a great read.

The unix command-line is optomized for **use**. That optimization might
have made it harder to **learn**, but that's debatable, and for all the
whining over the years, nobody has made a shell that demonstrates how
the command line could be easier to learn if only it was only done a
little (or lot) differently, maybe because it can't be done?

I've typed "cp" many times a day, for close to 12 years, and I'm
perfectly happy it's 2 characters (like all the other commonly used
commands - consistency that makes it easier to use!), and I was told
only once that "cp" meant copy, couldn't have taken more than a few
minutes.

Are you really prepared to argue that the unix command line would be
measurably easier to learn how to use if you renamed mv, cp, ls, rm, and
cd to other names? Somebody is as likely to guess "relocate", "Copy",
"show', "delete", and "go", and they won't even guess the last one,
because anybody so uninformed about the shell that they are reduced to
guessing is unlikely to even know that there is such a thing as a
current working directory.

Anyhow, guessing the name for a command is as stupid a way to try and
use the command line as clicking on icons is to learn how to use a GUI,
or guessing the name of a method is to leaning how to use a ruby class.
Before you start at the command line, you need to know how to get help
(apropos), before you start with a GUI you need to know that hovering a
mouse over something might get you a help message, and before you start
learning ruby you need to know how to use an API reference.

Cheers,
Sam

Hello? "the command line isn't the issue".

Sam Roberts wrote:

···

Quoteing mailing-lists@zesiger.com, on Tue, Jun 15, 2004 at 08:13:35AM +0900:

I don't know how much of the thread you read through, but I repeated at least half a dozen times that the command line isn't the issue. It's the general anti-userfriendliness mentality in the *nix community. I just started with "cp" as an example.

Its a bad example, and what does user-friendly mean, anyhow?

Its marketing speach. The real question is how fast to learn is it, and
how effective to use is it?

If it interests you, you should read this:

  http://www.cryptonomicon.com/beginning.html

You may not agree with him, but its a great read.

The unix command-line is optomized for **use**. That optimization might
have made it harder to **learn**, but that's debatable, and for all the
whining over the years, nobody has made a shell that demonstrates how
the command line could be easier to learn if only it was only done a
little (or lot) differently, maybe because it can't be done?

I've typed "cp" many times a day, for close to 12 years, and I'm
perfectly happy it's 2 characters (like all the other commonly used
commands - consistency that makes it easier to use!), and I was told
only once that "cp" meant copy, couldn't have taken more than a few
minutes.

Are you really prepared to argue that the unix command line would be
measurably easier to learn how to use if you renamed mv, cp, ls, rm, and
cd to other names? Somebody is as likely to guess "relocate", "Copy",
"show', "delete", and "go", and they won't even guess the last one,
because anybody so uninformed about the shell that they are reduced to
guessing is unlikely to even know that there is such a thing as a
current working directory.

Anyhow, guessing the name for a command is as stupid a way to try and
use the command line as clicking on icons is to learn how to use a GUI,
or guessing the name of a method is to leaning how to use a ruby class.
Before you start at the command line, you need to know how to get help
(apropos), before you start with a GUI you need to know that hovering a
mouse over something might get you a help message, and before you start
learning ruby you need to know how to use an API reference.

Cheers,
Sam

Zach Dennis wrote:

I think I may be earning myself a reputation as a user-friendliness
Nazi, but I see no reason why a CLI can't be *very* user friendly. For
example, if someone types in "copy", it could spit out some
context-sensitive help about the right way to do a copy. These are the
nice little touches that take a product into the realm of maturity, in
my opinion.

Since the CLI is mostly used by developers, hard core users, wannabe geeks
and system administrators i don't really see the need to make the CLI this
user friendly. Not everything is meant to be a all in one jack in the box
with instructions on how to crank the lever. Would you like ASCII drawn
color images next to give the uesr a visual cue as well?

As a matter of fact, I think that's an excellent idea. But, as I mentioned later in the post, it's not really the point. It's the anti-user-friendliness paradigm that's the real problem, not the peculiarties of the command line, per se.

[snip]

Ok, the last place I want an end user is on the command line. They might
hurt themselves or the machine. And if you don't know how to use a product,
operating system, programming language, etc... RTFM.

Someone once told me to "RTFM" when I couldn't figure out how to work a *nix text editor. I felt insulted, that he insinuated that *I* was the one with the problem, not the text editor. In fact, text editors are dang near the oldest software technology we have. I've used dozens, maybe even hundreds of them, and not once have I ever had to "RTFM" before starting to use it, because they've all adopted the same intuitive UI conventions that have worked well for a decade - Except for *nix editors. They're 20 years out-of-date.

If you try to argue that typical *nix editors are in fact easy to use (vi, et al), and it's "obvious" how to use them, as many *nix people do, maybe you should step out of your geek-bubble and try learning something completely new - maybe something that's also poorly designed and 20+ years out of date.

I'd suggest something like American manufacturing. As soon as someone hears you complaining about stupidly the drill index is organized, you'll probably be told something as insulting as "RTFM". Almost everything is unintuitive, from a newcomer's perspective, if not everyone's. To the dinosaurs still working in American industry, it's "obvious" how things work, and they'll have no patience with you. As I've seen happen many times before, your intelligence will be called into question and you'll get fired the next day.

All because of crappy systems that refuse to die, because of arrogance and silly "tradition".

As operating systems upgrade they may include all of these nice step by step
guides and procedures on how to do something, but since everything is
merely a perspective away I think that it causes more of a problem then it
solves. One person may like "cp", another "copy", another "duplicate",
another "clone" , another "copyfile", and the list can go on and on. To
support every variation would be a waste of developer time. And if you say
dont' support them all only support "copy" then you are being selfish and
only looking at this from your perspective. At some point someone had to
make the decision for it to be consistent across the board and I applaud
them.

I think "copy" is something everyone could agree upon, but I don't see why it should take up a lot of developer time to make a "synonym file" that contains all of the words and phrases that might trigger a help program to explain the proper way to do things...even if that proper way is still good 'ol cp.

I have never used any languageset besides the default english one that
comes with any OS, but I would be interested to see if the spanish version
changes "cp" to "~cpiol" or some variation. If commands are consistent
across languages then I even more so disagree with you.

Once again, the *nix world is behind the times. It's called "localization". There's no reason that it can't be internationalized. Mandrake Linux has already taken a stab at it. Microsoft has been doing it for a decade, or more. It can be done, and the interest is surely there. The only reason it hasn't happened is because of the arrogant "RTFM" mentality in the *nix crowd, and the unwillingness of The Powers That Be to cooperate. How hard would it be to create a language plugin system that can intermediate between the OS inner workings and the end user, in order to provide the language the user wants?

I'm not suggesting we go and much with all the stuff that's well tested and works well, since that was your idea. But, once again, none of this is the point. The point is that user-friendliness is frowned upon in the *nix culture, for no good reason. I can only attribute it to arrogance, or maybe something akin to forbidding the translation of the bible from Latin. Who knows.

Most people argue that, if you've got the gumption to use Unix, you've
got the gumption to hike the learning curve - And if you need to have
your hand held along the way, you're better off with a GUI'd OS anyways.

Only insecure people who like to feel like they are 1 step higher then
others on the food chain do this. It makes them feel like somehow they are
better, smarter, more intelligent! Computers aren't innate, nothing in
technology is. Everything you know you have learned. You don't have a two
year old who innately knows how configure a syslogd server one day.

Oh yeah, I totally agree. That's the root reason for all this ranting I'm doing. Nothing is obvious, no matter how many times people say that it is. I guess that's why we have warning labels on everything in the USA, haha. Well, maybe the actual reason is because of the argument behind who's responsible for things not being obvious...

All of that may be true, but it's beside the point. The point is that
the paradigm is all wrong. To intentionally make things cryptic, and
then to leave them that way for decades on end is deplorable, and speaks
volumes about the direction that The Powers That Be are headed in.

Cryptic? cp to do a file copy isn't cryptic. An MD5 Hash of cp to do a file
copy is cryptic.

If a black screen with a blinking cursor is not cryptic, I don't know what is. Windows has a "Start" menu. Why can't the command line say "type 'man' for help" the first few times it boots up? I can't tell you the grief I suffered in the IRC chans when I first asked for help. All people would say is simply "man". What is "man"? I didn't know.

Oh, here's a good opportunity to mention that "help" doesn't help unless you know exactly what you need help with. "help cp" works, but as I found out all those years ago, "help copy" does not. That makes the help command virtually useless for someone who has no idea where to begin.

Is it a crime to make a powerful and sophisticated software system easy
enough for children to use?

No let's put a giant red button on each machine that says format, so they
can go push it. Anyways that is why children start with LeapFrog when they
are young, then they progress to using a computer. Then they learn on how to
use the computer.

Computer games for the youngest children are no more complex than leapfrog. It's certainly a good way to start the progression, as you say. I'm not even going to comment on the big red button idea.

Is it so bad if all the complexity is tucked
away under a nice interface until needed? (Be it command line or GUI, or
who knows what else). MacOSX seems to be a hit with Mac users.

And Linux is a hit with Linux users, BSD is a hit with BSD users and Windows
is a hit with uneducated users. :wink: MacOSX and MS Windows are the only OS's
where the Apple or Microsoft tried to reach every age, child, race and
religion of computers. Linux/BSD/UNIX were never intended that way. You are
taking the problem that Linux/BSD/UNIX solve and trying to reshape it.

Yep.

*nix OS's can do anything, so why limit them to an elitist geekdom? As far as I know, you're wrong about what *nix OS's were intended for. It looks to me like they've been designed to capably handle anything you want them to.

Apparently, shoving all the sophistication under the rug has worked for
them. *nix OS's are a decade behind in the UI/user-friendliness
department, and there's no good reason for it to be like that.

Again the *Nix OS's were never intended to be an all in one jack in the box.
That is Windows and OSX's job. [snip]

This webpage - http://www.stud.ntnu.no/~shane/dokumentasjon/commandline.html - has the following to say about what Linux is useful for:

"You can hook it up to twelve other Linux boxes and make it into part of a parallel computer. You can configure it so that a hundred different people can be logged onto it at once over the Internet, via as many modem lines, Ethernet cards, TCP/IP sockets, and packet radio links. You can hang half a dozen different monitors off of it and play DOOM with someone in Australia while tracking communications satellites in orbit and controlling your house's lights and thermostats and streaming live video from your web-cam and surfing the Net and designing circuit boards on the other screens."

The
hardcore hackers don't need to lose anything if Timmy The Five Year Old
has an overlying interface to Unix that makes sense to him, so why the
incredible opposition to user-friendliness?

There are distributions of Linux that aim for this sort of thing. Maybe you
should google for it or check it out....http://www.linuxiso.org

I know about those. They're the exceptions to the rule. I'm complaining about the rules, not the exceptions.

My beef is with *nix people who think user-friendliness is a bad thing -
A threat to their way of thinking. It's utter nonsense. Software is kind
of a commodity these days, in that oftentimes, you can't even give it
away. That which isn't used, has no value. That which is used more, has
more value.

User friendliness is not a bad thing, but realize most *nix people don't use
*nix for UI's and GUI's. Most *nix users won't have a need for a intuitive
all in one UI and GUI. So why would they want to support it, if it doesn't
necessarily benefit them? And there are distro's aimed for UI and GUI
friendliness, go look at the link I gave you and browse the different
distros.

GUI's aren't really what I'm advocating here. I use the commandline exclusively, and I like it. I'm advocating a general attentiveness to user-friendliness. Unix systems aren't really experimental anymore, it's time to make them easier to use.

When you go buy technical books do you look for the popup books? If so I can
totally see where you are coming from and why you had so much frustration
finding "cp".

I'm too old for popup books, but I *do* look for books that are easy to understand. Doesn't everybody? And, I had a hard time finding "cp" because I was staring at a black screen with a blinking cursor, with no other clues as to what to do next - NOT because I have the mind of a 3 year old, as you insinuate.

Also if you would have moved from Unix to Windows, you be asking where "cp"
was and wtf "copy" was there.

Yes, but only if I had a hard time finding out the proper way of doing things. Windows is in a whole other league as far as this is concerned.

···

Zach

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004

Hello David,

I used to think Perl is a pretty good line noise until I see this:

  404-Error | KX

I swear that when I first saw it, I thought my browser was displaying
garbage (like when the browser is viewing a gzip-encoded webpage verbatim).

Cool. And this code does contain comments :slight_smile:

···

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's

Mike Hall wrote:

Tyler Zesiger wrote:

My beef is with *nix people who think user-friendliness is a bad thing - A threat to their way of thinking. It's utter nonsense.

You're right, of course. However, I'd suggest you take the time to read
"The Art of UNIX Programming" by Eric S. Raymond, which helps explain
why things are the way they are. Not to defend the status quo, but to see
the history and choices made along the way, to see the alternatives which
didn't last.

For example, some OSes have a very long-winded command line,
and thus never developed the utility of UNIX's shell.

I think Unix is my OS of choice for this very reason. I do most everything I need through the command line.

Karl von Laudermann wrote:

Neil Stevens <neil @ hakubi.us> wrote in message
news:<PtLyc.14708$tA6.11021@nwrddc03.gnilink.net>...

Yes, make sure to do /usr/bin/env ruby, not /usr/local/bin/ruby. The
former will work work for more people (like those who have to put ruby in
$(HOME)/bin).

I just tried that, but I get an error if I try to pass ruby any
command line options, like -w. Is there a way around this?

The error I get is:
env: ruby -w: No such file or directory

Works here. That's unfortunate if it doesn't work everywhere.

···

--
Neil Stevens - neil @hakubi.us
"The world is a dangerous place to live; not because of the people who
are evil, but because of the people who don't do anything about it."
                                                 -- Albert Einstein(?)

I hate to dig up a (hopefully) dead thread, but /. linked to this website:

http://www.linuxworld.com/story/45237.htm

Hopefully such a thing will address concerns like this in the future. Although, you still have to actually read it :slight_smile: .

Austin McDonald

Mike Hall wrote:

···

Tyler Zesiger wrote:

My beef is with *nix people who think user-friendliness is a bad thing - A threat to their way of thinking. It's utter nonsense.
   
You're right, of course. However, I'd suggest you take the time to read
"The Art of UNIX Programming" by Eric S. Raymond, which helps explain
why things are the way they are. Not to defend the status quo, but to see
the history and choices made along the way, to see the alternatives which
didn't last.

For example, some OSes have a very long-winded command line,
and thus never developed the utility of UNIX's shell.

Most programmers
never get to that level, so there are a lot of programmers out there who,
when asked to do something they simply can't do, defend themselves by

saying

it shouldn't be easy to use/learn in the first place.

Whoa...I don't recall ever seeing anyone say that something shouldn't be
easy to use/learn on this thread. I think *common sense* should apply here.
If you are unwilling to take the time to learn something then don't go cry
wolf and say that it isn't *intuitive* enough. It also isn't that developers
cannot do something, there are so many hours in a day, days in a week, weeks
in a year and then you have to bring home a paycheck so you can put food on
the table. You have to weigh and balance what is needed for the product to
be benefecial to the user, and you need to be able to have it developed in a
worthwhile time. I would love to write you an OS that is so intuitive a
three year old could use it without any help...however who's going to fork
over the cash and wait n number of years for it to be developed?

That mentality is, thankfully, going away as more and more truly brilliant
programmers are putting some of their time into newer open source projects,
instead of only into commercial ones. KDE is one good example of how that
way of thinking is fading away in the *nix community.

It isn't that that *way* of thinking is fading away...it took many years of
developer building blocks to get to the point to where developers can start
focusing on projects so intensely like KDE. You have to lay a foundation,
and the build the walls before you can hang pretty pictures on it. Now that
I think about it...building a house isn't intuitive enough....I should be
able to build my own without ever having to learn how to build :wink: right?

The command line interface, though, is a tough nut to crack because it's

been

around so long. If it were being developed from scratch today, surely

there

are enough inexperienced computers users that you could probably design
something that's both powerful and intuitive to use.

The CLI does what is needed to do. It isn't evolving because there is no
need for it to evolve. That is why people are developing GUI's. Eventually
sometime I'm sure it will evolve, but at the moment there doesn't seem to be
a need besides a ...wouldn't it be nice.

Zach

···

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.705 / Virus Database: 461 - Release Date: 6/12/2004

Quoteing mailing-lists@zesiger.com, on Tue, Jun 15, 2004 at 10:18:25AM +0900:

Hello? "the command line isn't the issue".

Ciao!

You used it as an example, are you regretting it? :slight_smile:

I used it as an example, too.

Its also the only example you used, what else am I supposed to comment
on?

Maybe you want to compare Apache configuration with IIS configuration?

Maybe you want to compare Linux kernel module development with Windows
NT device driver development?

Maybe you want to compare Mozilla with Internet Explorer?

Sam

···

Sam Roberts wrote:

>Quoteing mailing-lists@zesiger.com, on Tue, Jun 15, 2004 at 08:13:35AM
>+0900:
>
>>I don't know how much of the thread you read through, but I repeated at
>>least half a dozen times that the command line isn't the issue. It's the
>>general anti-userfriendliness mentality in the *nix community. I just
>>started with "cp" as an example.
>
>
>Its a bad example, and what does user-friendly mean, anyhow?
>
>Its marketing speach. The real question is how fast to learn is it, and
>how effective to use is it?
>
>If it interests you, you should read this:
>
> http://www.cryptonomicon.com/beginning.html
>
>You may not agree with him, but its a great read.
>
>The unix command-line is optomized for **use**. That optimization might
>have made it harder to **learn**, but that's debatable, and for all the
>whining over the years, nobody has made a shell that demonstrates how
>the command line could be easier to learn if only it was only done a
>little (or lot) differently, maybe because it can't be done?
>
>I've typed "cp" many times a day, for close to 12 years, and I'm
>perfectly happy it's 2 characters (like all the other commonly used
>commands - consistency that makes it easier to use!), and I was told
>only once that "cp" meant copy, couldn't have taken more than a few
>minutes.
>
>Are you really prepared to argue that the unix command line would be
>measurably easier to learn how to use if you renamed mv, cp, ls, rm, and
>cd to other names? Somebody is as likely to guess "relocate", "Copy",
>"show', "delete", and "go", and they won't even guess the last one,
>because anybody so uninformed about the shell that they are reduced to
>guessing is unlikely to even know that there is such a thing as a
>current working directory.
>
>Anyhow, guessing the name for a command is as stupid a way to try and
>use the command line as clicking on icons is to learn how to use a GUI,
>or guessing the name of a method is to leaning how to use a ruby class.
>Before you start at the command line, you need to know how to get help
>(apropos), before you start with a GUI you need to know that hovering a
>mouse over something might get you a help message, and before you start
>learning ruby you need to know how to use an API reference.
>
>Cheers,
>Sam
>
>
>
>
>

Hello? "the command line isn't the issue".

Okay, what is the issue, then?

You mentioned Unix text editors? Yes, vi isn't intuitive. But it's
very powerful once you take the time to learn it. If you don't want to
take the time, don't use vi. Emacs lets you just start typing, like
notepad, and allows you to have tons of power if you learn it well.
You can also use nano, which is a lot less powerful, but is very easy.

Or you can use any number of graphical text editors for KDE or Gnome
which are as easy to use as notepad or textpad. Kate which comes with
KDE is Textpad-like.

I don't understand why you're choosing to use one of the hardest to
learn tools, and complaining that it's hard to learn, when there are
alternatives out there for you.

Is it that you got told to RTFM? Well, that happens when you go to the
1337-1inux IRC channel and ask "newbie" questions. Some people are
arrogant. However, there are plenty of websites out there for Linux
newbies, like LinuxQuestions.org for example. A Google search for
"linux" or "linux newbie" or something like that would have probably
lead you to results. Also, most distributions (at least the commercial
ones) come with manuals, and I'm sure they have all sorts of online
tutorials. Gentoo, for example, has plenty of great tutorials, some of
which even teach you to use the command line for various things (and
their forums are great, too).

There _are_ people in the "Linux community" that are concerned with
user friendliness. Just look at all the changes Gnome has gone through
in that pursuit. Grokdoc just got announced on Slashdot yesterday so
that Linux newbies can go to yet another place to learn. Not everyone
in the "Linux community" is a h4x0r who talks only in acronyms. But
it's a diverse group. There are disparaging Windows users as well.

So what exactly is your problem with Linux user friendliness? There's
the GUI out there which isn't hard to use at all. And the command line
isn't hard to use if you look up a little information (how is Windows
any different? If I'm coming from Linux, does typing 'man cp' tell me
about 'help' and 'copy'?). The only editors that I can think of that
are hard to use right off the bat for even basic functionality are vi
and ed, and even if you're using only the command line there are
easier-to-learn alternatives. The man pages aren't great in all cases,
but every problem you have has probably been had before, and if the
man pages can't help you solve it and it's not discussed on the
product's website (and how is the MS documentation any better? It
barely ever helps me solve any problems), then it's probably been
solved in one of the myriad of Linux forums out there. You just need
to look.

But it really doesn't make sense to buy a manual transmission car,
complain it's not as easy as the automatic you could have bought, and
complain at the unhelpfulness of the illegal street racers you asked
to help you learn stick, and claim that they represent the whole
car-making community (And this is a programs-within-Linux anlogy, not
a Linux-vs-Windows analogy).

-- Dan

Ok, this is really not the area to discuss the pros and cons of generic user friendliness. If you really want to get into it, could you do it offline?

For what it's worth, I think the .ruby filename extension idea is a good one. As far as I know, Windows doesn't have problems with long filenames anymore, so why not?

And, although I don't think it's appropriate for this list, I still want to make a couple of comments about unix user-friendliness:

Tyler Zesiger wrote:

Someone once told me to "RTFM" when I couldn't figure out how to work a *nix text editor. I felt insulted, that he insinuated that *I* was the one with the problem, not the text editor. In fact, text editors are dang near the oldest software technology we have. I've used dozens, maybe even hundreds of them, and not once have I ever had to "RTFM" before starting to use it, because they've all adopted the same intuitive UI conventions that have worked well for a decade - Except for *nix editors. They're 20 years out-of-date.

Unix editors are not "out of date", they're just different. Saying that Unix editors are out of date is like saying that Chinese is out of date. So many countries now use a roman alphabet, that China should "get with the times" and use a roman character set, and complaining that it's hard to read Chinese.

I agree, the first time you use vi or emacs you'll definitely need a manual close by or you'll be completely lost. On the other hand, how many career programmers do you know that use Notepad as their primary editor?

The ideal for usability is something that has a gradual learning curve, and has extremely advanced features that are slowly exposed. Very things meet that ideal, however.

Notepad has an extremely shallow learning curve, but it plateaus very quickly. Emacs and vi have very steep learning curves, but it could be argued that they never plateau.

I agree that both vi and emacs would be better editors if you could start them in 'beginner' mode, where they were constantly helping you out, and, as you progressed, they became less and less helpful, and exposed more and more hidden features. That would be great for beginners, and as the beginners became more and more advanced, they'd unlock more of the more powerful features of the editor.

But vi and Emacs are not commercial products. They're made by advanced developers for advanced developers, and so far, nobody has found it to be a priority to make them easy to use at first try. And why should they? There are plenty of other editors that are really easy to use, visual ones like Kedit or terminal ones like pico.

It used to be that Linux was only for the extremely daring, and the very knowledgable. These days using Knoppix is probably almost as easy as using Windows. But the focus of all these usability improvements has been the graphical environment. Both Gnome and KDE do a lot to make a new user's experience as friendly and easy as possible.

So far, nobody has really found it necessary to make the commandline user friendly. I guess the theory is that if the GUI is made friendly enough, people don't have to even know the commandline exists (and I guess OS X is proof that concept can work).

If a black screen with a blinking cursor is not cryptic, I don't know what is. Windows has a "Start" menu. Why can't the command line say "type 'man' for help" the first few times it boots up? I can't tell you the grief I suffered in the IRC chans when I first asked for help. All people would say is simply "man". What is "man"? I didn't know.

Oh, it can! It would be really easy to modify the shell startup files to print this sort of message out, or to set up a bunch of useful aliases. By default, 'zsh' tries to correct you when you mistype something. Isn't that friendly?

The thing is, people who care about usability have focused on the graphical environment. The nice thing about open source, however, is that you're free to fix anything you feel is open.

If you think that the default shell startup files should print out a page of introductory text explaining how to use the shell, create those files, and either find a distribution that wants to use them, or start your own 'CommandlineFriendly' distribution. If it really bothers you, but you're not willing to put any time into fixing it, then why are you complaining?

However, knowing that a commandline is difficult, why would you start using it unprepared? There are lots of books out there that will help you learn Unix, so why not use them?

To me, complaining about the user-unfriendliness of the commandline is like complaining about the user-unfriendliness of a jet cockpit. It probably could be made much more intuitive, on the other hand, the vast majority of people who find themselves in jet cockpits are experienced pilots. Rather than needing a simple, friendly interface, they need something that gives them full control.

Anyhow, this is either trolling or just way offtopic, so I say we stop now.

Ben

This is way OT now. So I will leave this this:

I see where you are coming from, but I do not necessarily agree with you.
Perhaps someone besides the Linux OS teams could write a package for the
type of behavior you are looking for, but I do not think it is in the scope
of the core OS itself.

Zach

···

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004