[comp.windows.ms] Summary of C++/Views vs CommonView 2: C++ Toolkits for Windows

aew@eosvcr.wimsey.bc.ca (Alan Walford) (04/29/91)

Summary:: C++ Libraries/Toolkits for Windows 3.0 development
------------------------------------------------------------
I posted a request for info on the two toolkits: C++/Views and CommonView 2
about two weeks ago. I got quite a good response.

Thank you very much to all those that responded.

Summary
-------
While the main thread of the discussion centers around C++/Views and
CommonView 2 a few people mentioned some other toolkits. Those are:

 - XVT
 - Tier++
 - JTW
 - Blaise

Sorry don't have much information on them.

I have made a summary of the two toolkits in a pro vs con format. 
I got a total of 18 replies. In the number of respondents that liked or
did not like a product I tried to include only those that have used the
product (ie. they have done more than just read the manuals) and actually
stated "i like it" or "it stinks". 

I also briefly talked to sales people at both companies. I have included
their comments also but preceeded by a *.

There does not appear to be a clear winner. Providing source code
as CNS does for C++/Views is a big plus (maybe?). Portability to
PM and Motif is important and is only provided by CommonView right now but
CNS does have plans for it also. Read below and see what you think.

C++/Views
---------
Pro:
- 3 respondents liked it.
- source code comes with libraries.
- appears to have more functionality than CommonView.

Con:
- 1 respondent did not like it.
- does not have dynamic loaded libraries (DLL).
- does not have PM or Motif versions.
- derives everything from one object like Smalltalk.
- documentation not very good.
- class browser sometimes crashes with Zortech.
- some do not like the design and abstractions.

Comments:
- 8 respondents use it.
-* C++/Views will have DLLs sometime soon (?). They want to do it right so 
   they are easy to use. Their architecture made DLLs hard to do. DLLs 
   with Borland C++ are almost working, still working on Zortech.
-* OS/2-PM version avail in July, Motif avail in Sept.
-* Mac version avail June.
-* C++/Views docs do not have enough examples.
-* Large memory model only problem with real mode programs. No problem
   when in protected mode.
-* List price $495 U.S. (can get it cheaper mail order)
-* Nice browser and dialog editor tools.


CommonView
----------
Pro:
- 4 respondents liked it.
- has DLLs.
- has more of a forest type inheritance hierarchy.
- older and more stable product.

Con:
- 3 respondents did not like it.
- can not do combo boxes.
- multi-line edit objects with lots of text >32K is very slow.
- missing some functionality ie bitblt, error recovery in memory 
  management

Comments:
- 8 respondent use it.
- A lot of the dislikes were for a previous version of CommonView and not 
  for CommonView 2.
-*The reason some features like combo boxes are not supported is to make
  porting from platform to platform easier. On the other hand, Glock has
  said they will add these missing features back.
-*Price from Imagesoft: $399 U.S.


Contacts
--------
C++/Views:     Jim Schwarz
               CNS, Inc.
               7090 Shady Oak Road
               Eden Prairie, Minnesota 55344
               612-944-0170
               

CommonView 2:  Glockenspiel Ltd       or      Eddie Currie
               39 Lower Dominick St           ImageSoft Inc
               Dublin 1, Ireland              2 Haven Avenue
               353-1-733-166                  Port Washington, NY 11050
                                              516-767-2233                


In case my summary is not informative enough or has been biased by my
perception of the state of the world, I have extracted the meat
of the e-mail sent to me. I have not included the whole message in some
cases if the comments were not directly relavant to the discussion.
The mail is in the order that I received it.


-------------------- start of extracted e-mail -----------------------------
From: juan@mcc.com (John Reynolds)

	I received CommonView as a bonus for ordering BC++
from Programmer's Warehouse. It "cost" me $75, because the
combination was that much more than the compiler alone.

	I've only read the documentation, but from what I've
read, I'm very glad I got it.  BC++ doesn't have the class
library for Windows that you need to do your user interface,
and without CommonView I'd just be compiling C with a C++ compiler.
Zortech, by the way, is no better.  I bought the Zortech compiler
when I got my Windows SDK, because it was the cheapest compiler
which would work.  It was fine for C programming, but the lack of
any useable class library was a real disappointment.

	As I stated earlier, I haven't used CommonView yet.  The
