    <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  :: Editorial - Coming Home</title>
        <link>https://members.accu.org/index.php/articles/425</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">Journal Editorial + Overload Journal #46 - Dec 2001</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/c184/">Journal Columns</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c185/">Editorial</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/c78/">Overload</a>

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

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

                    -                        <a href="https://members.accu.org/index.php/articles/c185+158/">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;Editorial - Coming Home</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 26 December 2001 16:46:08 +00:00 or Wed, 26 December 2001 16:46:08 +00:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e18" id="d0e18"></a></h2>
</div>
<p>After four long years in the wilderness of C and Java I have
finally returned to C++. It's quite a relief, but also quite
humbling. It's amazing what you forget, and even worse forget that
you've forgotten.</p>
<p>There was an article in Communications of the ACM a couple of
years ago about ignorance. In typical ACM style they presented a
model comprised of the five orders of ignorance. I'd hoped I was at
the first order of ignorance: I knew that I didn't know something.
But, it turns out that I'm a second order ignoramus. I don't know
what I don't know. The fifth order of ignorance, meta-ignorance, is
the ignorance of the five levels of ignorance. I suppose that you,
dear reader, may not have been aware of the five orders of
ignorance, so perhaps I just pushed you up up a level.[<a href=
"#Armour">Armour</a>] I stopped being a fulltime C++ programmer
before the Standard was even completed. So, in an attempt to
reeducate myself rapidly I have turned to my bulging bookshelves of
unread and part-read books. Placing my C++ books in order of
purchase I skimmed through many until I encountered Scott Meyer's
Effective C++. What a superb book that is. On my first reading many
years ago it all seemed pretty obvious stuff. After four years of
brain rot I now hang on every word. For example, I'd remembered
that you can't overload the return type of a method, but I'd
forgotten that you can if they differ only by const-ness. In my
code I'd written methods for getFoo and getFooAsConst. I now have
lots of improvements to make to my unimpressive code.</p>
<p>Emerging from the wilderness I expected all to be lush and right
and good in C++-land. But I immediately bumped into a bunch of
quite depressing problems.</p>
<p><span class="bold"><b>iostream and iostream.h</b></span> -
You've got to chose between them, which is fine. But sometimes some
third party code will make the choice for you, and they may make
the right choice for them (portability) and the wrong choice for
you (conformance).</p>
<p><span class="bold"><b>Templates</b></span> - The compiler I'm
using just doesn't have a very happy time with some of the more
sophisticated aspects of templates. Is it partial specialisation
that is the problem? Sure they're hard to understand and implement,
but it's been four years.</p>
<p><span class="bold"><b>Ancient STL</b></span> - The STL that
ships with my compiler has copyright notices that date from 1996.
That's partly due to an old legal argument that had nothing to do
with the compiler vendor, but surely they could have just got one
from somewhere else, or written their own. The compiler just can't
handle a more recent implementation of the STL because it can't
cope with a more 'modern' implementation.</p>
<p>Of course I'm writing about the Microsoft compiler here, which
has always been notorious for its lackadaisical attitude to
language conformance. The good news is that version 7.1 will fix
most of the serious conformance problems and should be shipping
within a year. Coupled with this, Stan Lippman has just joined the
team and has declared that one of his top goals is to bring that
compiler as reasonably close to the Standard as possible.[<a href=
"#Lippman">Lippman</a>]</p>
<p>In my pursuit of a conformant development platform I've been
exploring the domains of independent and open source software. From
comments I've read recently the Comeau C++ compiler appears to be
the most compliant compiler available, and is only deficient in
that it does not quite yet support the slightly esoteric 'export'
keyword. It's also priced at an amazingly reasonable $50.[<a href=
"#Comeau">Comeau</a>]</p>
<p>I have also been playing with STLPort and the Boost libraries.
Both are very impressive, and I'm hoping that Overload will soon be
providing more coverage of these libraries. [<a href=
"#stlport">stlport</a>][<a href="#boost">boost</a>]</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e59" id="d0e59"></a>Editorial
Team</h2>
</div>
<p>After four years of reading draft articles, helping authors, and
the editing of Overloads 31 and 32 Einar Nilsen-Nygaard has decided
to resign from the Overload editorial team. His contribution has
been, and is greatly appreciated, and we wish him well with his
future endeavours.</p>
<p>The advantage of having an editorial team work on Overload is
that the workload of each issue can be spread over a number of
shoulders. With work and life schedules being so hectic each of us
is often willing to make an effort, but is only able to do so in
occasional spurts. Having a team smoothes out these bumps in the
road, by providing an avenue for a voluntary contribution without
the commitment to any particular level of contribution or schedule.
With that introduction I'd like to ask someone in the Overload
readership to step forward and join the team. Please email us if
you'd like to contribute in this way to your journal.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e66" id="d0e66"></a>Overload
Authors - 2001</h2>
</div>
<p>As this issue of Overload will be the last published in 2001 I
want to publicly thank all those authors who over the year have
contributed their time by writing engaging articles. Thank you -
Thaddaeus Frogley, Francis Glassborow, Pete Goodliffe, Michael
Gradman, Alan Griffiths, Kevlin Henney, Jim Hyslop, Corwin Joy,
Allan Kelly, Steve Love, Dave Midgly, Antony Pinchbeck, Mark
Radford, Oliver Schoenborn, Julian Smith, Detlef Vollmann, Josh
Walker, Rob Weltman, Anthony Williams, and Simon Wilson.</p>
</div>
<div class="bibliography">
<div class="titlepage">
<h2><a name="d0e71" id="d0e71"></a>References</h2>
</div>
<div class="bibliomixed"><a name="Armour" id="Armour"></a>
<p class="bibliomixed">[Armour] The five orders of ignorance,
Phillip G. Armour, Communnications of the ACM, October 2000, Volume
43, Issue 10.</p>
</div>
<div class="bibliomixed"><a name="Lippman" id="Lippman"></a>
<p class="bibliomixed">[Lippman] <span class="bibliomisc"><a href=
"http://www.microsoft.com/PressPass/press/2001/Oct01/10-19lippmanpr.asp"
target=
"_top">http://www.microsoft.com/PressPass/press/2001/Oct01/10-19lippmanpr.asp</a></span>
- Stan Lippman joins Microsoft.</p>
</div>
<div class="bibliomixed"><a name="Comeau" id="Comeau"></a>
<p class="bibliomixed">[Comeau] <span class="bibliomisc"><a href=
"http://www.comeaucomputing.com/" target=
"_top">http://www.comeaucomputing.com/</a></span> - Comeau C++
Compiler.</p>
</div>
<div class="bibliomixed"><a name="stlport" id="stlport"></a>
<p class="bibliomixed">[stlport] <span class="bibliomisc"><a href=
"http://www.stlport.org/" target=
"_top">http://www.stlport.org/</a></span> - STLPort Standard
Library Project.</p>
</div>
<div class="bibliomixed"><a name="boost" id="boost"></a>
<p class="bibliomixed">[boost] <span class="bibliomisc"><a href=
"http://boost.org/" target="_top">http://boost.org/</a></span> -
Free peer-reviewed portable C++ source libraries.</p>
</div>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
