Smarter Software vs Easier-To-Use Software
I often encounter a trade-off in my coding between making my code smart vs making it easy, or transparent, to use. A simple-to-understand API is often a dumb API that makes you tell it what to do every step of the way. Smart code doesn't require that you tell it as much, but it often takes more work to understand how to use it properly.
But I think smart code that has earned my trust is the most joyous code to use. It may have taken time to learn, and it may still bite you in the ass with unexpected behavior, but when it works, it saves time and coding. Tedious simple API's may be more robust, but does all programming have to revolve around correctness and robustness? What of fun and challenge? Sometimes it's better if our programs actually interest us.
But I think smart code that has earned my trust is the most joyous code to use. It may have taken time to learn, and it may still bite you in the ass with unexpected behavior, but when it works, it saves time and coding. Tedious simple API's may be more robust, but does all programming have to revolve around correctness and robustness? What of fun and challenge? Sometimes it's better if our programs actually interest us.

0 Comments:
Post a Comment
<< Home