Recursive Products

One of my first tasks at Whole Tomato was to do some code cleanup in the name of learning the Visual Assist codebase.  After just a few Find References, Renames, and Goto Definitions, I realized the recursive nature of this product:  I was using VA to learn VA.  I was using VA to refactor VA’s refactoring code.  I was even using the codebase as a test suite for itself.

Most products aren’t like this.  Clearly other development tools, IDEs and compilers fall into this category.  And perhaps source control and bug tracking tools qualify, although more indirectly.  But outside of software, I have trouble thinking of similar examples.  Manufacturing?  Chemical reactions?  Books about making books?

What other companies use their own product in the direct production of that very product?

2 thoughts on “Recursive Products

  1. I can only think of internal company type systems where they use their own internal machine process to build new machines. I once worked with a company that made four axis router systems to build custom parts for machine shops. They used their own routers to build parts for new routers (machines building machines).

    The other that comes to mind is nano assemblers. But I don’t think that is very practical at this point.

    We use our own database engine in our own production systems, and yes sometimes it is painful to dogfood your own product. Keep up the good work.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s