    <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/journals/1011</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>


        <h2>Journal Articles</h2>


<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 12, #3 - May 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/journals/">All</a>

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

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

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c126/">123</a>
                    (22)
<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> 02 May 2000 13:15:36 +01:00 or Tue, 02 May 2000 13:15:36 +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></h2>
</div>
<div class="literallayout">
<p>OrbWorks [<a href="http://www.orbworks.com" target=
"_top">http://www.orbworks.com</a>]<br>
$18.50 via PalmPilotGear HQ [<a href="http://www.palmgear.com"
target="_top">www.palmgear.com</a>]<br>
45 day free evaluation version available.<br>
Registered users get free upgrades.</p>
</div>
<p>What is <span class="emphasis"><em>PocketC</em></span>?
<span class="emphasis"><em>PocketC</em></span> is three things,
it's a language, it's a compiler, and it's a virtual machine. The
one thing that <span class="emphasis"><em>PocketC</em></span> is
not is C. It is not K&amp;R C nor is it ANSIC C, it is PocketC, and
as long as that remains clear, it's a good product.</p>
<p><span class="emphasis"><em>PocketC</em></span> the language is a
simple affair, syntactically similar to C, but with a different
feature set, aimed at the &quot;hobbyist&quot; developer. The most
significant difference being the lack of <tt class=
"literal">struct</tt>s, though this can be worked around with
judicious use of <tt class="literal">#define</tt>s and organised
thinking. The language includes a string type, which is supported
by the ever so slightly polymorphic type system, demonstrated
below:</p>
<pre class="programlisting">
print(pointer a) {
  puts(*a+&quot;\n&quot;);
}
main() {
  int a=1;
  float b=2.3;
  string c=&quot;four&quot;;
  print(&amp;a);
  print(&amp;b);
  print(&amp;c);
}
</pre>
<p>The <span class="emphasis"><em>PocketC</em></span> compiler is
hosted directly on the Palm device (although a desktop edition is
available separately) so you can hack away at an idea with it away
from the desktop, without lugging a laptop around. If there is an
error in your code then you are told via a dialogue and can jump to
that point in the memo pad (or pedit if you've got it). One problem
is that sometimes it misses things that should have been compile
time errors, and you get a runtime error instead.</p>
<p><span class="emphasis"><em>PocketC</em></span> comes with a
native library/API, which includes console text I/O, pen and button
input, string manipulation, math, graphics, sound, time/date,
database I/O, memopad I/O, serial port I/O, system (actually
miscellaneous PalmOS functions), and memory management. These
libraries are not particularly well designed, and are occasionally
buggy, but this shouldn't put you off as not only do the developers
respond quickly to bug reports, and regularly extend the libraries,
but there are tools available for the experienced developer to
create their own libraries.</p>
<p>The virtual machine / runtime is available free, and can be
distributed with applications developed. This is only a small part
of <span class="emphasis"><em>PocketC</em></span>, but its probably
the part that lets the package down the most, as it is
unfortunately slow, prone to crashing, and is a significant drain
on battery life.</p>
<p>So in conclusion <span class="emphasis"><em>PocketC</em></span>
is good if you want to try out ideas on the move, or have a Palm
sized itch that you want to scratch. It is cheap and cheerful, but
for professional development, you are still suck on the
desktop.</p>
<p>The author written several toy apps using <span class=
"emphasis"><em>PocketC</em></span>, including <span class=
"emphasis"><em>PocketIFS</em></span> which can be downloaded
(including source code) from :</p>
<p><a href=
"http://www.palmgear.com/software/showsoftware.cfm?&amp;prodID=3995"
target=
"_top">www.palmgear.com/software/showsoftware.cfm?&amp;prodID=3995</a></p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
