Sure, this happens. But imagine it was 10 times that size and factory poorly. If you had the same lack of tests, I'd contend it'd be a worse nightmare, because you have to first reverse engineer the confusing old design, unconfuse it, and then incrementally refactor it.
You can write bad code in any language with any constructs. The more code you do write the worse bad ideas just metastasize like cancer.
You can write bad code in any language with any constructs. The more code you do write the worse bad ideas just metastasize like cancer.