
Technology Holy Wars Are Coordination Problems - Nicholas_Kross
https://www.gwern.net/Holy-wars
======
leoedin
The platform thing is an interesting take. If you're invested in a platform,
you really really don't want it to turn out that it's not the winner. Then you
have to throw away all the sunk cost and learn a new platform - suddenly all
your investment counts for nothing. So you defend it - out of fear that your
investment might be irrelevant.

I read a few years ago "under all anger is fear". I'm not sure if that's
completely true (hanger is a thing), but I think it's right most of the time.
I've found it very useful when I feel angry about anything to take a step back
and think about what I'm afraid of - that's usually the thing that really
needs to be addressed.

~~~
bryanrasmussen
I'm pretty sure people get angry about being taken advantage of and treated
unfairly, I suppose that can also be ascribed to fear but I think you have to
do too many rhetorical tricks to make it work.

~~~
leoedin
It's not much of a rhetorical trick - anger for unfair treatment is driven by
a fear of loss of power, status and control.

~~~
bryanrasmussen
yeah if someone is passed over at work for a promotion they've earned making
the fear argument is possible (that they fear they will lose status as you
say, or maybe get fired) - but really at that point it's in the past. Fear is
a future directed emotion.

It seems to me that the anger is not driven by fear of loss of power it is
driven in a case like this by envy of the reward one lost out on. by envy of
lack of access to more power.

I am in a very unfair relationship right now and my anger is not fear driven,
as in what will happen in the future, it is generally anger at what is the
current situation. Thoughts of - If they had not done X I would not be in
condition Y.

To turn that into a fear situation you have to ignore what I say is the cause
of my anger, then postulate something like "he fears condition Y being
permanent, or condition Y turning into condition Z" when condition Y should
provide ample grounds.

Actually the more I think of this fear thing as the root of anger the more
messed up it seems to me, because it seems structured around people never
caring about their current or past situations but only about the future, and I
don't think real people act like that.

somewhat facetiously - Are you sure this fear theory wasn't created by an
economist?

~~~
EGreg
I think anger is a human response to unfairness, its function is signaling and
calling attention to a willingness to escalate.

Animals have similar emotions. Bruce Shneier has written a great book “liars
and outliers”, which talks about how we maintain the trust society needs to
operate.

Studies it cites have shown that people are willing to take a loss to punish
others who they perceive are cheating and breaking rules, especially if they
do it all the time.

Anger is often the response by those affected, and to a lesser extent those
who enforce norms, to systematic rule breaking, and accomplishes the two
things:

1) Unmistakably calling attention to the issue and oneself

2) Signaling a willingness to escalate to mutual loss if need be, if the
behavior persists

So, to say it’s driven by fear is too reductionist! It serves a major function
in human interactions. Consider Steve Jobs’ reaction when Google was going to
go ahead with the Android.

Finally, if you want to avoid anger in your own relationships, the key is to
hold people to a lower standard and expect less of them as ethical and
rational human beings. People find it hard to do because, to stop fighting
with someone, you have to greatly lower your respect them in certain areas.
But the funny thing is, they will often appreciate you for doing this, and
never wanted that respect! Not really, anyway.

~~~
paulryanrogers
As to relationships, consider that sometimes anger comes from others'
expectations of you. That isn't something easily changed, and accepting their
demanding ways may just enable bad behavior.

------
eadmund
> The difference is that holy wars are always about _platforms_ with network
> effects, and the indirect second-order effects are much more important than
> the first-order changes.

That is a _really_ insightful point. One think gwern doesn't dive into is that
someone _closer_ to one can cost one _more_. I get more annoyed when someone
tries to rewrite Emacs in Scheme than in Rust. The Rust programmer would
probably never have written Lisp code, but the Scheme programmer might have.
Likewise, someone who writes a neat extension for vim might have been willing
to write the same functionality for Emacs — but someone who extends Eclipse
would probably never have spent any time on Emacs.

It goes in the other direction in both cases, too!

~~~
thomastjeffery
The main reason vim users aren't writing elisp is mostly because they don't
want emacs.

Sure, they might really like the underlying functionality emacs has, but even
evil-mode can't completely hide emac's UI.

I wish there was an emacs with a totally user-defined UI, so some people could
configure their UI to feel like Vim, others like emacs, and others as
something completely different.

Sure, you can replace the default keymaps, but that only gets you so far. If
you go down this road (I have), it quickly becomes a futile effort to remove
the emacsness from your UI.

------
sitkack
Software is over coupled. Everything tries to be the platform and split the
user base, so it control the tribe, the resources of the tribe and the focus
of the tribe and most of the time, not intentionally.

~~~
kayodelycaon
Making things compatible without a common standard also has a cost. If
everything is text optimized for appearance in a terminal, then how do you
parse out the data to be used by a script?

The unix solution is offloading the complexity on the script, which makes all
scripts more difficult to write.

~~~
Kinrany
The solution is to have more common standards, make standards more accessible,
and use existing standards whenever possible.

~~~
webmaven
_> The solution is to have more common standards, make standards more
accessible, and use existing standards whenever possible._

"The great thing about standards is that there are so many to choose from. "

~~~
Kinrany
We don't need more interchangeable standards. We need standards for different
things.