only things I anticipate haveing problems with are the lack of
direct support for ComboBoxes (drop down listboxes) and Cascading
Menu Bars.  I think that I will be able to derive these from the
existing classes, but I just don't know.
----------------------------------------------------------------------------

From: jim@se-sd.sandiego.ncr.com (Jim Ruehlin, CFC User)
Organization: NCR Corporation, Systems Engineering - San Diego

I've been using CommonView for about 6 months.  I mostly used with with
the Glockenspiel compiler, but have just bought BC++ with CommonView.

Most of the problems I've had are with the Glock compiler.  However, I 
noticed that creating a "multi-line edit" object with a lot of text
(approx. 32k) is quite slow.  I haven't gotten around to addressing
this particular problem however, so I don't know if there's a simple
workaround.

There's a couple of things I found missing.  For one, you can't make a
Top App Window be a child of another Top App Window.  I want to avoid
the whole MDI nonsense and make all my windows look like parent windows.
Menus, icons, etc.  Unfortunately, these main windows don't know about
each other naturally, so if you quit the application from the main
application window, the rest of the windows remain on the screen.  You
need to make an internal window manager to keep track of them all.
Also, they don't handle all Microsoft events.  They leave out timing
events and a few others.  This isn't too bad, though, because you can
write your own event handler easily that calls the CV event handler
for any defaults.

As for being bug free, it's hard to tell.  As I said, I know some of my
previous problems were due to Glockenspeil.  But I've had a problem
getting an application error while application's loading.  This has
occured across both compilers.  I'm not sure if it's me or CV.  Since
the Borland debugger want's a WinMain function, and CV apps don't have
WinMains, I doubt I'll be about to track it down easily.  I know Imagesoft
is working on this particular issue.

As a disclaimer, I still consider myself relatively new at Windows 
programming, so some issues may have easy workarounds that I'm not yet
aware of.  I like the structure and implementation of CommonView, but
as far as I'm concerned the jury's still out on how robust it is.
---------------------------------------------------------------------------

From: bchin@umd5.umd.edu (Bill Chin)
Organization: University of Maryland, College Park

Since you insisted, I'll respond.  Two development groups here 
at the university bought C++/Views.  Our group, PC/IP, is waiting
for a new contract from IBM to do a Windows project, so
all we've done with it is install it and say "neat."  We hope to
be able to use it for portability to OS/2 (maybe).  Personally,
only if it was Interface Builder ( a la NeXT) would I say "wow."
--------------------------------------------------------------------------

From: twbrown@pe-nelson.com (Tom W. Brown)

We have sites that are using both C++/Views as well as CommonView.  We 
recently had an intersite meeting and did some comparison of the two and 
have decided that CommonView is more appropriate for our needs.  The two
bottom line reasons for this were:

   1. CommonView is an older (and hopefully more stable) product.

   2. C++/Views falls into the same Smalltalk trap that a lot of class 
      libraries fall into - they provide a monolithic class hierarchy where 
      everything derives from class Object.

      A lot of C++ opinion as well as our own experience would tend to say
      that this is neither necessary nor desired in C++.

We don't have much experience with CommonView (at our site) so I don't have
any specifics - but the sites that are using it are quite happy with it.
---------------------------------------------------------------------------
From: mats@infolog.se (Mats Lordin)
Organization: Infologics AB, Sollentuna, Sweden

I use Glockenspiels CommonView 2.0 C++ Class Libraries and have done
so for about 4 months now. I don't any experience with other class libraries,
in fact I don't have that much experience using C++ at all.

My conclusion however is that I like the CommonViews class library. There are
some features missing, such as taking care of comboboxes, but Glockenspiel
promissed to fill many of the missing gaps in a new major release this summer.

Otherwise it works just fine and keeps me satisfied. 
----------------------------------------------------------------------------

From: <P.D.Knight@gdr.bath.ac.uk>
Organization: Guest of Bath University Computing Services, UK

