Are there counter-examples of enormous, open platforms that escaped into the wild at just the right time? Because sure, IPv4 and JS have their problems, but it is impossible for me to conceive of an alternate universe where they were perfect at launch.
fair point. And on the flipside, we have projects like Hurd and DNF that were hidden away for far too long to ever become relevant or successful.
I guess what I'd like to see is a breakaway from the notion that there can only be one, universally adopted standard. We should focus on building systems that are heterogeneous, not homogeneous. Ideally, we would have a world where IP packets were routed correctly regardless of version; websites could be programmed in any language; and transactions could be conducted in any cryptocurrency.
One way to achieve that is by adopting a very minimal standard, and then creating new models that targeting that standard (see: IPv6->IPv4 gateways, compile-to-JS, sidechains). The problem is that the standard is often not minimal enough, or is minimal in the wrong ways, or is too minimal to be of practical use. So I don't believe that this is the right approach; it's just too difficult to predict how people will use the standard.
With hindsight, sure, but was that really obvious in 1995 when JavaScript shipped?
1995 saw Java's first public release. PHP was a CGI-thingie that powered Rasmus' personal homepage. Tcl and Perl was the state of the art of scripting languages. Ruby was released (it would be another four years before it started getting traction outside Japan). The first edition of O'Reilly's "Programming Python" was published in 1996.
Functional programming is barely mainstream today, it certainly wasn't in 1995. Netscape had enough on their plate convincing people that "the web" is a cool thing and they should be on it without driving a programming paradigm change at the same time.
Seriously, it's 20 years ago. You're operating with extreme hindsight.
Ok, interesting observation--maybe it's extra important to avoid NIH in those situations (trying to launch an enormous open platform). Otherwise feel free to forget that I said JS--it's immaterial to the main point of my question above.