We had some friends once, who had a dog that would run after anything that you threw for it to fetch. It would run up hills, down hills, through bushes, jump into water…absolutely anything to bring that stick back to you.
Sometimes, I have a sneaking suspicion that certain programming systems are sticks that you simply shouldn’t chase after, unless you want to end up like that poor dog, crashing down the hill.
I’m not an economist, but I suspect that companies, like countries or other entities that participate in trade, in some ways adhere to the principle of comparative advantage, in the sense that they do some things relatively better than others. For instance, big companies are probably better at slogging through big huge API’s in more tedious languages like Java. And that’s where the chasing the stick idea comes in. If you’re a small company, you’re going to get beat up if you chase after the stick, trying to keep up with IBM in grinding out Java WS-* code. That’s something they’re better at, because they have lots of people to throw at any problem. You had best stick to something where having a few bright people makes more of a difference.
At times, I wonder if some of these ideas are thrown out there on purpose, to try and get people chasing after them, and compete with big companies on terrain that the big companies are guaranteed to win on.