[cap-talk] evaluating tools
zooko at zooko.com
Mon Dec 17 09:19:15 EST 2007
On Dec 16, 2007, at 6:12 PM, David Wagner wrote:
> Well, "dreadful" is rhetoric that appeals to emotion rather than
> I think it's a good idea to quantify these claims. How much slower
> is a
> Java-based web server, using metrics that are an appropriate
> measure of
> end-to-end web server performance?
> It's my impression that Java is arguably the dominant platform for web
> services, in the enterprise world. How do you reconcile that with
> view of Java?
This may sound flippant, but I write with consideration and relevant
I reconcile it by believing that the dominant platform for web
services in the enterprise world is a technically inferior platform.
One shouldn't think that market dominance implies technical
superiority. Neither, of course, should one assume that technical
superiority is the most important criterion for your decisions. If
you want to contribute to the development of the world's enterprise
web services platform, then by all means you should use Java to do so.
It would be really good if we could quantify claims such as "Tool X
is technically superior for task Y.". Presumably we could do that
using the decades-old practices of controlled trials, such as are
used in psychology, human factors engineering, and so on.
Unfortunately such an experiment would be expensive, and few people
have attempted to run one. Here is the best example that I have found:
"An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl
for a search/string-processing program" (2000) by Lutz Prechelt
It is unfortunate that designers of programming languages often
consider themselves to be working in the fields of mathematics or
computer science, and they use the practices and tools of those arts,
when we would be better served if they thought of themselves as
working in psychology and used the standards of measurement required
for publishing results in *that* field.
P.S. Why is Python so easy to learn and to use? Perhaps because its
immediate ancestor ABC went through many iterations of semi-
controlled, observed user testing during its design.
More information about the cap-talk