ifacethoughts

Directing And Enabling Attitudes

I found this very interesting post by Martin Fowler on software development attitudes. He talks about Directing Attitude and Enabling Attitude.

The Enabler gives you more freedom to create your own paths, the Director directs or enforces certain specific paths. More freedom can lead someone to wrong paths, to avoid this the Director creates restrictions and gives options of only the right paths. The problem with this approach is that the right paths are according to the Director, not you.

I think it is the same case with some programming languages, like C++ and Java. Multiple Inhertiance can allow good designs, but can also lead to the diamond problem. C++ gives the power to the developer, Java restricts it. C++ gives the developer a chance to solve the problem, Java solves it for you according to what it thinks is best. C++ places trust on the developer, Java does not. C++ talks about What and gives complete freedom for How, Java talks about What and gives limited options for How. This is not a flaming post, probably someone could come up with something like this for C++ as a Director.

These attitudes provide a new perspective for selecting out of many. Like Martin says, it will depend on whether the selector is a Director or Enabler. Enabler allows more possibilities, more freedom, more power. I do not know which is better, but one who has worked under Enabler once will find it frustrating to work under the Director.

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.