From: mbk@lyapunov.ucsd.edu (Matt Kennel)
Newsgroups: fj.mail-lists.x-window
Subject: Re: X: User simplicity vs code complexity
Date: 27 Jul 92 11:21:47 GMT
Distribution: fj
Organization: Institute For Nonlinear Science, UCSD

Date: 27 Jul 1992 08:08:13 GMT
Message-Id: <150atdINN5at@network.ucsd.edu>
Newsgroups: comp.windows.x

hwrvo@kato.lahabra.chevron.com (W.R. Volz) writes:
: In article <TPAQUETTE.92Jul23134924@gumby.ita.lgc.com>, tpaquette@ita.lgc.com (Trevor Paquette) writes:
: |> 
: |>    I was talking to a cohort at work and we got to the subject of X and how
: |>  many lines of code it takes to do things in X etc..
: |> 
: |>    I came up with "X is the perfect example of User simplicity is directly
: |>  proportional to code complexity." Do you agree/disagree with this statement
: |>  and why?

: |>    How big is X going to get? When will it stop getting bigger? Who created
: |>  this monster in the first place? Oh well.. back to those manuals..
: |> 
: I'm not sure about this. Perhaps an direct relation between complexity and
: flexibility. The more flexible code is, the more complex it is. X is quite
: flexible ==> it also complex. In your example of creating a pushbutton,
: you either using Xt or Xm. What would you have to do to same thing with
: straight X? Probably a lot more. Consider that Motif has a series of
: *Simple creation routines. I wonder why? The flexibility of Motif and Xt
: made things more complex. so they simplfied. When writing code, a cohort
: of mine errs on the side of simplicity rather than complexity. He's usually
: right.

Think of NeXTstep.  I hardly think that to the average user's point of view,
it's substantially inferior to any of the X user-interfaces, and yet
EVERYONE says it's much easier to program.

A couple of reasons, in my opinion:

1) Most X toolkits try to implement some sort of object-oriented programming
   in a non-object oriented language, namely C.  It's a testament to C's
   flexibility that it can be done, but in fact it's supremely ugly, and my
   opinion is that the resultant confusion and difficulty creates more
   problems than it solves. (Mo pointer mo pointers mo pointers) Without a
   link between the object-orientation of an underlying language and the GUI
   (like Objective-C and nextstep) you end up with X.  I would have liked
   just a good, simple, normal C library toolkit, and wait for the fancy
   ones on a real language.  (MS windows is not "good").  Consider all the
   completely bass-ackwards ways of specifying data to the GUI toolkits.
   I know you experts are going to flame me for it, but do you know of any
   other large programming package that's as complicated and weird as X?

   FYI: I wrote my first X program yesterday.(Xaw) :-) 

2) Nextstep was written simultaneously with their interface builder, which
   comes standard with the system.

3) And for commercial applications, if you can display it, you can print it.

: Bill Volz
: Chevron Oil Field Research Co.
: Exploration Research/Geophysics Division.
: P.O. Box 446, La Habra, CA 90633-0446
: Phone: (310) 694-9340

--
-Matt Kennel  		mbk@inls1.ucsd.edu
-Institute for Nonlinear Science, University of California, San Diego