A meta-analysis of three different notions of software complexity

15 points by ztellman


aryeh

I often think that discussions of complexity completely ignore the inherent complexity of the system being modeled. Payroll, actuarial, an air traffic control systems, or your niche line-of-business systems are inherently complex. The resultant software written to model them is inevitably complex as a result. This is exacerbated by them being typically “external domains” where expertise is outside of the software development team.

tentacloids

It’s kind of a shame because Hickey’s particular idea of simplicity only really foists complexity elsewhere and makes programming in clojure more complicated than it could have been.

I’ve had the idea brewing for a while and haven’t really seen it elsewhere, but I think consistency is the subsuming concept over simplicity and complexity. If everything works more or less the same, it doesn’t really matter how many dependencies there are, or how dirt-basic the interface is; if you can transfer your understanding over more of the system then it’s less complex. I mentioned this on some other thread but I think this is the reason forth, lisp, and smalltalk can go from 0 to OS: because they’re so consistent.