This is the key. I'd argue that you can keep a 20k codebase in your head. If the codebase is larger than that, you need to be confident that you can safely ignore the rest of it while working on your piece.
If you need to manually check with the rest of the codebase before making changes to the chunk at hand, you're lost.
Even if technology, or more likely the web, will get to a point where it's good enough, people are notoriously awful at identifying that point when it comes. See old quotes about five computers in the world and whatnot.
I always find it very hard to believe a person saying "we've reached the end now, progress was good up until now, but this is quite enough really".
"Before Google the Internet was more useful" Wow, could not disagree more. It's order of magnitudes easier for me to find a good answer for virtually any question. Not to mention how much better gmail is than mail clients of old. Or google maps, my lord how it has simplified my life.
Google isn't solely responsible for this, but them and other ad-financed companies played a crucial part in building the web as we know it to day. And for me, and everyone I've ever met, the web is a lot more useful today than 15 year ago.
The proper way of playing fast notes on a guitar (with a pick) is alternate picking, up/down/up/down. So a three note per string scale ascension would be dud udu dud udu ... I never learned that. Instead I took the shortcut called economy picking, just picking in the direction the pick moves. The same scale ascension would be dud dud dud dud... (since you move down to the next string). This is also a valid technique, but meant as a compliment and normally learned after mastering alternate picking.
Now, economy picking worked pretty well for me for a while, but I'm starting to feel the disadvantages now (very hard to keep a perfectly even pace, easy to get "stuck" in certain picking patterns, etc.) But now for the life of me I cannot unlearn and relearn.
Far fetched parallel, but it makes me think that he could be right about the math as well.
I've just used this to get a solid undo/redo in our WebGL editor. It works amazingly well, and is very performant. However, our backend is not in Javascript, so if I'd want to use it for data transport I'd have to make a compatible python implementation. So I get the point of a standard, so long as it's up to par.
The OP was talking about the current incumbent, and the solution proposed does not work for web applications, since the JSON.stringify in most browsers do not sort keys. Sure, you could implement your own javascript version, but it will be at least a couple of orders of magnitude slower.
I like this idea, and I think it's helped my confidence greatly over the years because of my disparate hobbies (he's a better coder than me, but can he do a backflip?).
I've been pondering lately, if I defined my own decathlon, would I win the world championship? Maybe the state championship at least?
It's not there yet, but we're working hard to make it happen at gootechnologies.com. Main focus is 3D games for now, but we're going to attack 2d in early summer.
Right now you can prepare your scenes and do some basic interaction, but to make a full game you'd export the scenes and code javascript directly against our goo engine.
It's still in private beta, but if you PM I might be able to speed things up.
Our (goo's) idea is to make it easier for game developers to make web based games, so you don't have to be a web developer to get a great browser experience. Still quite early in the process, but I have a good feeling.
If you need to manually check with the rest of the codebase before making changes to the chunk at hand, you're lost.