Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not talking about functional style, I'm talking about pure functions. Declarative style is an orthogonal concept.

I can buy the argument that a declarative style makes intent clearer, but it's not the "ultimate abstraction" because all abstractions are leaky and also even if one happens not to be, it's still open to misinterpretation due to human assumptions (ie. the whole reason laymen programming tools have never worked out).

Clarity and intent are beside the point though. I'm not talking about making life easier for the programmer. I'm talking about getting guaranteed correct results. I'm talking about bugs, and bugs live deep inside code. The easy bugs are ones where there has been a wrong declaration in the DSL-veneer. The only way to guarantee there is no deep bug is through a mathematical proof, and you can't prove anything without enforced purity. I don't particularly enjoy math, but it delivers by far the strongest guarantees you can get in software.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: