TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

All your metaphors about computers are wrong

34 pointsby comiceabout 13 years ago

8 comments

canop_frabout 13 years ago
What's the point ? Of course all metaphors are wrong and none is a demonstration.<p>But metaphors are great tools, if wisely used, to reuse mental patterns and find ways to use new tools. What would be the computer without the metaphors of the windows, buttons, files, and so on ?
评论 #3647985 未加载
dmoneyabout 13 years ago
A computer is a machine for following instructions. At first it only knows a limited set of logical and arithmetical instructions. You can use these instructions to teach it new things to do, and new commands to follow (and if you buy a computer, somebody probably already has). However, if you phrase these instructions wrong, it will do what you say rather than what you mean.<p>So you could say that programming a computer is like training a new soldier or worker, and using a computer is like being in command.
deathhandabout 13 years ago
Computers are an extension of consciousness. What I believe the author is trying to say is that programming is more than just a skill task. It is akin to giving someone hands in a handless world allowing people to manipulate their environment.
brudgersabout 13 years ago
Metaphors about computers may be wrong...though the metaphor of architecture seems apt (even in light of my personal bias).<p>Metaphors using computers as a model for the mind are more interesting, because such metaphors follow a long tradition of equating the mind to technologically advanced systems.<p>Brain as computer metaphors are just the contemporary version of brain as hydraulics (e.g. Avicenna's humorism) or the more recent brain as mechanics (e.g. Leibniz's mill). Turing's test and Searle's Chinese room are relevant thought experiments pointing out the problems inherent in mapping systems to thought.
gaiusabout 13 years ago
Learning to use computers is like learning reading and writing. Learning to program computers is like learning papermaking and typesetting and bookbinding. The metaphor does hold.
评论 #3647459 未加载
评论 #3647424 未加载
Tychoabout 13 years ago
The metaphors are not fully isomorphic analogies, but they can still be helpful. Framing programming ability as being a form of modern literacy, for instance, conveys more urgency to the public.<p>When they start actually programming, these metaphors will leave their mind and they'll focus on the concretes, or at least find better metaphors.<p>I think the only worry comes from basing long term policy decisions on crude metaphors.
评论 #3647785 未加载
Lockyyabout 13 years ago
As a person in the comments references from Steve Jobs "The computer is a bicycle for the mind."<p>I think that is the best metaphor for a computer I've ever heard. But I'd say the increase in potential a computer brings is more like from walking to flying via a plane than from walking to cycling. Even so, that really is a quote I'll be keeping in mind.
michaelochurchabout 13 years ago
One of the metaphors that I think is most damaging is inherent in the way most decision-makers think of programming <i>languages</i>-- the decision is treated as comparable to the selection process for natural languages, which is trivial and obvious for natural languages but very complicated for PL.<p>With natural languages (a) there aren't order of magnitude differences in power or quality, and (b) the switching costs associated with becoming fluent in a new one are very high, so businesses usually default (without conscious choice) to "the standard", which is the language most familiar to the people in that location. (In New York, that's English; in Tokyo, it's Japanese.) For natural languages, this is the obvious right decision.<p>When this metaphor is taken literally and applied to PL selection, it results in Java and C++ being used, because those languages are "the standard". The difference is that, (a) there <i>are</i> languages that are orders of magnitude better-- just compare Scala against Java-- than mainstream PL, and (b) switching costs are a lot more moderate. Using "the standard" in PL, for a new company, is a horrible decision; you won't even get off the ground if you start in Java or C++.<p>Oddly enough, the term "programming language" is, technically speaking, completely correct (a PL <i>is</i> a language) but metaphorically detrimental.
评论 #3648140 未加载