    <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/785</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 17, #1 - Feb 2005</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/c98/">171</a>
<br />

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

                    -                        <a href="https://members.accu.org/index.php/articles/c185+98/">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 February 2005 13:16:10 +00:00 or Wed, 09 February 2005 13:16:10 +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="d0e20" id="d0e20"></a></h2>
</div>
<p>Well, the bunting is down, the turkey has well gone (and if it
hasn't by the time this issue hits your door mats, then I seriously
suggest throwing it out before it walks out!) and thoughts are
turning to how to remove the couple of inches gained through the
annual festival of excess.</p>
<p>While I can't help very much with the physical, in this edition
I can certainly help with the mental! In the last issue, we had the
first part of Derek Jones' statistical results from the last
conference. This will conclude this edition, but it has sparked
something in my inbox. It seems quite a few of you have been very
interested in the results obtained. I've asked Derek if he'd like
to submit some more along the same lines, so you never know...</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e26" id="d0e26"></a>In the Caverns
of Your Mind...</h2>
</div>
<p>I have many many many books in my office. Loads of them. I'd
hate to imagine how much they'd cost to replace as there are some
classics in my collection which are long out of date and even
longer out of print.</p>
<p>Just before the holidays events really took hold as one of the
shelves holding the books up (together with a good chunk of the
wall) finally succumbed to the forces of gravity, and as usual, it
was at around 4am. I don't think I've seen the dogs jump so high -
even the deaf one!</p>
<p>While I cleaned up the mess, I came across three books which I
thought had vanished when I moved to Haydock over 10 years ago.
While they really wouldn't be worth a huge amount today, they are
important to me; they were the first two programming books I ever
bought and the first programming book I ever bought from eBay.</p>
<p>The books in question here are &quot;Computer Spacegames&quot; and
&quot;Computer Battlegames&quot; for the ZX81, ZX Spectrum, BBC, TRS-80,
Apple, Vic 20 &amp; Pet. That should give you an idea of the age of
them (both published in 1982 by Usbourne). I'd not really read
these books in a very long time (well, in 1982 I was 11, so playing
football was more important than my ZX81) and decided to look
through them - mainly out of interest - and something struck me.
While machine power has increased vastly, things have actually
regressed in terms of computing.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e37" id="d0e37"></a>You What?</h2>
</div>
<p>Okay, I'll explain what I mean there. Take the following piece
of code (as listed in the Computer Spacegames book)</p>
<pre class="programlisting">
INVERSE c
LET y=h*1.3+10
PLOT 200,y: DRAW 34,0
DRAW -4,20: DRAW -13,10
DRAW -13,-10: DRAW -4,20
RETURN
LET y = 172-a*32
INK c
PLOT 0,y
DRAW b,0
DRAW INVERSE 1,100-b,0
RETURN
LET i$=INKEY$
IF i$=&quot;a&quot; THEN LET t=t+4
        : IF t&gt;100 THEN LET t=100
IF i$=&quot;d&quot; THEN LET t=t-4
        : IF t&lt;0 THEN LET t=f
