[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Why you should program for Windows



I got an offer for a free trial issue of "Windows Developer's Journal" in
the mail today.  It sends an interesting signal to those of use who do not
currently program for Windows.  Here is the introduction (all emphasis is
as in the original text):

=====
Dear fellow programmer:

If, like me, you earn your living by writing C and/or C++ code for Windows
3.x, Windows 95, or Windows NT, you know you've got a problem: the
documentation that's out there is incomplete, innacurate, and sometimes
downright misleading, and the API is full of surprises.  It's hard enough
to get the code right when everything works the way it's supposed to;
trying to get it right when things don't work as expected can be an
exercise in frustration.  To help spare you the latter, I'm offering you a
free issue of Windows Developer's Journal, the only independent resource
for advanced Windows developers.  WDJ gives you accurate information--the
kind you won't find in the manuals and the kind you won't get from
Microsoft.
=====

It gets much better:

=====
When I say the documentation is inaccurate, I'm not talking about
misspelled words or grammatical errors.  I'm talking about the kind of
_just plain wrong_ technical statements that leave you staring at a
debugging screen for hours.  The Windows 95 API helpfile that ships with
every C/C++ compiler contains hundreds of examples of mistakes and missing
information--here are just a few: the wparam for the new BM_SETIMAGE is
_not_ 0, but IMAGE_ICON or IMAGE_BITMAP; the WM_NOTIFY doesn't mention that
you must used SetDlgMsgResult() to return a status for this message; the
return value for LVN_ENDLABELEDIT is not ignored (as Microsoft claims)--it
determines whether the user's editing is rejected!

Poor documentation is not the only time-waster you face as a Windows
programmer.  Let's face it, Microsoft is not going to publicly reveal bugs
in their API if they can avoid it, which means that each of us gets to
rediscover the same operating system bugs, usually after long and tedious
debugging sessions.  Bugs like these: ListViewGetColumnWidth() does _not_
return 0 when it fails--it returns garbage; UpdateColors() hangs Windows 95
when applied to a metafile DC; and if you wonder why editing an item in the
new listview control causes your dialog to disappear, we can tell you (and
you won't find the answer even on the MSN CD)!
=====

Further down:

=====
Win95 brought with it a new tidal wave of bad documentation and buggy API
functions.  Many programmers waste hours, days, and even weeks stumbling
over mistakes in the new documentation and bugs in the Windows 95 API.  But
why should you be one of them?
=====

I agree that I should not be one of them, but unfortunately I think I will
do it by avoiding Windows altogether.  They should send this ad to more
people; maybe it would have a beneficial effect.  :-)




--
Eric Bennett, Department of Biochemistry, Cornell University
http://www.pobox.com/~ericb (Follow "About Me" link for my PGP key.)

The idea that Bill Gates has appeared like a knight in shining armour to
lead all customers out of a mire of technological chaos neatly ignores the
fact that it was he who, by peddling second-rate technology, led them into
it in the first place. -Douglas Adams


===
This message was sent to mph-humor.  No guarantees of actual humor are
provided.  Archives and instructions for subscribing or unsubscribing
are available from http://mph124.rh.psu.edu/~mph/humor .