The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Neologism

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Martin Fowler

Posts: 1573
Nickname: mfowler
Registered: Nov, 2002

Martin Fowler is an author and loud mouth on software development
Neologism Posted: Nov 2, 2006 11:32 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by Martin Fowler.
Original Post: Neologism
Feed Title: Martin Fowler's Bliki
Feed URL: http://martinfowler.com/feed.atom
Feed Description: A cross between a blog and wiki of my partly-formed ideas on software development
Latest Agile Buzz Posts
Latest Agile Buzz Posts by Martin Fowler
Latest Posts From Martin Fowler's Bliki

Advertisement
Neologism writing 2 November 2006

Neologism:
1: a new word, usage, or expression.
2: a meaningless word coined by a psychotic.

--Merriam-Webster

If you read much of my writing you'll quickly notice that I am a compulsive neologiser. I'm always looking to come up with new words and phrases, indeed this bliki is designed around this habit.

I do it because much of what I try to write about is the tricky subject of software design, where our vocabulary is limited and often confusing. As I see concepts that are little-known or oft-misunderstood, I try to give them a name so they are easier to talk about.

This is something I share with the broader pattern movement. From the very beginning the patterns community has put a lot of energy figuring how best to name the patterns they describe.

Naming a pattern immediately increases our design vocabulary. It lets us design at a higher level of abstraction. Having a vocabulary for patterns lets us talk about them with our colleagues, in our documentation, and even to ourselves. It makes it easier to think about designs and to communicate them and their trade-offs to others. Finding good names has been one of the hardest parts of developing our catalog.

--The Gang of Four

Of course there are downsides to trying to create this kind of vocabulary. It does become a jargon which, while aiding communication for those who know it, also excludes those who don't. On the whole I feel that the benefits win out.

Choosing good words, whether for my more permanent patterns or just for these bliki entries is a hard task. I spend a lot of time trying to think of how words will work, looking something that is an evocative name, doesn't get confused with existing terms, and is reasonably short (and ideally catchy).

Creating completely new terms is what gets the attention, but its actually something I'd rather not do. I prefer to use an existing term if there's one available. After all that's less effort. I then balance it with its common usages to see how well it fits the concept I'm talking about. Sometimes this results in making a change, for instance my resistance to using InversionOfControl to describe what was going on with dependency injection. I always find this a hard decision - it's much better to use the existing term if it fits, but often the existing term has a diffuse meaning and I need something crisper.

I have been accused of being to quick to neologise, that perhaps reflects my preference for unfamiliar but precise terms over well known but fuzzy language.

Of course the limitation of this is that there's no way for me, or any group of patterns writers, to standardize the vocabulary of everyone. The terms I use often don't get the most currency. That's understandable, but it doesn't stop me. I find that if without a consistent vocabulary I can't write clearly, even if that vocabulary is only consistent for me. So my fundamental reason is selfish, I develop a consistent vocabulary because I need one.

I find it odd that you run into the occasional accusation that this is done for some kind of material gain. I've never seen anyone make money from coining terms, otherwise Rebecca, Josh and I would be idling on an island from POJO and Jesse James Garrett would have bought an island from Ajax. Indeed most people who use the term probably don't know who came up with POJO, and that's just fine with me.

Neologising is something I did a lot before I became a software writer, although my earlier activity was quite different, and something many people do. This is using domain modeling to build up a UbiquitousLanguage to create communication between developers and their customers. It's a different activity with a much narrower audience. Many projects do it, and even those who don't create a language in their code to describe the domain, even if it isn't shared with non-geeks.

Despite these differences, both activities share the desire to speak with brevity and precision about some domain. In either case I neologise because I find these words are useful tools that helps me enormously in understanding a domain. I use them publicly because I believe that the tools that help me can be useful to others too.


Read: Neologism

Topic: "Saving" money on support Previous Topic   Next Topic Topic: Contributions/Goodies Review #11 - DMTrippyEnhancements

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use