69 karma · joined November 3, 2013
The fallacy with the EU's position is the notion of 'diversity'. Code word for "let our companies compete better". If the free market doesn't want that, any 'remedy' will in fact harm users. What the EU must do is simply focus on the question, "are consumers harmed". Anything else is begging for problems. EU bureaucrats are not smarter than the market. If EU companies are able to attract the capital and users to them, wonderful. But the fundamental problem is 'attracting capital' to a rigid (and apparently protectionist) market.
gfs -> hdfs
bigtable -> hbase
google mapreduce -> hadoop
dremel -> presto
protocol buffers -> swift
Welcome to the internet!
What's great about this is I might call a method that simply concatenates two strings, that is all it does, and I know this won't fail(OOM can always happen, but good luck recovering from that), so I don't return a status. I can call this method assuming no failure and no boiler plate is needed. With exceptions, there's always that possibility that an exception can be thrown. What if I call this method from code that needs to close resources? Great, now I absolutely must have RAII for cleanup, which is more complicated than just doing close(x). Also, what are you going to do when using 3rd party code with its own base exception class? Now, at the upper layers of your code, you have to have a handler for each base class. Without exceptions, someone might have their own status object they return, and I'll need to translate that, else my code won't compile. Your code will compile even though you might not handle that 3 party base exception class.
Of course, most times code just propagates the error up so that adds to boiler plate without exceptions.
I think the talk of using exceptions vs returning a status is a red herring. They have their positives and negatives, and we can argue this until the cows come home. The most important thing is to use a set of well defined success/error codes, whether this comes from exceptions or a returned status isn't really important. I've seen codebase with C++ exceptions working just fine, and I've seen c++ code with no exceptions, and it worked well. The commonality between these two cases is .... well defined error codes.
Having said that, one of the parties involved in collusion was Microsoft. They covered their tracks well, as they have had more than a few run ins with the government here. You can see that in the, "Look, we asked them to join us, they chose not to do so" line.. Which was a laughable point by the way, as joining their group wouldn't have allowed for protecting android manufacturers. But it provides an alibi for regulators. IMO, it's not a very good alibi.
Microsoft and Apple took a huge risk in their collusion. I imagine discovery might bring up some juicy tidbits. I figure they knew the risks, but reasoned that sticking it to their biggest 'problem' was worth the risk of getting caught up with regulators. So that tells you about how scared they are.
Most tech companies have google to thank for large scale data processing. Google could have not published anything, but they chose to publish these papers. There are other papers published that other companies haven't even started copying yet, as google is 5 years ahead of the industry in terms of large scale data processing. When these companies get there, they can check out the published papers, saving years of time.