Leisure Reading: Fundamentals of X Programming

Fundamentals of X ProgrammingI came across the book in a library. The book reminds me of an old TV show…

In 80s, when personal computers started to become household machines, there was a TV show in Hong Kong called something like “Know the Computer” (I do not really remember). It meant to be a program introducing the computer basics like RAM, ROM to the average public. In one episode the host said something like this:

What is a byte? In everyday life a byte equals to 10 bits. But computers use binary numeral system. So in computer world a byte means 8 bits.

So what is a byte? Never explained.

Many technical writers and teachers make the very same mistake: failing to explain the basic fully and clearly before moving on. The author of Fundamentals of X Programming is among them. In page 37, Chapter 2, where the technical term “Atom” appears for the first time in the book :

…The Atom type requires a bit of discussion. While properties are defined as strings, strings are not convenient for many operations, such as comparisons. Therefore X has a mechanism to map strings into integers in a unique way…

So what is an Atom? No wonder there is never a second edition.

Is it the author’s fault? I think it is. Because in the preface the writer says “the book does not assume previous knowledge of X”.

Guy Keren’s online article “Basic Graphics Programming With The Xlib Library” is much better. I am not a programmer but could read it like a novel.

Charles Petzold says in his blog (www.charlespetzold.com/blog/2007/10/160352.html),

My skills are these: I am able to assimilate a new API and determine a coherent tutorial course through the material (ie, where to start, where to go next, how to build on what’s come before, etc).

One reason of Microsoft’s success is paying writers like Petzold.

Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)