

Pro-choice Programmer - dangoldin
http://blogs.tedneward.com/2008/05/11/Im+ProChoice+Pro+Programmer+Choice+That+Is.aspx

======
smanek
This article basically attempts to discredit the maxim that 'The three most
“personal” choices a developer makes are language, tool, and OS.'

The author posits that these shouldn't be 'personal' choices, rather a
programmer should just choose the right tool for the job.

However, I think he fails to take into consideration that some choices are
'sticky' (in the economic sense) because of external efficiency boosts.

For example, Eclipse may be a better Java IDE than Emacs, ceteris paribus.
However, all things are not equal. By using Emacs with JDEE I get free svn
integration, my keybindings, my customizations, and so on. All those things
would take considerable time to set up/learn on Eclipse.

Similarly, I can imagine certain tasks for which OCaml may be better suited
than CL or Perl (my two strongest languages). But, I may have enough
additional expertise in Lisp or Perl to offset the 'natural' advantage OCaml
would offer. (This isn't to suggest that we shouldn't push our comfort zones
and expand our skills, though).

It's a basic principle that specialization often leads to efficiency
increases. And, since the decision of what to specialize in (Emacs v Vim, Ruby
v Python, etc.) is effectively arbitrary, it boils down to a personal choice.

I should learn the basics of both A and B (windows and linux, cl and scheme,
etc), but at some point I should choose one to specialize in. And that choice
is pretty personal.

~~~
dgabriel
Great post & totally agree.

silly nitpick: you get free svn integration with Eclipse, too.

~~~
smanek
Thanks, I know Eclipse has SVN support.

I guess my point (see: "those things would take considerable time to set
up/learn on Eclipse.") was that yes, the feature is there, but it isn't free
because it costs me time to learn/configure.

------
baha_man
"When programmers embed their choice so deeply into their psyche that it
becomes the tagline by which they identify themselves... Do you, the customer,
really care what kind of tools they use?"

The customer probably doesn't care, but recruiters certainly do. They want a
'C# developer' or 'experience of VB.NET' rather than a 'good programmer',
which is probably what they should be looking for.

If the writer is saying he'd avoid working with someone who would only use his
own favourite language no matter what, then I'd agree with him. However, I'd
also be suspicious of an experienced programmer who didn't have strong views
on operating systems, languages, and text editors/IDEs. If you don't care
about these things, you probably don't care about programming.

------
Hexstream
"I use a variety of languages, tools, and OSes, and my choice of which to use
are all geared around a single end goal: not to promote my own social or
political agenda, but to make my customer happy."

My customer probably won't be happy if I programmed his thing with a language,
tools and OS that frustrate me to no end. That frustration will no doubt find
its way in the product, just as sheer joy finds it way into the product when I
love the way I work.

My agenda? Having fun making software that's fun to use.

~~~
matstc
There's nothing wrong in promoting a social or political agenda either. We are
software specialists and we should educate other citizens, including our
clients, about the virtues of good software and the right tools to build it.
This is no different from any other field. I though the post made Ted look
like a pushover.

------
gruseom
The author says that choice of language, OS, and so on ought not to be deeply
personal for programmers; they should be guided only by what's best for the
customer. That's pretty hard to dispute. Who wants to argue that their ego
needs matter more than customer value?

But choice of language, OS, and so on _are_ deeply personal for many
programmers, including many good ones. Are they all just being self-centered
and misguided? I doubt it. Neward doesn't offer any insight into why this
might be. He just says it makes him want to "hurl". (Actually, his attitude
seems condemnatory and dismissive in a way that's more similar to the
caricatured programmers he's critiquing than it is to the heterodox
flexibility he advocates.)

