I am personally a supporter of alternative implementation of Bitcoin because of this reason:
If the second version screwed up, the user experience would reflect badly on both,
If the
first version screwed up (eg. value overflow in 2010 and in 2018), the user experience would reflect badly on Bitcoin.
Now, I'm aware that nothing prevents anyone from attempting an alternative implementation and that someone could conceivably read the source code and proceed from there.
Alternative implementations do exist though. Like
BTCD.
~ and the core devs don't properly document what they're doing and work amicably with outsiders then any such attempt is surely doomed to fail?
That's true about a lot of other open source projects too. I rarely see any that is well documented. Most of the code in bitcoin core is straight forward though and if you know c++ you'll have an easy time understanding it all, and if you know other languages you should still be able to figure most of it out.
Shouldn't Bitcoin, first and foremost, be a documented standard?
I agree with this but more like the documentation should be improved because it already exists on bitcoin.org, bitcoin wiki and among BIPs but some parts aren't good enough.
Shouldn't the reference implementation be one of many?
There should be only one
reference implementation but other alternative options for people to run as full node.