Q:

Explaining a concept: Does showing code early make it clearer?

I guess this is a question that may interest many, so please discuss! :-)
Now, imagine you want to show people you work with a concept for future development (like a new product or a new technology you want to introduce).
Does it make sense to show code early or would you go with the PPT first? Or what would you recommend?

A:

+1 to Stijn, because really, that's all that matters.
But, it really depends on what you're doing.  What is your "concept"?

An API (e.g. mapreduce)?

Show the code of the API, don't waste people's time with the implementation code, that's not important - "hey, check out how I iterate over your input!  it's so clever!".  Nope.  Nobody cares.  If your API is wonderful, it will get used, nobody cares how crufty the code is to make it work.

A product (e.g. facebook)?

Show the code?  Nobody cares.  Not even facebook cares (if they did, why would they use php?  I kid!).  Blow their mind with a demo of the half-complete prototype that does a few things poorly, but shows how great it can be.

The implementation itself (e.g. a new std::sort routine)?

A lot of people might be interested in seeing the innards.  Especially people on SO.  So, publish the code, or a whitepaper, when you get something working.  It's not "my twitter clone is gonna be sweet, check out how cool my TruncateTo140Chars() function is!".  On the other hand, you can get quick feedback on your new implementation's approach by showing your algorithm (in code or pseudocode).  You can show benchmarks, which is better than "this code should be faster because I do one less compare with zero".

Please just prototype, get something demo'd that your Users will care about.  Only worry about the code if that's what your users want to see (It's usually not).

A:

I like the no-bullshit approach of a proof of concept. Just blow them off their feet and prove that it works.

