Hacker News new | ask | show | jobs
by DanielBMarkham 5539 days ago
Coming back to the earlier examples, I think most of what we perceive as badness or decay are just emergent properties of a complex system in which we cannot focus on all aspects at all times

This is a key insight, and it usually takes banging your head against architectures you've created yourself a few times in order for it to sink in. Early on, you think that somehow there must be a "perfect" way of coding. So whenever the system gets a lot of cruft, you feel as if you made a mistake somewhere. The much more likely culprit is the impossibility of keeping enough of the thing in your head at any one time in order to keep it consistent.

I think FP helps with this a lot, and I think we're going to start seeing larger and larger systems moving to FP.

FP is going to bring it's own problems, though, which is why I think a hybrid FP/OOP model, with classes "growing" up from REPL constructs to meet contractual obligations is going to be the future. You'll code in FP, then wire in OOP.

2 comments

Wouldn't a functional language better for wiring? Doesn't having function composition and higher order functions give you a much more expressive language for building systems?
Could you possibly give a brief pseudocode example that shows how this progression of functional to oo you're referring to works?