Hacker News new | ask | show | jobs
by badinsie 1381 days ago
Bitcoin
1 comments

That’s absolutely not true.

Bitcoin the app is often mixing several layers of abstractions and several usage patterns together.

Is it for actually keeping track of money? Is it for APIs? is it for end users, or for servers? Is it CLI or a GUI app?

And it’s in C++, which is almost never readable.

And of course they have their weird names for everything (all the ScriptSigs etc), and the OP script which is at the same time too complex and too simple.

It’s surprisingly robust and it survived a lot, sure; I don’t take it down on that level; but the code even today got baggage of all the weird decisions Satoshi did when he made it.

It’s really not “good code” IMO.

Although they have improved it a lot in last few years, I will give them that. It was worse…

Yes, I would second this. It's hard to rewrite, but needs it in many places that I've read (in particular, the code to detect BIP9 etc soft fork activation is horrible).

To be fair, the slow polishing of a thousand hands continues. libsecp256k1 is tested to a level few if any FOSS libraries achieve, for example.

Yeah, the test suite is very very thorough.