Grandstanding on a tar pit
Last night I read a transcription of a panel discussion from a symposium on the role of language in problem solving wherein I found the following, care of Ben Schneiderman.
I was very strongly influenced by an article by John Platt in Science magazine in 1964 (October 10, p. 347) [subscription required]. He relates the history of primary disciplines in the 20th century, molecular biology and particle physics. He recounts how the laboratories of researchers would have on their bulletin boards or blackboards tree structures of experiments. The outcome of each experiment would determine the next experiment--very clear delineation of research plans. Yet, much of the work I see today is just an exploration, without a formal basis, without a rigorous underpinning, without a theory of human behavior, and without a commitment to an empirical approach which is based on human factors studies about how people really use different systems. I think once we move in that direction and get beyond the arguments about "my language is more user friendly than your language" and "my system is more natural than your system" &mdash whenever you hear the speakers in the next two days saying "better", "natural", "more understandable", try to ask them what they mean, what are the metrics — and only when we get to measurement do we begin to really talk about science.
[...] I think we risk being perceived by not only the general population but our colleagues and other scientific disciplines as being so much the snake oil salesmen. We may discover some tool or idea which works well for one domain, maybe it cures some people of headaches sometimes, but then we promote it as if it's the cure-all for everything. I hope for a much more rigorous and diligent approach to address what... [was] referred to as the multiplicity of tasks that users have to accomplish and the diversity of users. For me that's been the greatest encounter in becoming 20% of an experimental psychologist, in discovering how very differently individuals behave from each other and how very different they are from myself. It's a great struggle to overcome the egocentric approach that many people take towards design and to open our minds, to find out how other people work.
I found that particularly poignant given the postings in a thread in comp.lang.lisp lately (which, mercifully, seem to be subsiding). Consider what Don Geddis has to say about it.
This whole thread might have been short circuited if the static typing fans had merely said: "static/dynamic typing is a tradeoff, with the following pros and cons, and we are part of the programming community that prefers the static side of the tradeoff."
Instead of: "static typing is the future; all modern languages use it; languages that use dynamic typing are relics of the past, soon to be extinct or only used for toy scripts. But no educated, serious, mature programmer could possibly make the tradeoff that the benefits of dynamic typing are worth the cost of losing the static type checker. Only ignorant, uneducated, naive programmers believe such primitive nonsense."
(Inevitably, when a thread balloons to over 1000 messages, it becomes a Möbius strip of conversation: You get the occasional twist, but you really aren't going anywhere.)
The aforementioned thread suffers from what Schneiderman is talking about and shows why the static/dynamic typing question is worthless discussion. People on both "sides" (or just the vocal people?) make grandiose claims with no evidence to back it up, mostly because there is little to none of it in the first place.
My personal experience shows me that a lack of statically checked, strong typing has benefits in terms of program evolution, development and problem solving. Conversely, I've found that rigorous checks can be very useful when I'm clear on what it is I want to say. I cannot (and will not, although I might have when I was more ignorant than I am now) make claims about one being inherently better than the other because the metrics behind such a statement are (still) unclear. And really, my best evidence is anecdotal. Meta-analysis of what goes on in industry is the best evidence I've seen so far, and even then it's awfully wishy-washy.
For those who want do their grandstanding on a tar pit, go right ahead. People with sense and humility know that you aren't really saying much.

1 comments:
Strong Inference, By Platt, is avaiable at:
http://www.krisweb.com/biblio/gen_science_platt_1964_stronginference.pdf
Post a Comment