Subject: Re: Why Lisp is not popular. No GUI?
From: Erik Naggum <erik@naggum.no>
Date: 30 Nov 2002 00:50:33 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3247606233564045@naggum.no>

* 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.