4 ms·
There's something worth talking about, which is that a sophisticated and ingenious mess is orders of magnitude more costly than a simple minded mess. My experie
by Almaviva 12y ago
There's something worth talking about, which is that a sophisticated and ingenious mess is orders of magnitude more costly than a simple minded mess. My experience with brilliant functional programmers is that it's hard to know whether you're getting someone who can use it as the best tool for a job in a simple, elegant, and maintainable way, or a cargo-cultist who delights in sophistication and cleverness and purity for their own sake, to great excess, and leaves a codebase that needs to be scrapped and re-written when they get bored and leave the company 6 months later, when everyone realizes that the twisty baroque monstrosity could just be handled by an imperative loop one quarter of the size that any high schooler could understand.
- mistermann 12y agoSometimes it's near impossible to tell the difference between the two.
- rwmj 12y agoAs it's all open source, I guess you can look at the code and judge whether it's a mess or not. https://github.com/libguestfs/libguestfs https://github.com/libguestfs/libguestfs https://github.com/rabbitmq/rabbitmq-server https://github.com/rabbitmq/rabbitmq-server
- orclev 12y agoThat isn't unique to functional programming. I've seen my fair share of Java and C# code bases that could best be describe as baroque monstrosities. It's like the authors read Design Patterns and then decided they absolutely had to use every single pattern at least once. The clean code book is also somewhat to blame here as people who go full retard on that tend to write stupidly complicated class hierarchies just so they can never have more than 1 line of code in any given method (effectively turning most classes into proxy wrappers for other classes providing some default values).