    <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  :: You Write - The Editor Responds</title>
        <link>https://members.accu.org/index.php/articles/782</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">Letters to the Editor + CVu Journal Vol 11, #2 - Feb 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/c184/">Journal Columns</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c186/">LettersEditor</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/c133/">112</a>
<br />

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

                    -                        <a href="https://members.accu.org/index.php/articles/c186+133/">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;You Write - The Editor Responds</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 07 February 1999 13:15:29 +00:00 or Sun, 07 February 1999 13:15:29 +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>Chris Hills
<tt class="email">&lt;<a href=
"mailto:chris@phaedsys.demon.co.uk">chris@phaedsys.demon.co.uk</a>&gt;</tt></h2>
</div>
<p>Dear Francis,</p>
<p>Periodically we get a letter to C Vu such as the one in the last
issue: I took a degree in a non-computing subject but like
programming why won't someone employ me as a programmer. This
letter is a little different in that the person is already employed
in SW.</p>
<p>Whilst his efforts to learn C++ are laudable what about the
other &quot;fringe&quot; elements? Such as OO and structured design
methodologies, project control, system analysis? Looking back I
also covered real-time systems, databases, communications, C, Mod2,
assembler (even a bit of Ada). There is a LOT more to &quot;being a
programmer&quot; than learning C++. The writer suggested that he would
be prepared to enter the profession as a new graduate and not count
his experience. I assume this is as a new mathematician? As I said
even on a Computer Systems Degree specialising in embedded and
real-time I had to do some database work so I would think the
writers experience in databases is germane. The writer says that SW
engineering is a profession. Well like any other profession: to
enter one must take the appropriate exams. With a maths degree one
would not expect to become a doctor just by doing a few medical
courses. So why assume that one can or computing?</p>
<p>There is one disturbing aspect of the letter. The writer is in
programming. He is doing databases and SQL. C++ is just another
facet of SW engineering. As I have said both are usually covered on
computing degrees.</p>
<p>C and C++ are just a small part (despite what some may think) of
SW Engineering. On my last project (C) only 20 percent of the time
was actually programming. Less than 15 per cent on the project
before (C++).</p>
<p>C++ was &quot;the new kid on the block&quot; much like Java is now and C
was a few years before. The language is largely immaterial. Both C
and C++ (like COBOL &#61514;) may well be dead in 5 years. I was
taught Modula2 and Smalltalk because at the time they were going to
save the world (and C++ was not). I would not base a career on a
language.</p>
<p>My advice is to carry one gaining experience in the industry
where you are. Prove your computing skills and see if your current
company will let you move onto projects with more of a C or C++
content. Otherwise go and get qualified in the profession in which
you wish to work.</p>
<p>Regards</p>
<p>Chris Hills &lt;chris@phaedsys.demon.co.uk&gt;</p>
<p class="c2"><span class="remark">There is a great deal of truth
in what Chris writes. None of you would consider ability to use the
tools of an electrician as sufficient qualification for employment
as an electrician (though many cowboys seem to think that just
partial familiarity with the tools is enough). As in many jobs,
employers reasonably take on people with suitable talents as
trainees. What is unreasonable is those that consider that those
who are graduates in some other discipline (actually I would argue
that that term should include Computer Science) only need to learn
a programming language to be fully trained software
developers..</span></p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e46" id="d0e46"></a>Stefan Bates
<tt class="email">&lt;<a href=
"mailto:stefan.bates@btinternet.com">stefan.bates@btinternet.com</a>&gt;</tt></h2>
</div>
<p>Francis,</p>
<p>As a computer science graduate, now with 8 years commercial
experience, I hope I can offer some advice to that particular
recent graduate.</p>
<p>I agree with you that the actual degree subject matters little,
in fact, it is sometimes thought (by some employers I have worked
for) that computer science graduates &quot;think they know it all&quot;. They
sometimes actually prefer maths/science graduates.</p>
<p>In addition to this I'd like to point out that as a computer
science graduate I probably learnt about as much C++ as would fit
on the back of a postage stamp; and I attended one of the most
respected Universities who teach the subject.</p>
<p>I would urge the graduate to politely discuss his/her concerns
and desire for work in C/C++ with his/her manager. I once left a
graduate position due to the work and when I left my manager said,
&quot;why didn't you just tell me you wanted to do XYZ...&quot;. If you don't
ask -you won't get!</p>
<p>5 years ago I was a graduate recruit with no commercial C/C++
experience. I applied for a job with a large very well known retail
bank for a relatively low salary in order to get trained in C++. I
am now still learning C++ (have been for whole 5 years) and write
C++/Windows NT/SQL Server software for two blue chip companies on a
contract basis earning over 3 times my previous annual income.</p>
<p>I suggest that if his/her present employer simply cannot, or
will not, move him/her to C/C++ then it is time to apply for a
position which involves SQL Server/Access (current area of
expertise) in conjunction with C/C++. I have yet to work on a
project simply involving my knowledge of C/C++.</p>
<p>And, it should also be remembered that the job market is also
all about supply and demand. In my experience (as an interviewer)
in the South East there is a huge shortage of people who really
know C++ - I find it amazing sometimes that people who claim to
know C++ cannot even tell me what a default constructor looks like!
In other words, sometimes employers cannot be too choosy and have
to pick candidates who they believe have a genuine interest in the
subject and the ability - not necessarily vast amounts of
experience.</p>
<p>Finally, I wish him/her the best of luck.</p>
<p>Stefan Bates. &lt;stefan.bates@btinternet.com&gt;</p>
<p class="c2"><span class="remark">Thanks for the comments. The
best advice I have ever been given was when I was a young teacher.
My deputy head commented that there is nothing in the World for the
dumb and that generally the worst you get when asking for something
is 'No.'</span></p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e74" id="d0e74"></a>Silas S Brown
<tt class="email">&lt;<a href=
"mailto:silas@earthling.net">silas@earthling.net</a>&gt;</tt></h2>
</div>
<p>Dear Francis,</p>
<p>I read David Watson's article on internation-alisation with
interest. Actually this is stretching the definition of
'internationalisation' a bit, if you define it as 'taking code that
was meant for one language and modifying it to work with others'.
The process of I18N (an abbreviation for 'internationalisation' -
count the letters) and 'Japanisation' can be much more difficult
than writing code from scratch.</p>
<p>I am very surprised that Shift-JIS is being used in an embedded
system. What was the reason for this design decision? It does not
save memory, because in practise the set of half-width katakana
that can be represented by single bytes are hardly ever used -
they're half-width so they can be displayed on an 80x25 screen, but
nobody really wants half-width katakana these days. Also the set is
not really portable - JIS encoding (not to be confused with the JIS
standard) and EUC encoding, the other two common encodings in
Japan, have no support for the half-width kana, only full-width
(actually, JIS has an escape sequence to go into a katakana set,
but it's not usually supported). Neither do they support the
user-defined set.</p>
<p>(By the way, 'kana' is a collective name for hiragana and
katakana. It is not short for katakana. And another thing you're
likely to encounter is 'romaji' - Romanised Japanese, and I won't
go into the debates on what is the best way to write it....)</p>
<p>Many people do not like Shift-JIS. Its popularity is largely
because it is what Japanese Windows 95 uses. However, it is
certainly not universal. In particular, you cannot successfully
send an email encoded in Shift-JIS (or EUC) without uuencoding it
(or MIME-encoding it) because international email gateways are not
eight-bit clean, and Japanese email usually sends in JIS encoding
(with escape sequences and so on). So, if you are writing a
Japanese email client for Windows 95, it needs to send and receive
email in JIS but work in Shift-JIS. Actually, if you're writing
software for Windows 95, you need to know about most encodings
anyway - somebody might paste some EUC (say) into your application
and you have to know what to do with it.</p>
<p>Actually, JIS encoding for email isn't perfect either, because
the escape characters are sometimes stripped. It's a pity you can't
represent Japanese using Hz encoding, an encoding used for Chinese
that uses entirely printable characters, with the tilde as an
escape character.</p>
<p>Back to your embedded system. I don't know what the application
is, but I have a feeling that you're shooting yourself in the foot
by deciding to work internally in Shift-JIS. The code that you
write will be rather more complicated than (say) EUC, and there
will be more to go wrong. You have probably now advanced beyond the
state of being able to totally change the design, but if it were me
I would work internally in EUC (actually I'd work internally in
whatever format takes my fancy) and just write conversion code at
the appropriate places. But I find it hard to imagine how much
conversion an embedded system will need to do anyway - is it meant
to be plugged into another computer?</p>
<p>Minor nitpick: I'm not 100% sure if your description of what
Hiragana and Katakana are used for is entirely accurate. Usually
Japanese use Kana for 'little' words like particles, and I don't
<span class="bold"><b>think</b></span> it's possible to write
meaningful Japanese in 100% Kanji. Kana is not meant to be just an
aid for learning. Also, Katakana is not just used for foreign words
but for advertising, formal writing and so on. I read somewhere
that Hiragana is considered more 'feminine'.</p>
<p class="c2"><span class="remark">My understanding is that Kana
are primarily used for particles, adjective and verb endings etc.
In addition you will sometimes find small print kana beside Chinese
characters to show how they are to be read.</span></p>
<p>One common problem you might be interested in is the fact that
JIS includes a double-width Roman set, which is different from
ASCII. This usually causes Japanese computer novices on the
Internet to get confused. They may think they are writing to you in
English, but they are encoding it in that double-width set (because
they haven't switched into &quot;US mode&quot; or whatever), and if you don't
know how to decode it then it might as well be Japanese. The worst
problem is when they start writing email addresses and so on in the
double-width set - not only can unconfigured English computers not
read it but neither can they copy/paste it successfully. And I have
seen HTML and URLs written in that set (at this point I usually
write in to the webmaster and point it out).</p>
<p>Another common problem is when a web server lies about its
character set. In my own program, I totally ignore what the web
server tells me (I'm thinking of adding a &quot;don't ignore web server&quot;
option) and use an auto-detect. In Chinese, a fre-quency table of
the most common 500 characters works wonders (and I don't know why
more software doesn't do this). In Japanese you can get away with
checking the ranges of characters.</p>
<p>With regard to setting locales, I don't know that much about
them either but I don't think they will help you. As far as I know
they set things like whether to use a comma or a dot for the
decimal point. If you're looking for CJK (Chinese/ Japanese/Korean)
support at the language level, I think you'll be disappointed. (Oh
and by the way, perhaps I should acknowledge that CJK is a
registered trademark. And I'm English&trade;)</p>
<p>I wrote an overview of my own adventures in this stuff on
<a href=
"http://www.cam.ac.uk/CambUniv/Societies/cucs/databus/multling.htm"
target=
"_top">http://www.cam.ac.uk/CambUniv/Societies/cucs/databus/multling.htm</a>
but perhaps it's a bit big for C Vu.</p>
<p>Silas S Brown &lt;silas@earthling.net&gt;</p>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e114" id="d0e114"></a>And a reply.
Dave Watson t<tt class="email">&lt;<a href=
"mailto:echnojock@bigfoot.com">echnojock@bigfoot.com</a>&gt;</tt></h3>
</div>
<p>Hi Silas,</p>
<p>Sorry it's taken me ages to respond. Thank your for your
feedback though, it's much appreciated.</p>
<div class="blockquote">
<blockquote class="blockquote">
<p>Actually this is stretching the definition of
'internationalisation' a bit, if you define it as 'taking code that
was meant for one language and modifying it to work with
others'.</p>
</blockquote>
</div>
<p>The code was originally written to use half-width Katakanas
only, so we're not &quot;taking code meant for one language&quot; as much as
building upon what was already there. The I18N bit came about
through my investigations into wide characters et al which led me
to (falsely) believe that I could manipulate shift-JIS strings
using them.</p>
<div class="blockquote">
<blockquote class="blockquote">
<p>I am very surprised that Shift-JIS is being used in an embedded
system. What was the reason for this design decision?</p>
</blockquote>
</div>
<p>To be honest, I don't know for definite why Shift-JIS was opted
for. I wasn't in on that decision, and by the time I was up to
speed, the Shift-JIS implementation was well under way. As we have
to talk to PC's using the IR interface, the PC element may have
something to do with it.</p>
<p>I read your comments on email with interest. If Shift-JIS
doesn't take to email very well, what do most PC packages do -
convert to JIS and us Shift-JIS internally? Use JIS and only
present Shift-JIS to the operating system? It seems that this side
of life is pretty fraught.</p>
<p>Your comments on Shift-JIS not saving memory and nobody wants
half-width Katakanas any more are also interesting. RAM is a
consideration to us, hence the half-widths. However, if nobody
wants half-widths, it's false economy.</p>
<p>I stand corrected on the meaning of 'kana'. I've been
misinformed. It must be possible to get by using just Katakanas;
our old interface used them exclusively but I don't know how
stilted it was to use.</p>
<div class="blockquote">
<blockquote class="blockquote">
<p>With regard to setting locales, I don't know that much about
them either but I don't think they will help you.</p>
</blockquote>
</div>
<p>They didn't; but the amendment 1 material talks a lot about
wide-chars, different character sets and led me to think this was
I18N support. I read up on it because I wondered if it simplified
Shift-JIS string handling. At the end it all fell apart because you
need to set up a suitable locale.</p>
<div class="blockquote">
<blockquote class="blockquote">
<p>I wrote an overview of my own adventures...</p>
</blockquote>
</div>
<p>I read them - thanks for the reference. Your travels have been
varied and wide. More so than mine to date.</p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;To the stupid one the carrying on of loose conduct is like
sport&quot; - Proverbs 10:23</p>
</blockquote>
</div>
<p>I'm not sure how to respond to that one...how about...I'm not a
complete idiot, some parts are missing. &#9786;</p>
<p>Dave Watson &lt;technojock@bigfoot.com&gt;</p>
</div>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e156" id="d0e156"></a>Charles
Liddell <tt class="email">&lt;<a href=
"mailto:cliddell@cix.co.uk">cliddell@cix.co.uk</a>&gt;</tt></h2>
</div>
<p>Hi Francis</p>
<p>I know this is probably too late to get into C Vu 11.2 (it's now
the 15th December) but I felt that I ought to respond concerning
your musings on the future of ACCU publications in general and C Vu
in particular. Also, I'm currently unable to access the Usenet and
so unable to post this to the newsgroup, hence sending it to you
instead.</p>
<p>Call it na&iuml;vety, but I was very surprised to read your
assertion (;-)) that a lot of people never read C Vu because they
feel that its contains subjects that are of no interest to them. To
me, that is one of C Vu's great strengths: I never know what topics
will be covered in what proportion in any issue, which increases
the anticipation in receiving it. I would be the first to admit
that I do not read every word if every issue, but that is my
choice: my point is that a catholic choice of material is available
for me to pick and choose from as I see fit. For example, my
experience of Java is limited to a command-line &quot;Hello World&quot;
program, but if I want to broaden my view, all I need to do is pick
up a C Vu and read of someone else's experience with this
rapidly-developing environment. Similarly, my knowledge of
Web-based programming is zilch, but I read Silas Brown's article
&quot;Security Implications of Running a Web Gateway&quot; as this is a hole
in my knowledge that I wish to fill. This option would not be
possible if C Vu was to be split up into separate publications. And
if said publications were to be bound into a single cover (as
mooted in your editorial), is there really any difference from a
differently laid-out C Vu?</p>
<p>My main point is that the suggested change could lead to a
fragmentation of the ACCU. It seems to be the case that different
'factions' within a whole tend to regard their own interests as
all-important and everyone else's as irrelevant. If each group were
to have its own publication, how long would it be before (for
example) the members of the Java SIG felt that ACCU did not meet
its needs properly and broke away? (This is only an example, so no
flame mail from Java practitioners (Javanese??) please!!)</p>
<p>The above are just my rambling musings on the subject: I fully
take your point that there is no point in producing a journal that
does not meet its membership's requirements; likewise Jon Jagger's
point that, currently, SIG subscribers effectively subsidise C Vu
by having to subscribe to C Vu whether they want it or not. (BTW, I
subscribe to Overload and find that it and C Vu do a good job of
complementing each other.)</p>
<p>Right, enough of that: I also wanted to thank you (appallingly
late) for the excellent conference at Oxford in September. I
enjoyed it enormously (even Kevlin Henney at his most
brain-straining) and felt it excellent value for money - helped by
the fact that my employer reimbursed me :-). I think Kevlin's skull
must be built on the same principle as Dr. Who's Tardis (bigger on
the inside than the outside) - how else can he fit all that
knowledge in? My only gripe was that the timetable meant that I had
to choose between listening to you and to Kevlin - you lost
Francis&#61516;. I am not going to complain about the seating at
the Oxford Union - I've had to sit in the Sheldonian! (For those
not familiar with Oxford, the University's Sheldonian Theatre
possesses the most excruciatingly uncomfortable seating in the
world - the Marquis de Sade himself could not better it.)</p>
<p>Anyway, that's it. Many thanks for an excellent organisation.
Best wishes for Christmas.</p>
<p>Charles Liddell cliddell@cix.co.uk</p>
<p class="c2"><span class="remark">Well how do you like the revised
proposal? However all solutions rely on the right volunteers coming
forward. I wonder how many of you would happily edit at least a
section if you knew that you would not have to be copy editor, do
the page layouts, design the cover etc. as well as selecting
suitable material. If you feel able to be purely an editor as long
as you are not expected to be responsible for a dozen other jobs
for which you have neither the skills nor the time, let me know. We
may have a solution.</span></p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e180" id="d0e180"></a>Graham
Patterson <tt class="email">&lt;<a href=
"mailto:G.A.Patterson@reading.ac.uk">G.A.Patterson@reading.ac.uk</a>&gt;</tt></h2>
</div>
<p>Francis,</p>
<p>I'm late putting this together, but I hope any readers have good
memories!</p>
<p><span class="bold"><b>C Vu 11.1</b></span></p>
<p><span class="emphasis"><em>Silas Brown's Web gateway
article</em></span></p>
<p>Point 3 NT server security. It's true that the default
permissions with Internet Information Server 4 are not good enough.
But you can stop executables being downloaded if you are thorough.
People do tend to forget that executables may be binary, but any
file names and paths are normally unshrouded. The directory
architecture on my system is something I don't intend
advertising.</p>
<p>I'd also like to echo Silas's comment about checking logs. Our
IT services people ran a set of unannounced break-in checks against
servers (public and private) on our network. They were targeting
common Unix server weaknesses, so my NT box wasn't vulnerable. What
was frightening was that of the couple of dozen people who should
have noticed, I was the only one to raise a query.</p>
<p><span class="bold"><b>C Vu 10.5</b></span></p>
<p><span class="emphasis"><em>Richard Court's comments about
writing GIF files</em></span></p>
<p>It is possible to generate Run Length Limited compressed GIF
files that can be read by GIF decoders. It was written to get
around the Unisys patent restrictions on the LZW scheme. The only
example that I am aware of is part of GD 1.3 (<a href=
"http://www.boutell,com/" target="_top">http://www.boutell,com/</a>
), which is a library for generating GIF diagrams. The full GD
system isn't very 16-bit friendly because of limits in memory
allocation, but it works fine under DJGPP. There are a couple of
console interpreter front ends available too.</p>
<p>Why no Java for 16-bit Windows? Lack of long filename support, I
think!</p>
<p>Apropos nothing much at all</p>
<p>If anyone wants an alternative to Adobe Acrobat Reader to look
at PDF files, try GSView/Ghostscript. The Adobe 5.50 release seems
better than the older GNU 4.03 version if the licensing isn't a
problem. See <a href="http://www.cs.wisc.edu/~ghost/index.html"
target="_top">http://www.cs.wisc.edu/~ghost/index.html</a></p>
<p>Graham Patterson &lt;G.A.Patterson@reading.ac.uk&gt;</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
