Satoshi was an excellent C++ programmer but s/he wasn't quite good at creating GUI and "Crypto" consumer apps that's why s/he open sourced it and left it to the community to build upon it and expand the Bitcoin ecosystem.
Btw at the time Bitcoin was in the experimental phase and Satoshi left the Bitcoin community pretty early that's why "Crypto" was user hostile and maybe still is.
Satosh was NOT an excellent C++ programmer. As someone who heavily dug into bitcoin code, the whole thing was a mess from the beginning. Poorly architected. Insane amount of global variables. It was just a huge mess and still is.
IMO it was initially written by someone deep in government (but I have no proof, just my opinion from looking at the code).
I'm not a programmer but that is what Gavin Andresen said[1]; he said something like this "Satoshi was an excellent C++ programmer but he wasn't a cryptographer" and "Satoshi wasn't familiar with Cryptography 101" in a sense that Satoshi was sometimes mixing up basic cryptographic concepts.
And yea I know Bitcoin had plenty of bugs I heard of notorious Value overflow incident[2].
>IMO it was initially written by someone deep in government (but I have no proof, just my opinion from looking at the code).
My assumption is someone from the academia e.g. university professor. Maybe someone who was teaching freshmen basics of Computer Science and basic C++ programming then your point might be valid that Bitcoin's codebase was poorly written looking from the practical and from the professional point of view.
The point is you store your crypto on a non-custodial software wallet (Metamask) or a hardware wallet (Ledger Nano) and not on an exchange, so it cannot be 'held hostage'.
It is not your keys, not your coins if it is on an exchange which uses custodial wallets, but doesn't apply if it is on a non-custodial wallet.
Thanks for highlighting the bad UX of crypto currencies, as it provides a nice segue into the financial danger that UX causes, as it creates customer-demand for simplifications that exchanges provide – so every time an exchange does something rugpull-ish we're actually testing how much of crypto's market-cap is based on maybe not-so-sturdy confidence of retail investors...
This is great if I want to store it, or spend it on places that accept Bitcoin (or other coins) but what if I want to exchange it for another currency? Seems to me only two options, an exchange or a face to face trade?