The Emotions of Programming Tools in one short Lesson

The last days I’ve thought about Alex Blog “The Economics of Programming Languages in one Short Lesson” and what is missing for me, especially with the bottom line “Put your language out there, make it free and open and trust the programmers. … Good programming languages will survive and thrive, bad ones will die. ”

But how are we deciding as individuals what is a “good” programming language ? Isn’t “good” for each of us different ? What is behind the rational concepts “freedom”, “openess”, “trust” – aren’t this emotions, feelings ?

I personally think that our emotions, drive the choice. An excellent presentation of Tom Asaker (http://www.acleareye.com/thoughts/VisualPresentation2006.pdf ) gives a clear insight to that.

“What matters is how you make them feel about themselves and their decisions while in your presence”. The emotions will drive the “good” or “bad” label. The rational arguments are only used for justifying the decision to the others (colleagues, management, …).
But how to create such emotions ? The Author prefer 4 steps to create those expectations.
1. Empathize it. What feeling can we deliver at what prize, such that our audience has a compelling reason to choose it and identify with it?
2. Create it. If you want them to notice you, you have to change things.
3. Dramatize it. Elevate it to a level that overcomes inertia like Habit, Switching costs and Search costs.
4. Demonstrate it to deliver on the expectations.

Take Java as an example. With the slogan “Write once, run everywhere”, the VM-Approach, the supporter bandwagon (e.g. IBM, open source projects, …) they have done it perfectly that way. Maybe they are lacking on demonstrating it in some application domains, but they have done a perfect marketing job as others with C#.

For me the bottom line is that – if you want to make your programming language a “good”, a “valuable” choice create positive expections in the brain of your clients or users. Please don’t get me wrong, I don’t speak here against the functional features of a language but I want to stress that those are only the coffee. The positive emotions are the cream, which makes the difference.
Beside choosing programming languages this theory can also be matched on choosing a framework like POCO.
Let’s make a short test.
1. What feeling attracts you to POCO ?

2. What feeling keeps you engaged with POCO?

3. What feeling will draw you away from POCO?

What do you mean ? I’m curious to your thoughts, comments, arguments, …