I like languages that are a monoculture. It's a mess when you have many flavors of a language. Anyone else here remember the joy of various Fortran variants? It was a pain in the ass - VMS Fortran, Cray Fortran, HPF, etc... ("How do I call a subroutine with a Cray Pointer" - pointers were variant specific? Ugh). Pulling the variants together under a common standard made it reasonable to build projects from multiple groups without having to know how all of the different variants interacted. If you pay attention to the post-Fortran 95 language standards, a lot of work has gone into standardizing what used to fall under the chaotic world of vendor specific extensions and implementation choices.
I'm all for the diversity that emerges when you have different libraries and tools that take on the flavor of each group that builds them. But at least establish a common language in which to build that diverse ecosystem.
It's easy when a project is new to adopt one variant and be happy in your little variant bubble, but when that project turns out to live for a while and inevitably has to start working with other projects or tools that rely on one of the other variants - you've got a headache, and life gets hard (and you'll probably start wishing people had just standardized things in the first place!)
> It's a mess when you have many flavors of a language. Anyone else here remember the joy of various Fortran variants?
For those too young to remember Fortran: Markdown is just as bad. HN supports an extremely limited subset, Reddit another, Stackoverflow, Github and Gitlab each have their own flavors as well, and MediaWiki also has elements that IIRC came from Markdown. And that's just the biggest platforms and doesn't count the myriad of libraries and bindings with their unique subset/superset and edge cases.
I'm all for the diversity that emerges when you have different libraries and tools that take on the flavor of each group that builds them. But at least establish a common language in which to build that diverse ecosystem.
It's easy when a project is new to adopt one variant and be happy in your little variant bubble, but when that project turns out to live for a while and inevitably has to start working with other projects or tools that rely on one of the other variants - you've got a headache, and life gets hard (and you'll probably start wishing people had just standardized things in the first place!)