    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Members Experiences</title>
        <link>https://members.accu.org/index.php/articles/935</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">Programming Topics + CVu Journal Vol 11, #6 - Oct 1999</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c13/">Topics</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c65/">Programming</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c129/">116</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/c65-129/">Any of these categories</a>

                    -                        <a href="https://members.accu.org/index.php/articles/c65+129/">All of these categories</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
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/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Members Experiences</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 03 October 1999 13:15:34 +01:00 or Sun, 03 October 1999 13:15:34 +01:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e22" id="d0e22"></a></h2>
</div>
<p>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&eacute;, Microsoft's J++
etc. Even more welcome would be the experiences of those who have
used two or more of them.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e26" id="d0e26"></a>CodeWarrior Pro
5</h2>
</div>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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 &pound;80) is still exceptional
value to students but they could have had that little bit more at
almost no cost.</p>
<p>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.</p>
<p>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).</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e45" id="d0e45"></a>VisualAge C++
4.0</h2>
</div>
<p>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.</p>
<p>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&hellip;)</p>
<p>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.</p>
<p>The next problem, and one that I think once again reveals IBM's
na&iuml;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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.)</p>
<p>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++.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