The point in having standards is not to have the one ultimate standard that
everyone uses, but to have a documented way to interoperate at all without
interrogating the author or reverse-engineering.

------
fizixer
In addition, I've realized a big blind-spot in these holy wars is the
'familiarity' aspect:

\- Users of one platform have gotten used to it, have gotten over, or adapted
to some of the pain points, and/or have developed effective workarounds.
Having passed all those stages, their day-to-day interaction with that
platform is a state of comfort-zone. Call this mental state A.

\- When those users attempt to analyze or review a competing platform (which
is new to them since they haven't spent time using it), not only are they
uncomfortable with the overwhelm that comes from getting inundated with new
information, and having to process all of it, they're also keenly perceptive
of every "dot", "comma", "cross" that is, metaphorically, misplaced in that
competing platform, i.e., any deficiencies of the competing platform jump out
at them like a sore thumb. Call this mental state B.

Holy wars occur when users of two competing platform argue in favor of their
own platform from a mental state A, while attack the competing platform from a
mental state B.

~~~
mschuster91
Additionally, in "mental state B" it (the fresher/hipstery the project the
more) often appears that the documentation is either non existing or horribly
outdated, and same for any code samples on Stackoverflow.

------
comex
> People have ceased to debate Emacs vs vim not because any consensus was
> reached or either one disappeared, but because both are now such exceedingly
> niche editors that they are far more threatened by the giants like Visual
> Studio Code or Eclipse or Sublime Text.

Citation needed. From the latest Rust survey [1], Vim was in second place at
23.6%, behind only VS Code at 34.9%. Emacs was lower at 7%, but still beat
Sublime at 4.3%, and Eclipse doesn’t even show up on the list. Not that Rust
is representative of programming as a whole, but its results are still
probably more accurate than what seem to be anecdotal impressions of editor
popularity.

[1] [https://blog.rust-
lang.org/images/2020-03-RustSurvey/31-edit...](https://blog.rust-
lang.org/images/2020-03-RustSurvey/31-editor-using.svg)

~~~
shikoba
Check the editor stats for C, C++, Java, Python. Rust is a niche language
today.

~~~
dashesyan
OK I did. Results:

[https://i.imgur.com/D128c3T.png](https://i.imgur.com/D128c3T.png)

For developers who responded "I am a developer by profession" and used C, C++,
Java, and/or Python in their dev environment, VSCode tops VIM, which tops
Sublime, which tops Emacs. Every time!

Source: StackOverflow survey results from 2019. Looking at 65,679 responses
marked as "I am a developer by profession"
[https://insights.stackoverflow.com/survey](https://insights.stackoverflow.com/survey)

~~~
rjeli
...people write java in vim?

~~~
PeterisP
Some do, I know two people who write everything in vim and do so also when
working on Java code.

------
mola
What exactly is the author trying to explain? If he tries to explain _why_
these holy wars happen, his explanation is very lacking. He doesn't seems to
consider the psychology and emotions of the human participants. It's rather
strange trying to explain a human social phenomena without considering humans.
If he just tries to talk about how platforms compete and effect each other, as
abstract entities, i.e. a non social phenomena, then the title does not fit at
all.

~~~
zozbot234
OP is not trying to comprehensively explain the dynamics behind holy wars, but
simply to figure out why there are holy wars about some things and not others.
OP's answer (holy wars are about 'platforms' with sizeable network effects)
makes at least some kind of sense.

------
jondubois
I think dominance and control do play a part in tech holy wars but it's not
everything.

Power structures within tech communities ossify and the community itself can
regress in their abilities. And so this means that technologies can sometimes
get worse over time.

So that can create conflicts between old tech which is proven and reliable and
new tech which is not proven and can be unreliable.

------
mijoharas
Hey, if gwern swings by to see this discussion, fyi there is a small
formatting issue.

If you click the fnref for one of the footnotes[0] the quote it is referencing
gets cut off and isn't readable anymore (but is correctly formatted
beforehand).

[0] [https://www.gwern.net/Holy-wars#fnref2](https://www.gwern.net/Holy-
wars#fnref2)

~~~
privong
It might be worthwhile to shoot Gwern an email:
[https://www.gwern.net/Links#contact](https://www.gwern.net/Links#contact)

------
thomastjeffery
Platform is one major problem space.

Another is interface. There are plenty of people who would love to use Vim,
but simply don't like the keybindings. Same for emacs, every window
manager/desktop environment, etc.

For no reason in particular, we tend to very tightly couple functionality to
interface. We could avoid an awful lot of duplicated work if we factored UI
out of tooling, and made it more user-definable.

------
foobar_
Is this not a brand loyalty thing ?

~~~
dfgdghdf
It is more than brand loyalty. Technologies (particularly programming
languages) shape your thoughts and the way your mind structures solutions.
This makes it particularly hard to admit when your pet technology is lacking;
you are also disparaging yourself! It is tough (impossible?) to be detached in
such technical discussions unless you are very familiar with neither or both
of the alternatives being considered.

~~~
chasd00
that's very true, a programming language you've mastered begins to influence
the way you think and becomes part of your identity. A criticism of the
language becomes a criticism of yourself which is very uncomfortable. The only
other thing I can think of, off the top of my head, that gets ingrained the
same way is politics.

