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