I just came across an article that announced Google open sourced their ‘Protocol buffers’ but decided NOT to use XML.
It is great that Google is contributing to the community and is showing the world how their system works, but I wonder if the inmates have taken over the asylum. I am a software engineer, so I enjoy the technical information, but I also ran my own company, and evolved to view problems from the business end. If you let the ‘engineers run the show’, then you get a very narrow viewpoint.
I think we have a severe ‘Not invented here’ syndrome inside Google.
They claim they could not use XML because ‘it isn’t going to be efficient enough for this scale’. WTF??? If this statement came from someone else, I would understand, but these guys are supposed to KNOW markup.
Speed in a system in NOT just optimizing loops in code! It is the architecture: messaging, storage, and re-use. Yes, XML can be fat, but so can any other language. And if they took the time to improve the processing libraries instead of creating their own special methods, we would ALL benefit on projects that used XML, not just this so-called ‘protocol’.
Their solution is supposedly “20 to 100 times faster” - which I refer to as “Lies, damned lies, and statistics”. I bet I could make XML run circles around their system just by simplifying their schema. I once invented a technique called ‘XmlZip’ that would transform long element names and attributes to smaller symbols for faster transfer - why not try that? Or perhaps use binary XML? In fact, it looks an awful lot like JSON, but I guess they couldn’t that to work either. And I used to think these guys were smart.