[Haskell-cafe] A backhanded compliment and a dilemma
Joachim Durchholz
jo at durchholz.org
Thu Oct 20 19:58:04 UTC 2016
Am 20.10.2016 um 09:32 schrieb Imants Cekusins:
>> the "choose" group has to take the rest of the chain into account
>
> Choosers rarely consult and listen to the other groups even when those
> other groups are present and voice their preferences.
They consult with their architects if they have no personal expertise.
If they have personal expertise, they usually *are* the architects.
Architects tend to stick with established technology because switching
is costly (loss of productivity because programmers have to relearn,
loss of codebase that's incompatible with the new ecosystem, loss of
tool integration that needs to be prepared for the new ecosystem, loss
of programmer time who need to rewrite stuff), *plus* it is risky
because nobody can guarantee that you will ever recoup the losses, let
alone gain an edge.
Just do the math: assuming a developer-year costs USD 100,000 (not too
absurd in Western countries though there are obviously differences), a
team of ten developers working for a year to embark on a new language is
a full million dollars that needs to amortize.
And you need to guarantee that the transition is done after a year, and
that programmers will be more productive by 50%, and then it is still
three years until that expense is amortized.
You simply don't do that. You cannot (or at least should not) bet your
company's existence on that kind of stuff, particularly if those
guarantees are not available.
In practice, drastic coding infrastructure changes tend to take decades.
Large businesses (i.e. those who have the money to actually experiment
with disruptive stuff) are currently in the process of migrating their
applications from mainframes to webservices, and the typical timescale
for that is in years, sometimes decades, even for them.
Things change if you get a guarantee. If a competitor is able to make
their business processes substantially more flexible, then there you
have your guarantee, and then you'll find the employers who are willing
to use^Wtry that disruptive technology.
Webservices and enterprise buses were such changes, for example - and
they are still migrating.
> Job ads where
> employer is open to suggestions about the language are not common.
Well, changing the language in a running business process is a
high-risk, dubious-reward proposition.
You will have a hard time convincing anybody of trying that out.
> If the same group and people within that group did all the stages:
> choose, begin, complete, maintain, they'd make a more balanced decision.
Talking as somebody who has seen both sides of the fence, I can say that
these decisions cannot be made "more balanced".
You have to balance risk against reward, all while taking constraints
like developer availability, in-house ability to actually make use of
the advantages, retraining costs and overall profitability into account.
Going just by qualities of the language would be the unbalanced
decision, I'd say.
More information about the Haskell-Cafe
mailing list