Hacker News new | ask | show | jobs
by xixi77 3679 days ago
I admittedly don't have to read Java or C# code often; a few times I had to though, it had been a fair bit of pain -- so, I would much rather have to figure out someone's Perl code rather than deal with either one of these.

The problem was not with the languages themselves, they are just fine, and I actually quite like C# -- but it seems that a lot of third-party library authors for these languages really go all out on various design patterns, abstracting everything, etc., in the process making simplest things quite impenetrable.

Could have been just my luck though.

1 comments

It's two extremes of the same problem. Perl code generally doesn't abstract enough, while Java code often abstracts too much. I recently was tasked with porting a legacy perl system to Java. The main pl file of the legacy code was only about ~6k lines, but it also only contained 6 subroutines in the entire thing. The final Java product probably had more actual code glueing everything together and abstracting it, but the meaty parts were much cleaner, simpler, and easier to understand. I was able to show newcomers the new system and within a few minutes they could figure out at least what the major moving parts do, while they would immediately run away form the perl code due to the sheer scariness of it.