Comment Re:Zoology for programmers (Score 1) 33
I like your zoology analogy. I would like to add that naming things is useful and important.
Years ago, I presented a 5-10 page design for a software component to my manager and the company architect. I had a nice document with diagrams and all that. After about 10 minutes in the meeting of presenting some stuff, the architect patiently said something like "So you plan on using a builder pattern, using chain of responsibility to dispatch the events. Sounds good, go for it!" He called for the meeting to be over and, slightly stunned, that ended the meeting.
This was a really good experience. Had I known the design patterns for what I was putting together, I could have simplified my document into a few paragraphs and saved a lot of time. Having a common vocabulary makes it easier and faster to communicate.
Anyone who has designed with multiple teams with different backgrounds will have similar experiences with vocabulary. One person says "queue" but they really meant "signal" and 45 minutes of arguing happens before the parties realize they meant the same thing but didn't know the word. (P.S. Microsoft loves to confuse terminology by naming their products after industry acronyms. Their development platform is "Dot Net" their SQL server is "SQL Server" and their web framework is "MVC")