I'm using CommonView 2 with Glockenspiel C++ 2.0c, and have been since
Christmas 90.  I like it very much and would recommend it.

I'm about to convert to using CommonView with Borland C++, as Glockenspiel
C++ is based on AT&T cfront and Microsoft C 6.00.  Although this is a reliable
platform, and a pleasant development environment, it is slow on my machine.
I'm hoping that Borland IDE will give a faster compile turnaround.  The
Glockenspiel/Microsoft combination gives good runtime performance - only
compile is slow.
----------------------------------------------------------------------------

From: Alan N Rovner <alanr%tekig5.pen.tek.com@RELAY.CS.NET>
Organization: Tektronix, Inc., Beaverton,  OR.

Just as a data point for you, I don't use either of the C++ class libs you
mentioned.  I use the Tier class libs for Windows development.  I don't have
the company's phone number handy but I can send you info if you like.  The
entire Windows SDK is mapped to C++ classes with good docs behind it.  I
bought it for an introductory price of $350.  I believe the regular price is
$450.  Let me know if you would like any further info, and I'll bring in the
data sheet from home, and pass it along to you.
-------------------------------------------------------------------------

From: nickel@cs.utexas.edu
Organization: Dept of Computer Sciences, UTexas, Austin

OK..... You asked for an opinion.
About a year and a half ago I ordered the commoview package when I was
working for IBM. I couldn't have been less impressed. This was an early
release but half of the function didn't work and the other half required
that you do things in just the right order or else you got terrible crashes.
The C++ translator from GlockenSpiel was almost as bad. I finally gave up
completely, especially after that they decided to split my original package
into 4 seperate products and wanted about 1200 for upgrades. Needless to say
I didn't spend the money for it and I sent a nasty letter to them about
sending me beta level software for a year and then wanting 1200 dollars when
they finally shipped a release that might have been usable.
In all fairness I dont' know much about CommonView 2.0, but I dont' even care
to find out about it either.

Onto C++/Views.
I have been using C++/Views (aka CViews) for about 2 months. The libraries
are much more compete that the CommonView 1.1 libraries and since the source
code is included it is very easy to exend should you need to. I have had
to call technical support a few times to ask questions and report bugs and
have had nothing but prompt, competent service. On one occasion I had the
developer review a probem and during that same phone call he walked me
though the changes right on the phone. I  have a project of about 5000 lines
of code and have had no serious problems arise.
The only minor drawback is the size of the Windows executable when using
the CViewslibraries. A simple application starts at about 140K, but grows
very slowly in size since the code is reusable because of the nature of C++.
This code size problem can be fixed several ways. 1) Find an optimizing linker
that will prune unused functions. 2) The CNS people mentioned that they
will have a .DLL version of the library for users of Borland C++. The .DLL
approach will only save executable size, it will still take as much memory
unless you have two or more applications running that use the .DLL.


So from my experiences I would say that the C++/Views product is vastly
superior.
---------------------------------------------------------------------------

From: brett@venice.research.otca.OZ.AU <Brett McDowall >

I have used C++/Views for a few months to convert an existing C++ program 
and have written another smaller program. This was my first Windows program 
and in fact I only decided to do it when I save Views advertised.

I found it a definite help, especially considering I was prepared to take 
the look and feel of things the way Views did it without trying to achieve 
a special effect.

It's a shame that it doesn't come with better documentation and some 
complete printer handling classes.

I don't use their class browser as I get crashes with Zortech C++ under 
windows sometimes and the whole thing just isn't up to scratch yet.

There seem to be few real bugs in Views but their class design leaves 
something to be desired in terms of abstractions and ease of reuse.

Being constrained to large model is not ideal when your program must 
co-exist with other programs - especially older programs which sometimes 
won't run.

Note - my application is not graphically oriented and not fancy in user 
interface terms. I just use windows for its standard interface and printer 
drivers. The extra memory helps as well.
---------------------------------------------------------------------------

From: {uw-beaver}!sumax!polari!mlonge <Michael Longe>

