[comp.windows.x] InterViews/C++

ajs@procase.UUCP (Andrew Jay Schneider) (11/11/88)

I've been watching the flames regarding C++ and InterViews now for some
time and it's time that I add my two cents worth.

We've been using X since X10R4 and we wrote some prototype code using the
toolkits of the day (Sx and Xray).  All of these toolkits had problems
when it came to their programming interfaces.

At about that time we were also evaluating what language to use for
the development of our product.  We settled on C++ we felt that
the object oriented nature of the language would suit our needs well.
C++'s good points are the easy interface to C routines and data
structures and its rapid acceptence in the field.  C++ was lacking
multiple inheritance but the next release was promised to have it.

The AT&T version still lacks good debugging support, but Apollo, Oregon
and GNU are shipping C++ with a debugger.  We've also noted that
there can be a massive code blowup with inappropriate use of inlines
and the generation of virtual tables has to be controlled.

Overall we've been pleased with C++.  It has allowed us to make major
changes to our data structures with out having to manually inspect
all uses of the structure.  Another benefit of C++ was that its compiler
does more checking of argument types and the like which seems to reduce
the number of edit-compile-debug cycles we go through.

We've been using InterViews here since its appearance on the X11R1
contrib tape.  It allowed us to get up and running while the then-named
DEC Toolkit was still dumping core.  Its OO nature let us quickly
generate new widgets without hassle.  I'd attended a DEC Windows
programming seminar where the Xt toolkit was explained.  The instructor
went through an example of creating a simple label type widget.  The
effort versus doing the same in C++ was immense, also the chances of
introducing a programming error seemed higher.

As with any public domain/free piece of code you have to expect that
there will be some internal effort needed to support it.  We have
reported to Mark Linton all of the bugs we've found including fixes,
if we had any, and have always received a response within two days.
Often his response would be a new fix or an improvement on our fix.
Currently we are integrating in with InterViews 2.4.

At the current time we've generated about 170,000 lines of C++ and have
built a complete user interface manager similar to Apollo's Dialogue
product and Digital's UIL.  The flexibility and ease of use of our
user interface has gotten good reviews and we credit the toolkit we
chose for making our job easier to do.

Andy

======================================================================
Virtual: (UUCP)	{uunet!hpda, tolerant}!procase!ajs
	 (ARPA)	tolerant!procase!ajs@ucbvax.berkeley.edu

Real:	 Andrew Jay Schneider
	 proCASE Corp.
	 3130 De La Cruz Blvd., Suite 100
	 Santa Clara, Ca. 95054
	 (408) 727-0714