Programming Topics + CVu Journal Vol 11, #6 - Oct 1999
Browse in : All > Topics > Programming
All > Journals > CVu > 116
Any of these categories - All of these categories

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Members Experiences

Author: Administrator

Date: 03 October 1999 13:15:34 +01:00 or Sun, 03 October 1999 13:15:34 +01:00

Summary: 

Body: 

I would very much like other members to add their experiences of the following two compilers because both deserve to be reported on by users who have used them with a vengeance. I would also like to here experiences from those using various Java development packages such as VisualAge Java, Symantec's Café, Microsoft's J++ etc. Even more welcome would be the experiences of those who have used two or more of them.

CodeWarrior Pro 5

The latest version of Metrowerk's development package, CodeWarrior Pro 5, arrived a couple of months ago. Those that have read my previous comments on this product will know that I hold it in high esteem. It is an excellent product developed by people who take a pride in their work.

Their standard product ships with tools for both MSWindows and Apple Mac (both the Motorola 68K versions and the PPC ones). You can cross develop on one of these platforms for the other. If you use some other OS such as Linux there are separate releases for quite a number of them.

The main focus over the last couple of years has been on getting their C++ compiler closer to conforming to ISO C++. At the same time they have to ensure that they provide compatibility switches so that you can use MFC (version shipped under license as part of Pro 5). This is not easy because there are numerous really nasty features in MS's implementation of C++ that are required for MFC to compile.

While there are still a few bits of ISO C++ that need their attention I think that with this release they can largely switch to maintenance of this part of the product. However the second part is their C compiler. Basically this is a good C89 compiler. What that means is that they will have to do a lot of work implementing the coming new C standard. I wish they were already supporting such things as the new keyword 'restrict' so that their customers could have got a head start in getting to grips with the many changes being introduced in the new C standard. I hope they will move the focus of their new work to C for the next couple of years.

They have continued to develop their Java tools. This must consume more of their time than some might expect from a language that was hyped four years ago as virtually finished and ready for a standard.

What is missing form this latest package is a Pascal compiler. When I challenged them on this they said that there was little demand for it. I can understand that but wish that they had simply marked the product as not being further maintained and developed but continued to ship it and provide the necessary support in the IDE. The academic package (at about £80) is still exceptional value to students but they could have had that little bit more at almost no cost.

The other thing that I find particularly disappointing is the quality of the online (i.e. machine readable) documentation. Far too much has a strong resemblance to the way comments on source code decay because they are not updated when the code is changed. The documentation is scattered with references to the no longer shipped Pascal and to an assembler that is certainly not documented as part of the package (though I guess there may be one hidden somewhere). Then there are numerous hyperlinks in the documentation that put up an error message recommending that you get the latest version of the documentation from your supplier (granted that this seems to be largely in the documentation for MFC). Things like that tarnish an otherwise excellent product.

Please note that the previous UK distributor, Fullmoon, is no longer trading. However it is worth making an effort to chase down a distributor (perhaps just bully your normal supplier of development tools into providing Metrowerks tools).

VisualAge C++ 4.0

As you would expect, this is an excellent product with a high quality compiler. The package ships with compilers for OS/2 and for NT. It also includes separate C compilers (I think that the two compilers have drifted to the extent that IBM prefer to maintain two distinct products. I think there is a lot to commend this approach rather than trying to write a single product that can metamorphose between being a C compiler and a C++ one.

There are several other products shipped with the compiler package. These include DB2 Universal Database Extenders, DB2 Personal Edition, DB2 Software developers kit and Net.Data. There is also a CD from Object Connection Partners and a copy of Great Circle from Geodesic Systems. (Are you beginning to realise why 17Gbyte hard-drives are an advantage (now that reminds me that it was an IBM hard-drive that I bought. hm…)

One problem with VisualAge C++ is the way it handles its source code files. While there is much to be said for the way that definitions are looked for and found in other files in a project the consequence is that you cannot write code that strictly conforms to the C++ compilation model. Note that I do not think this is a disadvantage however you should be aware of it. For most code this compilation/link model will have no visible effect on your code.

The next problem, and one that I think once again reveals IBM's naïvety when it comes to the market place is that this package is strictly for NT (well, OS/2 as well). It will not work with Windows 95/98. It produces executables for these but the development tools require NT. Many smaller development shops do not run NT (it is expensive and though it does have some advantages such as memory protection the cost does influence the decision) and so cannot use these tools. Even those with some NT machines, many of their machines will be 95/98 based. In addition, many developers like to use the same platform at work that they have at home.

They also like to use the same development tools as that allows them to do some exploratory and preparatory work at home. Whether you think that is a good idea is irrelevant. Then we have academia that struggles for every last pound/dollar. We all know that people are conservative and prefer to stick with the things they know.

What makes this especially relevant in the case of VisualAge C++ is that the IDE has a totally different look and feel to that of its competitors. This is not a bad thing in itself but it does mean that the new user must invest a considerable amount of time becoming familiar with it. Unless you need to target other platforms (such as OS/2 or AIX) you may not find the investment of time worth it.

Remember that you will already have spent a substantial sum for the development tools and for a Windows NT licence, so the costs of getting productive are beginning to mount up. My sense is that you should add at least a weeks work time to get sufficiently familiar with the IDE to start productive work even if you are already a fluent C++ programmer. This level of investment definitely requires a high commitment to the product. Of course we then find that, for Windows 95/98/NT we have either to use MFC or use IBM's own libraries.

What do you gain? Well, quite a lot. IBM's product definitely earns the 'Visual' claim, which Microsoft's Visual C++ does not. If you are comfortable with the 'visual programming' mechanism (perhaps from having used Microsoft's Visual Basic? or the now defunct Symantic C++ or effectively defunct Watcom C++) you will appreciate VisualAge C++. You get the added benefit in that mastering one VisualAge product makes mastering the next one much easier. (I have not had time to take more than a cursory glance at VisualAge Java - which runs on Windows 95/98 - but what I have seen tempts me to try to find the time to work a bit more with it.)

In summary, if you already use Windows NT and are happy to spend some time mastering the IDE, and the cost of a professional tool does not scare you too much take a look (IBM normally provide 60-day trial versions of their products) I think you may like what you find. If you already own a copy of 3.5 or earlier you should definitely upgrade as it is time that you got closer to Standard C++.

Notes: 

More fields may be available via dynamicdata ..