From ... Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!freenix!deine.net!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: Why Lisp is not popular. No GUI? Date: 30 Nov 2002 00:50:33 +0000 Organization: Naggum Software, Oslo, Norway Lines: 59 Message-ID: <3247606233564045@naggum.no> References: <87r8d4te3c.fsf@ix.netcom.com> <87n0nst3ic.fsf@ix.netcom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1038617434 2497 129.240.65.5 (30 Nov 2002 00:50:34 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 30 Nov 2002 00:50:34 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:47762 * Gabe Garza | Personally, I like command lines. Or even better--a GUI that | incorporates a command line, like Genera's listener or a lot of the | things you can do with CLIM. But... | | I'm a developer in a "Fortune 15" company, and if I tried to release an | application without a windows-like GUI I'd be laughed at. Maybe a | command line or a character terminal interface would be more efficient, | and intuitive to the user for some of what I've done. But that doesn't | matter. I honestly fail to see the problem. A so-called command-line interface is indistinguishable from a protocol if it is intelligently designed, like the Common Lisp read-eval-print-loop. A more MTV generation-friendly user interface can then be built independently and either talk the protocol or call the functions directly depending on how tight you want the coupling. If you design your "graphical" user interface so the coupling is so tight you cannot de-couple the user interface from the code, you have designed it very weakly to begin with. However, designing protocols must be rocket science or something since so few people seem to get them right. In my view, however, a user interface /is/ a protocol whether it uses a sequence of characters or a sequence of events. The so-called event loop in these newfangled user interfaces is no harder to program and design for than intelligently designed command loops. Of course, Windows victims never quite grasp what a command-line user interface /could be/ because of the braindamaged command-line they are used to from MS-DOS. Users want menus of options, some say. Well, that is not as incompatible with command-line interfaces as some believe. Interactive help functions and even predictive help functions have been implemented successfully, but as the mouse crowd has taken over completely, many command-line interfaces do little more than allow the barest input line editing because designers think in terms of window-system events and not in terms of user actions. And, of course, there is the throwback to mainframe-style forms input that is not even as powerful as the forms processing languages of the past, on the so-called "web", where even the state information of the past is not actually available to the programmers although it may be faked. All in all, the main reason so many users want only one particular user interface style is that the one they had to learn is so goddamn braindamaged and hard to learn that they fear every user interface must be equally rotten and random and so prefer a consistently rotten user interface to a smart user interface that is not rotten. It is one of those ways that Microsoft /really/ locks their users into their system: Give them something they market as "user-friendly" which it most certainly is not, and pretend that everything else even worse. By usurping the term "user-friendly" to mean their particular way of doing things, they effectively destroy all hope of creating actually user-friendly user interfaces. Since the Linux crowd is also lacking in insight and have been overexposed to the Windows ways, nothing good will come out of that camp this decade, either. It is hard to be a user these days. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.