Code collaboration tools have a strong network effect due to them being ultimately social tools, and we expect categories affected by the network effect to have winner/losers mechanics. Of course, they don't actually have to, but it's a common expectation and a common outcome.
For equivalents to "code collaboration tools", instead of "programming languages", "text editors" and "build tools", try "social networks" (Facebook won, MySpace lost), "network protocols" (HTTP won, FTP and Gopher lost) or "spoken languages" (English won)
It seems to me that programming languages have far stronger network effects than any other example you or I are throwing out. If one project uses git and another mercurial and they want to work together, there are ways (hg-git, plain old patches). Try incorporating some java code in a ruby project, however. No possible way that is going to fly. Yet, we (at least the hacker news crowd) haven't declared any language as "winner". I really hope version control does not stagnate at git.
>Try incorporating some java code in a ruby project, however. No possible way that is going to fly.
I don't think this example is convincing. There are too many languages to expect arbitrary pairings to combine well. (Not to mention the fact that googling "java ruby" returns JRuby, which apparently lets you do just what you describe.)
I do agree with your last point: Even when we look at similar languages, like Python and Ruby, we don't declare one a winner, generally.
Well, yes. Everything else I've mentioned is also dependant on cultural contexts that may vary dramatically over time. I surely hope Facebook hasn't won forever.
For what it's worth, I'm not a native English speaker.
While I understand the sentiment, this conflates up-front design with compile-time safety, and opposes the latter to "quick, spontaneous changes". However, I feel that my iteration loop gets tighter thanks to compile-time safety, since I don't even have to run my application and test it to find most of its errors.
Yes! It is so much easier to write a bunch of aspirational code when you know the compiler is going to tell you exactly why all of the stuff that can't possibly work won't work, so that you can go fix it.
Yes, and it isn't actually "God Mode" (there's no special privileges). It is just a master control panel folder. You name the folder with whatever you put preceding the dot.
Debit card number is not your IBAN, right? Because that's the only number on my bank card and it never works (because all forms want your "credit card" number, I thought).
Sure, because a coin is evaluated on its capacity to map to an even distribution of outcomes. Drug possessions, however, are almost surely not an even distribution. If, say, 95% of the people that the dog evaluates have drugs, then raising an alarm 93% of the time is probably pretty good.
In other words: If we wanted a drug dog to be as close as possible to a coin flip, we'd just flip a coin instead.
Right, because it's not like there's any US party that campaigns against government spending, food stamps and universal health care...