It happens everywhere... a constant drive to improve by building on top of layers and layers of abstraction - to the point where even the experts give up and view it as, well, magic.
I see technologies being replaced by something totally new from time to time.
What would be an example of this?
If you want more software examples, how about operating systems? The good thing about software is there's a low barrier to entry, so you can have open source projects. That said, those open source experts often know their trade due to working as technicians for business or government, or relying on support materials.
The further down the road technology progresses, the less accessible it is for individuals to create.
No. It would be a shame if software were forced to be only ever be simple enough for a single programmer to trivially reproduce. We would never have gotten past the terminal in that case.
> That means that if anyone wants to write a new web browser he won't be able to
Anyone can, they just need a lot of domain knowledge and time. They can also fork and edit existing open source browsers, or develop browsers which aren't quite so feature rich. But the complexity of the modern web is the result of generations of iteration on previous work, and of giving people a platform to express themselves in the way they want.
Most people want the feature-rich modern web, and that's impossible without browsers complex enough to deliver it.
Of course it is good to have browsers supporting more and more features. I'm totally for "the web" against "the native" thing. I hope all "native apps" die in a fire and everything starts being written to run in browsers, as everything gets faster and better.
I just commented about a serious drawback of all this. I don't know what would be a solution, however, or if there's need for a solution.
Of course anyone can if they have domain knowledge and time. Anyone could have built a web browser 50,000 years ago if they had knowledge and time.
Those who control the web browsers control the Internet. And web browsers have gotten so huge and hyper-complex that only wealthy corporations can afford to enter the market as new players.
Or do you meant to say Google, Apple and Mozilla are working to increase the features of their browser in the last years with the objective of controlling the Internet in their minds?
For the specific case of your example I prefer the current browser behavior. So what?
I've long desired for a formal semantics for CSS for example (but I believe flexbox is a step in the right direction in this regard).
If we're heading into a p2p future, my opinion is we're going to have to build it on web (HTML/CSS) technology for being able to leverage browser efforts, and for cross web/postweb publishing.
And I believe the prospect for doing this, from a pure technical PoV, is quite good. While I'm not completely agreeing with everything they do, WHATWG have succeeded in spec'ing a reasonably declarative and rich document language that doesn't need JavaScript for each and everything.
OTOH, more and more CSS ad-hoc syntax, and entirely new procedural web runtimes (cough WebAssembly cough) should be resisted.
Just take SASS as an example. Why does it exist?
Meet the new boss: same as the old boss, but now you have to learn to deal with them all over again. :-(