Five Dollar Programming Words

My answer would have to be functor in the mathematical sense. Simple, straightforward, two laws, millions of instances of them.

Reference (or pointer) - The thing you’re changing is not a real value, it’s actually the value of some other thing, which could also be a reference to something else.

@Mark ‘Mission Critical’ and ‘Enterprise’ are more like $500,000 or $5M words because nothing that costs ‘only’ 5 bucks can be worthy of the ‘Enterprise’ ;).

Referential Transparency (a 10 dollar phrase?). It means that an expression can be replaced with its value and the program won’t change. Purely functional languages are referentially transparent since there are no side affects and anytime you call a function you’ll get the same result. Wikipedia has some exammples.

For me its race condition. From wikipedia:

A race condition or race hazard is a flaw in a system or process whereby the output and/or result of the process is unexpectedly and critically dependent on the sequence or timing of other events. The term originates with the idea of two signals racing each other to influence the output first.

Favorite words -

Structured - as in structured programming
Function - as in not a subroutine
Encapsulate
Abstraction

Can anyone give an example of a context in which orthogonal could NOT, without loss of meaning, be replaced with independent ?

Seriously? You link to another of your posts about him instead of to his blog? Oh the hilarity when you mention him again and link to this post.

I like coalesce.

inculcate

–verb (used with object), -cat#8901;ed, -cat#8901;ing.

  1. to implant by repeated statement or admonition; teach persistently and earnestly (usually followed by upon or in):

to inculcate [coding standards] in the young.

You’ll find that many classic Don Box writings will use these $5 words, many times, often in the same sentence.

sesquipedalian!

Example:
float getShippingValueAfterCalculatingRateThatInfluencesProductPlusSomeOtherRandomWords(Product product);

See, rather keep the method name a bit smaller, still communicating intent, and put the rest in the code comments.

And I consider us bloggers deipnosophists of the wild wild web :wink:

Coupling as in loose coupling. I’ve been avoiding tight coupling ever since I first heard the expression years ago and it’s saved me many, many times.

Meh. Words are useless unless they’re obvious to everyone what they mean. And Idempotent is certainly not obvious.

So in a comment you’d have to write:

//This function is idempotent (i.e. it returns the same value if you feed run it multiple times)

‘’(or whatever it means)’’

which means that this word is more of a barrier than anything.

For me the word was Inherit. The opened a whole new world for me.

As for Idempotent, consider this sequence:

x = foo(bar)
y = foo(bar)

Now, if x and y are equal, foo() is idempotent.

I think there might also be something with global state in the definition, but I can’t work out exactly how that can fit in. (Taking the example of a cache, if no global state changing across the call is a requirement to be idempotent, then a function that might fetch a result from cache or fetch from remote server is never idempotent, because it’d implicitly be updating the cache with the fetched value if it was not in cache.)

To me, ‘refactoring’ fits the bill. It seems like such an invented word. Re-Factoring. When was it factored in the first place? The code was never FACTORED - it was WRITTEN.

I feel like i´m in my math class!!

Idempotent is used all over the HTTP spec. It’s the biggest difference between an HTTP GET and an HTTP POST request; a GET request should be idempotent, but a POST request might not be. If you follow this, you will usually not break the back button.

Arity - http://en.wikipedia.org/wiki/Arity
Atomic - (not the bomb kind)
Interpolation - http://en.wikipedia.org/wiki/Interpolation
Sigil - http://en.wikipedia.org/wiki/Sigil_(computer_programming)
Autovivify - http://en.wikipedia.org/wiki/Autovivify