HN user

tpolecat

9 karma
Posts0
Comments4
View on HN
No posts found.

The problem you will face is that you have no way to verify that you haven't broken something unrelated when you make a change, because the current behavior of the system is unknowable; you can't write comprehensive tests for a codebase that large and that bad because you don't even know what it's supposed to be doing. The chickenshit nature of PHP and the lack of a sensible type system and refactoring tools will make things even more difficult.

So, run. Seriously. You're doomed.

I have been doing Java for a long time, and while I personally prefer more modern languages I have found that if I have to load up and work on someone else's code, my life is much easier if it's in Java because the tooling (specifically refactoring support) is so good. So even if I inherit an old, awful, "big" codebase, I have a good chance of wrestling it into shape by pushing it around in Eclipse or IDEA, with some reasonable guarantees that I haven't broken anything along the way. So the fact that I'm not entirely doomed in this case (as I recently felt when I inherited 300k lines of very bad Python) is a good selling point.

So as a common-denominator for large codebases with average-quality developers it makes sense in the long term, although it's not terribly fun.

I have heard some very smart developers admit that it took them years to wrap their brains around monads, and I suppose arrows are even more abstract ... I wonder how many people on earth honestly get this stuff well enough to use it day to day.