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