It's not irony. It's misunderstanding.
You probably was confused when someone convinced you to invest money into CN-based project(or you decided it by yourself) - this is not bitcoin-fork with mature life cycle, this is brand new, developed from scrach software that has a lot of work ahead. Every one who at least little familiar with software development should realize what does it mean, esspecially for software related with security. The problem is that you've missed this fact.
And after an about
half year of public run there was found first critical bug that was unfortunately used to exploit with Monero network... (and this is sad, i could understand stress that was felt by all involved in xmr people), but this quality indicator many many times higher than bitcoin development has.
Yeah, it's yet enother good chance to blame CryptoNote devs, but i really doubt that any of XMR devs had done their own cryptocurrency, written from scratch and worked fine. (okay, almost fine
).
I've been involved in the writing of one from scratch in Golang, and have talked with many developers with decades of experience about the reference CN code and all of them think that is is both insane (using C functions for a distributed consensus network) and intentionally obfuscated.
The only problem of CryptoNote codebase is that it's undocumented and don't have comments in code... well, that's true. But this is very different from "unbelievably messy codebase intentionally made scammy, buggy, unoptimized". (And don't take into account CryptoNight PoW hash function since it was really suspicious code, and i also agree about C-code, never understood why people use "C" when this is potentialy buggy language? ).
Yes, well, about 35% of the codebase in in C!
Compared Bitcoin-based projects and CryptoNote technology it's the same as compare say "ford focus", that is good well-known car, and Tesla-prototype, that has bright ideas, a lot of work behind it, but still not perfect, without instructions and documentations, with a lot of work ahead and unfortunaley with some new bugs there.
So it is not a CN fail, it was just your own choice. That i believe is good choice.
PS: I didn't meant that current Tesla is buggy and without instructions and documentation - i used it juse as an example of something new.
Just my 2 satosi. Sorry for late post.
This is a poor comparison. In many ways the reference codebase is much, much worse than the reference bitcoin daemon codebase at launch. The iterative tree-hash function is just one example: they could have much more easily written a function that recurses and always a valid result, a la the one given in Bitcoin, however, they chose a (marginally faster given tx volume) iterative function that was buggy (and I think is still buggy, there's another overflow around 5000 tx if I remember right). Also the size_ts all over the place were bound to end in tears (as has been recently shown...).
Even Bitcoin didn't use awful non-cross platform BOOST serialization for storing data, which was another totally nuts design decision. Most of the code I like in the CN codebase wasn't written by them, e.g. the EdDSA reference implementation.