I requested opinions on XVT vs. CommonView 2 about a month ago, and
only received 1 response from someone using CommonView 2 (and only
4 or 5 from XVT users). I'll forward his opinion (sans permission)
in case you didn't hear from him:

>From: sumax!mdi.com!bahman (Bahman Khamneian)
>
>I have been using CommonView 2.0 for last few month. It is 
>nice and it has some short commings. What I mean is that 
>there are situations that you wish they were different
>but such is life. good thing is that you can make any
>MSW SDK calls. We have so far avoided this. All of our 
>windows interfaces are developed by CommonView objects.
>
>one thing about imagesoft and Glockenspiel I have found out is that 
>their support is slow. and their documentation is fair.
>
>>
>>	How well does the product support portability? What are
>>	some "gotchas" to watch out for? How much needs to be
>>	added (e.g., generic file I/O)?
>
>>From MSW to PM and visa versa is easy.
>for X11/Motif no one knows yet.
>
>>
>>	How easy is it to (carefully) take advantage of platform-
>>	specific features? Using built-in hooks or direct extensions
>>	(subclassing, etc.)? Is the use of C++ advantageous with this
>>	product (or vice-versa: does the product make C++ worthwhile
>>	now instead of waiting for C++ development to mature)?
>>
>
>I think C++/CommonView is a mature product.
>They have some problem with streamio classes and window class libraries
>coexistence but they have a work around for it.
>
>>	What development tools (e.g., resource editor) are available?
>>	How good is the vendor's technical support?
>
>You could use codeview for C level debugging. We haven't used it yet.
>
>Slow. You have to call several times to get a hold of the guy.
>


Incidently, we decided to go with XVT.
--------------------------------------------------------------------------

From: anonymous

  We are evaluating both of these class libraries at the moment.
I don't have time to go into too much detail about the pros and
cons but here's some general comments:

 The CNS Views comes with source and can be installed for either
Borland or Zortech platforms.  (We have both compilers but have
elected to only use Borland for this project.)  Most of our early
prototyping/testing has been done with this package and we are
generally pleased.  The main drawbacks are lack of examples (better
with v1.12) and uncertainty about the availability of the OSF/Motif
version.

  We have had the CommonView II package (CV2) for a few weeks now and
have gained some experience converting our existing prototype from
Views.  CV2 is implemented via DLL's which makes the .exe smaller and
link/debug cycles shorter.  However, it does not come with source
which makes it more difficult to understand the implementation and
very difficult to enhance.  They have a 'kickdown' capability to
directly access MSWindows but no examples of how to do this.  The main
drawbacks, so far, are lack of source and missing functionality, ie.
bit blit, error recovery in MSWindows memory management, better
dialog classes.

  We will probably select CNS Views since it provides more
functionality and includes source.  To obtain the needed functionality
with CV2 will require learning how to kickdown and implementing
additional classes.

  BTW, I am pleased with the technical support from both companies,
although I have more experiences with the CNS people.
---------------------------------------------------------------------------

From: horstman@sjsumcs.sjsu.edu (Cay Horstmann)
Organization: San Jose State University - Math/CS Dept.

I have recently started using C++/Views. It seems okay so far. A few
gripes: I still haven't gotten the new docs although they promised them
long ago. And I think the system is schizophrenic (sp?). On the one hand,
they derive a lot of stuff from an Object, in a very smalltalkish style,
and on the other hand, they have a lot of pointers floating around like
SomeControlBlock* pscb = new SomeControlBlock(...); as if they never
heard of smart pointer classes that clean up after themselves. 

Anyway, it beats keying in all that code from Petzold just to get
up and running. Sorry I can't give you a more in-depth analysis yet.

There may well be more users out there (CNS runs 4-page glossy ads in a
lot of mags), but I guess many of them aren't on the net. 
---------------------------------------------------------------------------From van-bc!unixg.ubc.ca!atherton Tue Apr 23 10:04:14 1991

From: Bruce Atherton <atherton@unixg.ubc.ca>
Organization: University of British Columbia, Vancouver, B.C., Canada

