Skip to content

Comment on Thoughts on Software Quality

Comments

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.

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?

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.