Money for Nothing and Interop for Free · 14 July, 12:16 PM
Giving Shit Away is not a Business Strategy – Ref Smart companies try to commoditize their products’ complements.. On the flip side, dumb companies give stuff away and make it up in volume.
Ted Neward on Protocol Buffers – ref Mark Pilgrim’s post on PB. It’s a case of someone who’s looking at a spec versus someone who’s used the implementation. I’d tend to defer to Mark. In a case of cognitive disconnect where you run into something that you wouldn’t think would work, versus seeing evidence that maybe it does, my instinct lately is to wonder why my instincts are apparently wrong. Let’s think about a few of Ted’s points:
- “Protocol Buffers’ claim to be language and/or platform-neutral is hardly justifiable, given that they have zero support for the .NET platform out of the box”. So Google does little or no work in .NET, is this their problem? I think Ted misunderstands what open source/open spec actually means.
- “until we see implementations of Protocol Buffers for Perl/Parrot, C, D, .NET, Ruby, JavaScript, mainframes and others, PBs will have to take second-place status behind XML in terms of “reach”“. But there are some well documented examples where the parsing situation is poor for a given language: REXml in Ruby, for instance.
- “In XML we can follow Noah Mendelsohn’s advice of years ago (“Schema are relative”) and parse XML in whatever manner suits the consumer, with or without schema” – which works in situations where partial understanding is acceptable. It’s one of those great straw man questions: would you want your bank to make assumptions about your input? I think it’s irritating that my bank requires me to specify cents in my payment amount in the online bill pay service, but on the other hand, it’s better force me to be explicit than assume I really meant to append a decimal point and two zeroes to my payment amount.
I think that what’s probably the case here is that protocol buffers reflect the culture they grew up in, which is to say they reflect Google’s culture, whereas XML grew up from the markup world that inherently has different concerns. Ted’s point about the “One True Schema” misses the larger point that interop doesn’t come for free. It’s nice to have the freedom to not have to have to negotiate with the other side of the wire, but that comes with its own tradeoffs.
Dare covers a lot of the same ground in Scalability: I Don’t Think That Word Means What You Think It Does, saying “If a service doesn’t scale it is more likely due to bad design than to technology choice.” I’d counterpoint that with the note that technologies often have defaults that lend to failure: for example, DOM in XML or ASP.NET’s postbacks and ViewState, or the simple-minded nature of PHP leading to sites tightly coupled with a relational DB.
— Gordon Weakliem
Comment
Commenting is closed for this article.