We own C++/Views and have attempted to use it.  Unfortunately, the version
we received was fairly old so most of the things we tried didn't work.
We have just received our new version (no hassles from CNS, they were very
helpful) so I can't tell yet how useful it is.  Judging from what the old
version was SUPPOSED to do, it take a lot of the sting out of programming
under windows.  The Notifier Class does most of the work.

We were supposed to get some documentation on CommonView, but so far
nothing has arrived.

According to the information that came with the new version of C++/Views,
the versions for Macintosh, XWindows, and OS/2 are coming along, and there
should be a new version for Windows that supports MDI, DDE, and DDLs.
--------------------------------------------------------------------------

From: bill@cbnewsl.att.com

I used C++/Views 1.0.  I didn't care for it.  The browser was supposedly
written with C++/Views and was quite buggy which did not make me comfortable.
The libraries are also not complete (e.g. there was no way to draw an arc!).
I may just be stupid but... I did not find their model very intuitive.
I also didn't like the idea of using the large model.  There is a version
1.1 now which may have addressed this stuff.


I've been tinkering with a class library called JTW.  It has been or will be
resold by Blaise under another name.  JTW works with Zortech (and maybe
BC++) and Blaise works with BC++ only.  I've also heard that TIER++ is
pretty good.

Please temper these comments with the knowledge that I consider myself
a hobbiest (if even that) and may be unqualified to comment on these
things.
----------------------------------------------------------------------------From van-bc!gatech.edu!dogwood!scott Wed Apr 24 09:48:17 1991

From: dogwood!scott@gatech.edu (Scott Youmans)
Organization: National Science Center Foundation

I just ordered the BC++ / C++/Views bundle from the programmer's
connection.  I am new to windows development and C++ programming
but I have hi hopes too!

I just managed to compile my first "Hello World" program using
the class libraries provided with C++/Views.  The best thing 
about using their classes is the ease of developing a windows
application.  CPPV has taken a lot of the drudgery of Windows
programming. And since source is included for ALL classes, 
the programmer isn't forced into adhearing to the CPPV setup.

To create the hellow world for CPPV, I edited a 10 line file
called cppvmain (?) which is called from WinMain located
inside CPPV's notifier class -- pretty slick.  Then CPPV 
created my make file and my .lnk file and compiled the 
application for me.

The WHELLO.EXE from BC++ is about 25K.  The whello world with
CPPV is over 115K!  This is reasonable considering all the
"luggage" included with the classes.  Overall I like it.
But my first priority is to do some DOS C++ programming,
then do some WIN programming without CPPV, and then
get into CPPV development.
---------------------------------------------------------------------------

From: dogwood!warren@gatech.edu (L3 Warren)

I use C++/Views. Recently bought it. It is excellent, but I had real
trouble getting it to compile with BC++.
---------------------------------------------------------------------------

From: geiman@bimacs.cs.biu.ac.il (geiman mark)
Organization: Bar-Ilan University, Israel.

We are using Glockenspiel C++ and CommonView quite for a long time for
commerical database and application generator system development.
To tell you the truth, both stink, and we are anxiously waiting for
Microsoft to come out with their C++ compiler, and hopefully a class
library for MS Windows.  The compiler has many bugs and quirks, and
CommonView is only good for toy applications. For serious work you
need to go down to Windows, but then you have problems with
interfacing that with CommonView, as it overtakes the system, yuck..
I'll take a serious look at BC++ as  soon as I can lay my hands on it,
but still, a serious class library is missing.
---------------------------------------------------------------------------

From: jcc@axis-design.axis-design.fr (Jean-Christophe Collet)
Organization: Axis Design 119 rue de Flandre, 75019 Paris, France

Well, I'm no DOS programmer (thanks God :-), BUT I can give you some
informations about C++ classes for MS Windows from 2 sources :

#1 - Since I take care of a monthly posted list of C++ products, I'm
     listening carefully about products in comp.lang.c++ for almost
     2 years now. So I have seen some postings about both of this products.

#2 - A very close friend of mine had to work with CommonView. And I had
     her impressions about it.

To summarize : CommonView is a dog! Don't buy it ! I still have to see
	       a single programmer to stand for it!

	       C++/Views seems OK, but I don't know much about it.
---------------------------end of included mail----------------------------