processors of the time.
I was struck by the irony of Knuth’s
quote “I couldn’t stand to see my books
so ugly” while spelling the name of his
software “TeX” as he reminisced in
the concluding part of Edward Feigen-baum’s interview with him “Donald
Knuth: A Life’s Work Interrupted”
(Aug. 2008). Microsoft products have
evolved to the point where it’s now possible to render the correct spelling—
“TEX”—with subscript capital E and
condensed, kerned character spacing
and still manage to email it intact.
Whenever I stumble across “TeX,”
I recall being scolded about that spelling in the introduction to its instruction manual.
michael Pelletier, merrimack, NH
include these Programming
Voices too
Though Peter J. Denning’s take on programming in his “Profession of IT”
“Viewpoint” “Voices of Computing”
(Aug. 2008) hit the mark, I’d like to acknowledge the importance of two other
roles (voices):
Maintainer. Tries to understand,
correct, and improve the “product,”
though years later may pay dearly for
poorly designed coding and a lack of
documentation; and
Operations manager. Ensures everyday user service based on the availability of programs—the point of producing
programs in the first place.
Requiring programmers to serve
some of their apprenticeship as maintainers would help them understand
what is important in the conception,
design, implementation, and operation
of programs. College and university
courses that more accurately reflect all
aspects of a program’s lifespan—from
conception to decommissioning—
would certainly contribute to their professional development.
Brian Kirk, Painswick, U.K.
how to Know When important
Details are omitted
Though the issue explored by Mark
Guzdial, in “Paving the Way for Computational Thinking” (Aug. 2008) was important, it carries an equally important
caveat. There is no reason to assume, a
priori, that every important concept in
computation has a natural counterpart
in precomputational thinking; some,
indeed, do not.
This theme of making thinking
about computation more natural has
come up many times and, to my knowledge, always carried a tacit assumption that it can be taught in a way that
is natural to newcomers. Guzdial’s examples of students’ propensity to omit
an *else* clause in conditional statements illustrate the point. This is a
case of giving ambiguous instructions
and assuming the instruction-follower
will correctly infer and carry out the appropriate action.
This cannot be fixed by making
computers better at guessing how
to resolve ambiguous or incomplete
instructions. Developing the skill to
recognize when important details are
omitted and make them explicit is an
indispensable part of computational
thinking. Moreover, it is largely a new
concept to students and thus not easily
made natural to them.
There are, of course, aspects of computational thinking that can be made
more natural, and doing so is a valuable
goal when achievable. But any such attempt must be guided by constant vigilance about what can and what cannot
be made natural. Otherwise, the results
degenerate into just dumbing-down
the material, making it easier, perhaps,
but also misleading.
Rodney m. Bates, Wichita, KS
.hK Danger ‘under control’
We were surprised by the McAfee,
Inc. research findings reported in the
“News” item “Dangerous Web Domains” (Aug. 2008) and would like to
add the following:
Old data. McAfee seemed to be describing the situation in 2008 but collected its data in 2007. While it said
that 9.9 million Web sites were tested,
most of the malicious ones were tested months before and may no longer
exist;
New controls. Since March 2007, the
Hong Kong Internet Registration Corporation Limited (HKIRC) has worked
closely with the Office of the Telecommunications Authority of the Government of the Honk Kong Special Administrative Region, the Hong Kong Police,
and the Hong Kong Computer Emer-
gency Response Team Coordination
Centre to monitor and control suspicious Web sites using the .hk domain;
and
Less phishing. Beginning in 2007,
HKIRC adopted measures against suspicious Web sites. The number of reports of phishing and spamvertising
using .hk thus decreased 92%, from an
average of 38 per day in 2007 to three
per day in 2008 (January to May).
In view of these measures, HKIRC
deems the situation under control.
hong Kong internet Registration
corporation Limited and hong Kong
Domain name Registration
company Limited; www.hkirc.hk/
The news item said malicious activity that
might be associated with the .hk domain
doesn’t necessarily take place in Hong
Kong or China; “The owner of a domain
name could theoretically situate his or her
business anywhere.” McAfee declined to
respond.—Ed.
no Best Way to Build
a mental model
The six-bullet software design process
Robert L. Glass outlined as a trial-and-error activity in his “Practical Programmer” column “Software Design and the
Monkey’s Brain” (June 2008) is better
described as a sophisticated analysis-and-design activity that includes a
trial-and-error strategy, given that the
purpose of the activity is to analyze a
problem and create an automated solution for it.
One root of the less-than-optimal
progress in software (and software
tools) lies in the column’s second bullet item—“Build a mental model of a
proposed solution to the problem.” Nobody knows the one best way to build a
mental model of a software solution.
Supporting this conclusion are a large
number of software strategies and artifacts, like structured programming,
object-oriented programming systems,
fourth-generation languages, network/
hierarchical/relational DBMSs, FORTRAN, COBOL, C, C++, and Java, some
of which endure and some of which
simply go extinct.
alex simonelis, montreal
Communications welcomes your opinion. to submit a
letter to the editor, please limit your comments to 500
words or less and send to letters@cacm.acm.org.