how to think about objects
Though I agree with Morde- chai Ben-Ari’s Viewpoint “Objects Never? Well, Hard- ly Ever!” (Sept. 2010) saying that students should be introduced to procedural programming
before object-oriented programming,
dismissing OOP could mean throwing
out the baby with the bathwater.
OOP was still in the depths of the research labs when I was earning my college degrees. I was not exposed to it for
the first few years of my career, but it intrigued me, so I began to learn it on my
own. The adjustment from procedural
programming to OOP wasn’t just a matter of learning a few new language constructs. It required a new way of thinking
about problems and their solutions.
That learning process has continued.
The opportunity to learn elegant new
techniques for solving difficult problems is precisely why I love the field. But
OOP is not the perfect solution, just one
tool in the software engineer’s toolbox.
If it were the only tool, we would run the
risk of repeating psychologist Abraham
Maslow’s warning that if the only tool
you have is a hammer, every problem
tends to look like a nail.
Learning any new software technique—procedural programming,
OOP, or simply what’s next—takes
time, patience, and missteps. I have
made plenty myself learning OOP, as
well as other technologies, and continue to learn from and improve because
For his next sabbatical, Ben-Ari
might consider stepping back into the
industrial world for a year or two. We’ve
learned a great deal about OOP since
he left for academia 15 years ago.
Jim humelsine, neptune, nJ
In his Viewpoint “Is Computer Science
Truly Scientific?” (July 2010), Gon-
zalo Génova suggested that computer
science suffers from “radical empiri-
cism,” leading to rejection of research
not supported by empirical evidence.
We take issue with both his claim and
(perhaps ironically) the evidence he
used to support it.
I’m glad to hear from Barr and Bird that
there are healthy subfields in CS in this
respect. I used “inductive justification”
to support the claim that many classical
works in the field are more theoretical
and speculative than experimental, not to
support an argument that CS suffers today
from “radical empiricism.” Investigating the
latter through exhaustive empirical surveys
of reviews would require surveyors being
able to classify a reviewer as a “radical
empiricist.” If my column served this
purpose, then I am content with it.
Gonzalo Génova, madrid, spain
conclude with the conclusions
The Kode Vicious Viewpoint “Present-
ing Your Project” by George V. Neville-
Neil (Aug. 2010) made several debat-
able points about presentations, one of
which was inexcusable: “…I always end
with a Questions slide.”
You have just given a 25-minute
technical presentation to an educat-
ed, knowledgeable, technical audi-
ence. Using a series of slides, you have
explained your problem, described
your solutions, discussed your experi-
ments, and finally concluded, display-
ing each slide for a minute or two.
Your penultimate slide summarizes
the whole presentation, including its
“takeaway” message—everything you
want your listeners to remember. Now
you expect to spend four or five min-
utes answering questions. The slide
you show as you answer will be on
screen two or three times longer than
any other slide.