5 ms·
Technology Holy Wars Are Coordination Problems
- sitkack 6y agoSoftware 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.
- szszrk 6y agoThat's a dense and well put thought. It makes me think of all those bloody systemd flamewars vs all the time I've seen here people praising unix pipes and standard unix tools as the perfect aproach to microservices. Platforms does indeed split the user base...
- kayodelycaon 6y agoMaking 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 6y agoThe solution is to have more common standards, make standards more accessible, and use existing standards whenever possible.
- webmaven 6y ago> 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 6y agoWe 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.
- comex 6y ago> 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-editor-using.svg https://blog.rust-lang.org/images/2020-03-RustSurvey/31-edit...
- shikoba 6y agoCheck the editor stats for C, C++, Java, Python. Rust is a niche language today.
- skocznymroczny 6y agoYes, certain programming languages are biased towards certain editors. Java users will overwhelmingly use Netbeans/Eclipse/IntelliJ, C# users will overwhelmingly use Visual Studio, Lisp users will flock towards Emacs.
- dashesyan 6y agoOK 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
- RHSeeger 6y agoTo be fair, there's a bit of ambiguity in what question is being discussed. 1. What development environment do you use most (IDE)? 2. What editor do you use most? 3. What editor(s) do you use regularly? Personally, my day job currently has me working in Java, and I use IntelliJ for that. However, I use Emacs on a daily basis _as an editor_; especially in the case where I need to look at, move around, and manipulate files quickly. If I had to pick one of them to keep and one to give up... I would be sad, because the fill different roles.
- foobar_ 6y agoIs this not a brand loyalty thing ?
- dfgdghdf 6y agoIt 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 6y agothat'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.
- fizixer 6y agoIn 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 6y agoAdditionally, 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.
- mola 6y agoWhat 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 6y agoOP 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.
- amadeuspagel 6y agoEmotions aren't random. To explain how someone suffers from something does explain his anger.
- leoedin 6y agoThe 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 6y agoI'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 6y agoIt's not much of a rhetorical trick - anger for unfair treatment is driven by a fear of loss of power, status and control.
- bryanrasmussen 6y agoyeah 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?
- jondubois 6y agoI 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.
- eadmund 6y ago> 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!
- eadmund 6y ago> one thing gwern doesn't Sigh, caught it just after the edit window closed!
- thomastjeffery 6y agoThe 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.
- mijoharas 6y agoHey, 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 6y agoIt might be worthwhile to shoot Gwern an email: https://www.gwern.net/Links#contact https://www.gwern.net/Links#contact
- thomastjeffery 6y agoPlatform 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.