Hacker News new | past | comments | ask | show | jobs | submit login

Hard disagree that most of these are metaphors in actual use. They’re more like mnemonics, arbitrary names for highly abstract concepts that are only incidentally borrowed from ordinary languages.

For example, I never think of a physical dictionary when using the data structure. Much less a heap or a tree (we even draw those with the root at the top!). And the stuff in the article about database queries being “supplications” is just ridiculous. It’s again an abstract idea. No idea of a the social relationship between humans ever enters the picture in any way, metaphoric or otherwise.

What’s hard about programming isn’t the names, it’s learning the concepts. At least in my opinion.




And yet... in a mysterious and unfathomable coincidence, one of the biggest corporate DB companies is literally called Oracle.

That's the point about Lakoff's metaphors. We use them without being aware of them. And yes - there's a social and political element as well as a (pseudo)tangible one.

Although in this case I'd suggest they're more like analogies. If you had never seen a physical wall of storage boxes - in photos or the movies is fine, you don't need a direct personal experience - wouldn't it be harder to imagine what a key/value store is?

You may think you'd just know. But would you?

Most people find programming hard because they don't have these metaphors to (metaphorical) hand. You need a certain mindset which understands representations, relationships, and transformations in a certain kind of way.

People who have this find the basics "obvious" and can usually be trained to work their way up to more complex abstractions.

People who don't can't do it at all.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: