>>106386094
It has no syntax to check and unwrap a variant at the same time like rusts's match or if-let, so it's more verbose and there's a higher likelihood of dong a bad access.
The iterators are hideous and make stl functions extremely ugly. There are no neatly chainable iterator methods.
Blocks don't evaluate to the last value in the block, so you end up with a lot of cases where you declare a variable and then modify it in conditional blocks, increasing the odds of accidentally not setting something that gets accessed later.
Many projects disable exceptions, so you have to use ugly verbose workarounds like checking iterators to see if something completed successfully.
Not to mention tooling. Using the system package manager for dependencies means building a project can break other things on your computer.