The primary purpose of language is understanding. Forking a language to convey some sort of cultural distinction has the unfortunate side effect of making this more difficult.
The other primary purpose of language is communicating group membership. For example, it's reasonable to guess that you belong to the "uses version control" group by your use of the word "forking" in a non-VC context above.
I'd argue that this is only a secondary purpose at most -- and in this case not intended at all. Also, there are other uses of the word forking outside of VC. For instance, I have heard it in the context of threads first... O:)
It doesn't have to be intended. It's just that every time you write or speak you communicate group membership. For example, there are further implications about group membership when you correct my interpretation of forking. Another example: unless it's a typo, your grammar ("I have heard") indicates that English is not your first language.
This is a flawed analogy. Software projects usually have a "central" repository which serves as the ground truth, and copies are made bit-perfect. Any difference is a result of someone's conscious choice.
Languages are learned individually by each child, depending on the environment that includes family, friends, and the whole town. No two kids can have exactly the same upbringing.
So, having multiple dialects is pretty much the natural state of any living, thriving language. To artificially unify them is a conscious choice that needs to be justified.
not sure that's the primary purpose. It can also be a very strong way to reinforce / test the boundaries of a group. Do you talk like us or not? Are you one of us? There are a multitude of ways to convey understanding; the how is sometimes more important than the content.
It can also be used for the inverse purpose; if you're an oppressed minority, a dialect may be helpful in obfuscating your communications from the powers-that-be. An example that fits this and your purpose would be Polari: https://en.wikipedia.org/wiki/Polari
Conveying meaning is necessarily more primary than forming group identity simply because "do you talk like us" depends on "us talking to each other" in the first place. It's hard to imagine an evolution where intra-group communication happened as a result of extra-group communication.
Dukoid said the primary purpose of language is not communication (conveying meaning), but intergroup identification. I don't see how this could be possible.