Don't be fooled by the concrete either, my friend. The Tao Te Ching is no different, in ways, to the Bible, the Quran, Lord of the Rings, Dune, Cat's Cradle, The Feynman Lectures... It's all what you take from it.
"I don't really understand why this would be an advantage in a large app." They make quite a few points in the article:
> The tangle of dependencies, callbacks, and relationships can grind your entire engineering organization to a halt.
> Why do we want encapsulation? As an organization grows, any public interface will eventually be used.
> So we start to take a defensive approach to modeling, only making public what we are sure that we can support. This makes these models easier to support because they have a smaller surface. They are easier to change internally, too, because there are fewer different uses.
> It has also helped teams collaborate and create contracts for interactions.
"but then you have to slow down and add all those wrappers for active record stuff" you also have to slow down to resolve technical debt and deal with collaboration, among other things. It seems that the approach they describe is giving them a positive opportunity cost. There are always pros and cons.
"And unless I want to restrict stuff I would want the default to be exposed" the article explicitly says they wanted to restrict stuff.
I think the Tao Te Ching is more clever than Gödel, Escher, Bach. But, GEB is still fun-- I just don't think it completely deserves the "Holy Grail" status it has.
People seem to hate Haskell because it's not [popular-language-that-they-use]. To think that Haskell is used, liked, and works, seems to upset people who don't like, use, or understand Haskell. Or, so it seems.
Yup, so why start now, right? That would go against tradition.