    <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  :: Web Sites to Review</title>
        <link>https://members.accu.org/index.php/articles/877</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">Internet Topics + CVu Journal Vol 11, #3 - Apr 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/c69/">Internet</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/c132/">113</a>
<br />

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

                    -                        <a href="https://members.accu.org/index.php/articles/c69+132/">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;Web Sites to Review</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 03 April 1999 13:15:30 +01:00 or Sat, 03 April 1999 13:15:30 +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="d0e20" id="d0e20"></a>Feedback from
an earlier published site:</h2>
</div>
<p>Dear Francis,</p>
<p>I have just got to page 13 of C Vu 11.1 and the article about
the free on-line C/C++ magazine at <a href=
"http://www.megatechsoftware.com/codermag.htm" target=
"_top">www.megatechsoftware.com/codermag.htm</a>. I am always
interested in anything C or C++ so I downloaded and read it.</p>
<p>Oh no, oh no. If it wasn't so bad it would be funny. It is
probably the worst example of C coding I have seen, indicative of
someone who has read only the first few chapters of a very bad C
book. Unfortunately, new programmers may come across this stuff and
believe such code is acceptable. This is one that should have been
stopped very early on.</p>
<p>Examples of content:</p>
<pre class="programlisting">
void main(void) {
------------------------------------------------
char* MAPSIZE;             // Temp Map Size Var
  ...
sprintf(MAPSIZE, &quot;%d&quot;, strlen(MAP_LAYER_01));
------------------------------------------------
 loop:
  ...
  goto loop;
------------------------------------------------
if((win9x_fp=fopen(&quot;c:\\windows\\command\\ansi.sys&quot;,&quot;r&quot;))!=NULL)
        {
        fclose(win9x_fp);
        win9x_found();
        }
fclose(win9x_fp);
if((dos_fp=fopen(&quot;c:\\dos\\format.com&quot;,&quot;r&quot;))!=NULL)
        {
        fclose(dos_fp);
        dos_found();
        }
fclose(dos_fp);
unknown_OS();
}
---------------------------------------------------
</pre>
<p>p.s. I am willing to review such sites, mailing lists, etc. if I
am emailed details. I will usually respond to email within a couple
of days. Since I am currently only on page 15 of C Vu 11.1 you can
see how far behind I am on work-related printed magazines/journals
so by the time I have read about something, I have missed at least
one publication date.</p>
<p>Mark Easterbrook. <tt class="email">&lt;<a href=
"mailto:M.Easterbrook@ftel.co.uk">M.Easterbrook@ftel.co.uk</a>&gt;</tt></p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e42" id="d0e42"></a>Some More for
Members to Check</h2>
</div>
<p>If you have a moment please have a look at one or more of the
following, write a brief review and send it to me or to Peter
Hamilton.</p>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e47" id="d0e47"></a>An Alternative to
yacc</h3>
</div>
<p>ANTLR is a yacc substitute (it used to be called PCCTS)that is
much nicer than yacc for C++ code generation and it comes with
complete C, C++, Java, etc... grammars included in the package</p>
<p>Take a look at &lt;<a href="http://www.antlr.org/" target=
"_top">http://www.antlr.org/</a>&gt;. It's worth it</p>
<p>I think that an independent review of the following would be
worthwhile. This is a posting from the authors.</p>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e59" id="d0e59"></a>Context Free
Grammars</h3>
</div>
<p>Regular languages form a subset of context free languages.
Regular grammars are described by regular expressions, and can be
implemented with finite state machines. Context free languages in
general cannot be described by regular expressions, nor can be
implemented with finite state machines. Instead, we need a machine
with a stack (called push-down automaton).</p>
<p>Information about grammars and their implementations can be
found in 'Parsing Techniques', which can be downloaded free at:
<a href="http://www.cs.vu.nl/~dick/PTAPG.html" target=
"_top">http://www.cs.vu.nl/~dick/PTAPG.html</a></p>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e68" id="d0e68"></a>The Graph Template
Library - GTL</h3>
</div>
<p><span class="bold"><b>What is GTL?</b></span></p>
<p>Since we are intensively working with graph algorithms
especially in Graphlet (http://www.fmi.uni-passau.de/Graphlet/), we
decided to implement GTL, a graph library based on STL. For the
design of GTL's API the API of LEDA has served as a basis. GTL
contains the classes needed to work with graphs, nodes and edges
and some basic algorithms as building blocks for more complex graph
algorithms. Further algorithms are under work.</p>
<p>FEATURES: * Datastructures for handling graphs efficiently. *
Designed to be extended to fit your own needs. * Basic (extensible)
graph algorithms:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Depth First Search (DFS)</p>
</li>
<li>
<p>Breadth First Search (BFS)</p>
</li>
<li>
<p>Topological Sorting</p>
</li>
<li>
<p>Biconnectivity Test</p>
</li>
<li>
<p>ST Numbering</p>
</li>
<li>
<p>Planarity Test with planar embedding</p>
</li>
</ul>
</div>
<p>(ALPHA, works only on Solaris/Linux) * GML file format support
(see <a href="http://www.fmi.uni-passau.de/Graphlet/" target=
"_top">http://www.fmi.uni-passau.de/Graphlet/</a>) Please refer to
our homepage for details.</p>
<p><span class="bold"><b>Availability:</b></span></p>
<p>We are currently using GTL in Graphlet on the following
platforms:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Solaris with egcs-1.0.3 or later.</p>
</li>
<li>
<p>Linux with egcs-1.0.3 or later.</p>
</li>
<li>
<p>MS Windows NT/95/98 and Visual C++ 5.0 Service Pack 3</p>
</li>
</ul>
</div>
<p>The latest version is GTL-0.2.2. The source code can be
downloaded from: <a href=
"http://www.fmi.uni-passau.de/archive/archive.theory/ftp/GTL/"
target=
"_top">http://www.fmi.uni-passau.de/archive/archive.theory/ftp/GTL/</a></p>
<p><span class="bold"><b>Homepage:</b></span></p>
<p>The GTL WWW homepage is <a href=
"http://www.fmi.uni-passau.de/Graphlet/GTL/" target=
"_top">http://www.fmi.uni-passau.de/Graphlet/GTL/</a></p>
<p>Authors:</p>
<p>GTL is maintained by:</p>
<p>Michael Forster <tt class="email">&lt;<a href=
"mailto:forster@fmi.uni-passau.de">forster@fmi.uni-passau.de</a>&gt;</tt></p>
<p>Andreas Pick <tt class="email">&lt;<a href=
"mailto:pick@fmi.uni-passau.de">pick@fmi.uni-passau.de</a>&gt;</tt></p>
<p>Marcus Raitner <tt class="email">&lt;<a href=
"mailto:raitner@fmi.uni-passau.de">raitner@fmi.uni-passau.de</a>&gt;</tt></p>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e144" id="d0e144"></a>Design by
Contract</h3>
</div>
<p>The best support for Design by Contract in C++ that I have seen
is probably Gnu's Nana (see <a href=
"http://www.gnu.org/manual/nana/html_mono/nana.html" target=
"_top">http://www.gnu.org/manual/nana/html_mono/nana.html</a> for
introduction), download it from <a href=
"ftp://ftp.cs.ntu.edu.au/pub/nana" target=
"_top">ftp://ftp.cs.ntu.edu.au/pub/nana</a>; this implementation
provides limited support for DBC, but some of the trickier aspects
are not covered (such as inherited pre- and postconditions, which
should only allow weakening of the precondition and strengthening
of the postcondition).</p>
<p class="c2"><span class="remark">Two things, look at the sites
and review them, and perhaps someone would like to write an article
(for Overload, I think, on Design by Contract.</span></p>
</div>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
