    <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</title>
        <link>https://members.accu.org/index.php/articles/949</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 + CVu Journal Vol 12, #1 - Jan 2000</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/c77/">CVu</a>

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

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

                    -                        <a href="https://members.accu.org/index.php/articles/c185+128/">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</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 09 January 2000 13:15:34 +00:00 or Sun, 09 January 2000 13:15:34 +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="d0e22" id="d0e22"></a></h2>
</div>
<p>When I was a teacher I used to summarise the state of
educational software as pretty pathetic. Even today I am hardly
impressed by what I see on offer. The fundamental problem is that
the vast majority of software is either written by computing
experts with relatively little understanding of the target user or
written by someone with excellent knowledge of the end user but
seriously deficient understanding of software development. Please
not that I consciously made that last sentence extremely general.
There is good software out there but it is notable by its
rarity.</p>
<p>From the educational perspective the most important element is
to realise that computing is not an end in itself, but a tool that
makes new approaches possible. Some of these changes are extremely
scary. For example, the advances in pattern recognition make
surveillance systems deeply threatening to the ordinary citizen's
privacy. In the days when almost all communications were hand
written there was no reasonable way that government could inspect
every item. I suppose if you go far enough back to when writing was
rare a government could have read everything but doing so covertly
would be next to impossible. The change is not that government can
read your mail or listen to your telephone conversations, or even
watch you movement but that computer technology supports it doing
this en masse.</p>
<p>Another example is credit card security. The danger of using
your credit card over the Internet is not that someone else can get
your credit card details, any time your card leaves your sight for
even a few seconds it can be copied (giving much more data than
simply what is on the surface). No, the danger is that thousands of
credit cards can be milked of a small amount (below any suspect use
triggers) at the same time.</p>
<p>Now, when I set out to write this editorial I had no intention
of getting into threats to privacy and lifestyle so I will leave
those for you to think about (please do share your thoughts with
fellow members by sending them to me for publication). What I
intended to tackle was the dismal quality of material aimed at
novice programmers.</p>
<p>A few weeks ago I found myself coining the phrase 'programming
virgin' (p.v. for short) to describe the person who knows nothing
about programming. There are very few books aimed at such people.
Steve Heller's 'Whose Afraid of C++?' springs to mind. Now if you
were a truly innocent p.v. with little technical understanding of
computers (the kind of person who can use a machine but is baffled
by anything even slightly unexpected) such a book could be useful.
However for even the marginally technically aware, it is a little
like an adult learning to read English with 'Peter and Jane books',
the content is not going to stimulate the average reader.</p>
<p>At least Steve Heller made a serious effort to meet the needs of
the p.v. (though to my mind the claim that the book had much to
offer those already programming is, at best, suspect.)
Unfortunately most books aimed at teaching programming are either
written by academics with a poor understanding of the programming
language they are writing about, or they are written by language
'experts' (note the quotes) with little understanding of the needs
of the p.v. Even worse are the considerable number of books written
by authors who are both ignorant of the language and of the needs
of the reader.</p>
<p>Of course there are a number of books that are aimed at
introducing a language to already competent programmers. I would
classify K&amp;R, 'The C++ Programming Language', ''The C++ Primer'
that way. Such books can be used by a p.v. but only if used under
the supervision of a competent programmer with practical
teaching/mentoring skills.</p>
<p>You will find a reprint (from 'The C/C++ Users Journal, May
1999') of an article by Bjarne Stroustrup on the subject of why C++
can be used as a good introductory language. To my mind the most
important message from this article is that C++ for p.v.s needs to
be introduced very differently from the way that every existing
book does so. Read the article and think about it. I have, and I
would like to share a couple of my thoughts with you.</p>
<p>It would be quite possible to support Standard C with an extra
library to provide higher levels of abstraction to make the
learning task easier, however I am not convinced that this can be
justified when C++ can be used without such extras.</p>
<p>Learning to program is a practical skill and so the beginner
needs to be able to get stuck in as quickly as possible. I think
that is a big minus for Java, there is simply too much baggage that
is needed by even the simplest program. Of course a well-designed
course might minimise that problem, but how many
writers/trainers/teachers are willing to put in the effort?</p>
<p>One attractive element of Java is that it makes graphics
programming accessible at an early stage. I think this is important
because it gives the novice a much greater sense of achievement,
and so motivates him/her to learn more. A graphics library portable
across the main platforms (Unix, Macintosh, MS Windows based PC)
would be a tremendous boon to novices and books/courses for
same.</p>
<p>The understanding of the teacher is much more important than the
selected introductory language. No language is a magic bullet for
the process of learning, but gifted teachers are.</p>
<p>The market is wide open for one well-written book aimed at the
p.v. As C++ is a widely used language with an appropriate level of
abstraction in the core of the language, it might as well be the
implementation language for such a text.</p>
<p>Now I can think of a couple of authors who have the technical
understanding and the clarity of expression required to write such
a book, but how do we persuade them to do the hard work needed to
ensure that the result genuinely meets the needs of the p.v.?
Unless we can get such a book to market, the skills of the average
programmer will remain abysmal.</p>
<p>Please send in your specifications for a book or course aimed at
the first time programmer. Perhaps that might encourage someone to
write a book or course that all of us can whole-heartedly
recommend.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
