From APIDesign

Jump to: navigation, search

Pragmatism comes with an approach of understanding the world and solving world problems that optimizes for the result. Gaining experience first, later (if anytime) abstracting that into a theory - a shared sign with empiricism.

From a point of a rationalist scientist this is a bit barbarian - one is not seeking the eternal truths, one does not need internal theory beauty - one only cares about the (applied) results. Like a barbarian will use all available means to gain power, not really trying to understand why the means (or tools) are good.

On the other hand, we are all clueless in many ways, so the fact that some even call themselves pragmatic should not surprise anyway. At the end, it is useful to be aware of the actual stand one's taking and the differences between rationalistic and pragmatic point of view, just like Dijkstra did in his Two sides essay.

Feeling the Pain

It always helps when maintainers of a library or framework feel the pain of using it themselves. Then they become more open to address limitations of their own design.

JDK refused to address the problem of evolving existing interfaces for years until they needed to evolve bunch of interfaces themselves. However just like flipping the switch, when they needed to add new methods into List they adopted the concept of DefaultMethods easily.

It's not users of (even of some obscure feature of) a library that shall "feel some pain every time they use it, to keep the usage as limited as possible". The maintainers should feel the pain. That helps them to get more Pragmatic and less academic!

Personal tools