IF t&gt;f THEN LET t=f
RETURN
</pre>
<p>This is the ZX Spectrum version of a game called &quot;Touchdown&quot;.
It's not an amazing game, it is one of those land the craft on the
platform games. All the above code does is a bit of drawing on the
screen and interacts with the player for which key they press to
move the spaceship (a user defined 8x8 graphic). It's in BASIC
(albeit Sinclair BASIC) and what you see is what you get.</p>
<p>Now, consider what you would have to do to get that to run on a
modern Mac or PC (not bothered as to which OS the PC is running -
it applies equally to Win32 and Linux/Unix/BSD variants). No
cheating here (read no emulators!).</p>
<p>First you need a third party library for the graphics handling
(say SDL - I'm keeping this cross platform as I know next to
nothing about DirectX). Okay, there is a version for platform X and
I can install it. Right. Good.</p>
<p>Next the code has to be converted. That means that some parts
will be easier than others and some will need mapping over to SDL.
Problem. I need to consult the documents for SDL to see what is the
closest to the original. For the parts which are simple enough
(simple logic), conversion to C is simple. Moving it to C++, C# or
Java may be a bit of a pain, but can be done easily enough.</p>
<p>So we now have the basics. We can't do it natively (that is with
<span class="emphasis"><em>only</em></span> the operating system),
but with dynamic linking, the final product can still be used by
many people - as long as they too have the library I've used.
Nevertheless, it is possible.</p>
<p>The code though will have grown quite a lot (in all probability)
and to a beginner (which is the target audience for these books),
unless it is well documented, it isn't going to be easy to use.</p>
<p>Then comes the make file. Shudder time!</p>
<p>So from something you sit down at, switch on, 2 seconds later
have a command prompt and can start working on, you now have boot
times of up to a minute, then load either a text editor or
development environment, load the source and start to work. 2
seconds can become up to 10 minutes.</p>
<p>Of course, it would be plain daft of me to say development and
software quality hasn't improved, but it would also be wrong for me
to omit saying that the technology has developed as well.</p>
<p>We no longer use 8 bit machines with a maximum of 40K available
memory, 8 colours and a piezo beep for a sound system, and software
has come on in leaps and bounds, but is it still as accessible for
the newcomer as things were in 1981 or has computing changed to a
&quot;them and us&quot; whereby instead of the computer being a portal to the
imagination, it is a tool for writing editorials, doing your home
accounts or sending emails?</p>
<p>Does your average kid get the same kick out of writing some code
as kids between 1981 and 1985 get when they used their BBC Bs,
Orics, Spectrums, Dragons et al or has the fun been sucked out of
it when you write something like:</p>
<pre class="programlisting">
void moveLeft(
       Position *currentPosition,
       Ship &amp;Tardis) {
  Position newPosition;
  newPosition = checkBounds(
      currentPosition
              - sizeof(Tardis));
  if(!newPosition)
    moveLeft(currentPosition
              - sizeof(Tardis));
}
</pre>
<p>Yes it's logical, but is it really the same in terms of bright
eyed fun?</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e73" id="d0e73"></a>And the Third
Book?</h2>
</div>
<p>Another classic from when I was a teenager: &quot;Creating Adventure
Games on Your BBC Micro&quot; by Ian Watt (there were other versions for
machines of that era, including the Amstrad 464, Spectrum and
Dragon 32).</p>
<p>Now this really was a good book as it took the reader through
just about every aspect (at that time) of writing an adventure -
from the requirement to get everything down on paper first (the map
planning being one of the most important aspects, followed by the
puzzles) - to using non-player characters (NPCs). It was easy to
understand and even by todays standard, is a great book to
have.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e80" id="d0e80"></a>Why Did I Bring
These Up?</h2>
</div>
<p>Am I drunk? Am I just in one of those moods to look back with
rose-tinted glasses? Am I just one of those cranks who wishes that
the BBC B was still the best thing since sliced bread?</p>
<p>The answer is no to all three.</p>
<p>I brought it up for one reason. In comparison to what we have
today, things have undeniably moved forward, but at the same time,
we've regressed. Books are the same. Sure, things are more complex,
but the fun seems to have gone as, more importantly, has the
attention to detail. We are getting more and more substandard books
being published which really aren't helping.</p>
<p>I recently reviewed a book called &quot;Linux Game Programming&quot; which
was truly awful. It was a book which (I've since learned) was
written by a committee after the lead author found a new job. The
attention to detail was lax to say the least with someone at the
publisher adding in notes which instead of helping gave some very
poor information, some of which had nothing to do with the material
presented.</p>
<p>I doubt that in the 1980s this book would have made it. All
right, I'm not that blinkered to say there were not some real
turkeys out there (I remember one Oric-1 book which did everything
with direct pokes to the screen etc instead of using the built in
command - that was a horrid book!), but they were fewer and further
between. Was it that back then books were not just off a conveyor
belt (yes, Granada Publishing was the exception to that rule!) but
written by authors not just interested in getting another DirectX,
SDL, or OpenGL book out?</p>
<p>It would be refreshing, to say the least, if an update to the
adventure game book was made available for users of C, C++, C# or
Java.</p>
<p>Rant over. On with the show!</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
