|Think about Loose Coupling|
RE: (red)RE: RE: (redmist) RE: The sad state of Perl documentationby Ozymandias (Hermit)
|on Sep 14, 2000 at 23:56 UTC||Need Help??|
Because computers and humans don't work in the same way.
Escellent point. Computers and humans don't currently work the same way. But a GUI is closer than the CLI. And the next big thing (coming soon to a K-Mart near you) is likely to be something like an audio/visual interface - even closer to human-style interaction. It's not so unlikely that in 20 years or so, the neural interface will be the standard; and then computers WILL work like humans do.
The point is that computers are tools too. Hammers started out as rocks slightly bigger than the rock you hit with it, which was infinitly more powerful than beating on the rock with your fist. That didn't mean the rock was perfect. People adapted to it, sure, but the rock changed. A wooden handle was added. The rock was replaced with bronze, and later, iron. Still later, the iron was replaced with steel. Now the wooden handle is being replaced with carbon and fiberglass and composites, and the shape is changing to fit the stroke of the human hand. Do you want to go back to the rock?
One of the reasons why I think that CLI can be so great is that the rules are clearly defined (not intuitively, but through documentation) and both you and the SW that you are interacting with "knows" that you are two seperate entities, with different ways of working. In this type of environment, the SW or interface will not try to anticipate what you want or how you want to do something. Anticipation of human action usually results in it doing the opposite of what it's original purpose was: to help you and make you more efficient.
This is true, but it's also not. <G> I hate the "predictive" things as much as anyone else, for the same reason - when it's right, it's great, but when it's wrong, it can be more stubborn than a three year old about changing.
But that does not mean the interface is not better. Simple things like the dictionary in Word, as an example. (Not Auto-Correct. The dictionary.) A simple visual flag under those words that the dictionary doesn't recognize. It doesn't change them. It just notifies you that there's a problem, and if you know it to be correct, just a push of the button - and the dictionary now knows that word and will never flag it again. You can't do that on a CLI.
On a GUI I can open two terms, on different machines, and see them both simultaneously. I can watch logs in real time while hitting a web server to see what triggers an error - and I still have the power of the command line to go back and manipulate the logs, as well. I know the command line well; I agree that it has a simplicity and a power that is not easy to beat. In fact, there's only one way to beat it - to assimilate it. Take the things that make it great and incorporate those things into something better. Like a GUI with Term windows; all the power of the CLI with all the flexibiity of the GUI.
I don't want Perl to be tied to UNIX in such a way that would inhibit or diminish it's use on other platforms either. I just think that is important to keep the ties to UNIX that are already there. We should *transcend* the cradle.
That would be fine, but it's more than that. Perl also needs to incorporate the lessons to be learned from Windows and VMS and shudder Mac OS. Believe it or not, not everything in Windows is crap. Not everything in Mac OS is crap. And the good bits weren't all stolen from Unix, either.
I realize that the Internet is not UNIX, but a damn big part of it is...and UNIX is also a big part of other networks and computing as a whole.
That's a fallacy that many people fall into, because it's such a good, clean, simple idea. Sadly, it's not true. Unix makes up a good majority of internet servers, true. But there's a sizeable minority of other OS's, including some Mac and NT/Windows 2000. And on top of that, in terms of CLIENTS, it's not even close. The sort of site you or I might run would probably average a high percentage of Unix clients, but as a whole it's a very Windows-ish world for client computers. As for "other networks" - hate to break it to you, but Unix doesn't rule the roost there, either. Netware and Windows make up an awful lot of business and home networks. Not that Unix isn't a part of it; Unix is a very important part of networking. It's a great OS for it. But Windows has learned how to do it now, too, and Netware always did have a pretty good idea.