[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-4OVCgQowhFInLwgY15AgbDW_uJJlQx-EtLwajuQnZv0":3,"sanity-PsFuFebUKQwG1OAszA4-18qRKWP5-K0nDsH7-kGtuOU":464},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":439},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"f83eb5f0-1237-487f-84d8-f7abf2318c39","2026-06-25T07:40:00.000Z",{"_type":10,"current":11},"slug","code-isnt-causing-your-production-failures",null,"Code isn’t the only thing causing your production failures",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":73,"comments":405,"dateUrl":406,"excerpt":407,"image":408,"legacyBody":411,"product":12,"publishedAt":414,"slug":415,"sponsored":12,"tags":417,"title":438,"visible":405},"2023-05-25T09:39:17Z","wp-post-16925","07ZbrKPSUrjrV4wQ6fIpan","blogPost","2023-07-13T14:55:49Z",[46,62],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"bio":57,"employee":58,"name":59,"slug":60},"2023-05-23T16:27:18Z","wp-author-cap-16900","07ZbrKPSUrjrV4wQ6fDpaa","blogAuthor","2023-06-20T15:05:10Z",{"_type":53,"asset":54},"image",{"_ref":55,"_type":56},"image-b65a9536ad43347c411f0c48450289ed207aecdd-400x458-jpg","reference","John Biggs is an entrepreneur, consultant, writer, and maker. He spent fifteen years as an editor for Gizmodo, CrunchGear, and TechCrunch and has a deep background in hardware startups, 3D printing, and blockchain","none","John Biggs",{"current":61},"john-biggs",{"_createdAt":47,"_id":63,"_rev":64,"_type":50,"_updatedAt":65,"avatar":66,"employee":69,"name":70,"slug":71},"wp-author-226","dgl3SCUzppW3U2LvCoOzcS","2023-06-20T15:05:06Z",{"_type":53,"asset":67},{"_ref":68,"_type":56},"image-56688f6337dd0a96034dfc998cdecc7810597d81-1024x1024-png","current","Ryan Donovan",{"current":72},"rdonovan",[74,108,138,168,177,205,224,232,240,281,289,297,316,324,343,351,389,397],{"_key":75,"_type":76,"children":77,"markDefs":101,"style":107},"2669928b5a42","block",[78,83,88,92,97],{"_key":79,"_type":80,"marks":81,"text":82},"2669928b5a420","span",[],"Developers are a finicky bunch. Like a dog refusing to walk on wet grass, there always seemed to be a bit of resistance to changing up a routine. We love what we grew up with, be it Star Trek jokes, ",{"_key":84,"_type":80,"marks":85,"text":87},"2669928b5a421",[86],"67e0ab06691f","Vim",{"_key":89,"_type":80,"marks":90,"text":91},"2669928b5a422",[],", or ",{"_key":93,"_type":80,"marks":94,"text":96},"2669928b5a423",[95],"33cb3fc042c9","Emacs",{"_key":98,"_type":80,"marks":99,"text":100},"2669928b5a424",[],".",[102,105],{"_key":86,"_type":103,"href":104,"reference":12},"link","https://www.vim.org/",{"_key":95,"_type":103,"href":106,"reference":12},"https://www.gnu.org/software/emacs/","normal",{"_key":109,"_type":76,"children":110,"markDefs":133,"style":107},"6fc7953e1f05",[111,115,120,124,129],{"_key":112,"_type":80,"marks":113,"text":114},"6fc7953e1f050",[],"The origins of",{"_key":116,"_type":80,"marks":117,"text":119},"6fc7953e1f051",[118],"cd3a02b12ea4"," this war",{"_key":121,"_type":80,"marks":122,"text":123},"6fc7953e1f052",[]," harken back to Usenet groups in the 1980s, a time when Vi and Emacs were the primary tools used for coding. Emacs, as we well know, is a “maze of twisty little passages, all different,” (an old programmer’s joke that came from the game ",{"_key":125,"_type":80,"marks":126,"text":128},"6fc7953e1f053",[127],"39a570fc8fd6","Colossal Cave Adventure",{"_key":130,"_type":80,"marks":131,"text":132},"6fc7953e1f054",[],") while Vim (and Vi before it) offers an arrow-controlled universe of keyboard shortcuts. Both are used in coding, editing, and administering systems. And, though we hate to say it, both have reached a point where neither seems to really want to fade off into the sunset.",[134,136],{"_key":118,"_type":103,"href":135,"reference":12},"https://blog.sourcerer.io/vim-emacs-and-their-forever-war-does-it-even-matter-any-more-697b1322d510",{"_key":127,"_type":103,"href":137,"reference":12},"https://en.wikipedia.org/wiki/Colossal_Cave_Adventure",{"_key":139,"_type":76,"children":140,"markDefs":163,"style":107},"1309569ce6db",[141,145,150,154,159],{"_key":142,"_type":80,"marks":143,"text":144},"1309569ce6db0",[],"The",{"_key":146,"_type":80,"marks":147,"text":149},"1309569ce6db1",[148],"8eb4af4ef5c6"," endless war",{"_key":151,"_type":80,"marks":152,"text":153},"1309569ce6db2",[]," between Vim and Emacs users has continued ad nauseam over the",{"_key":155,"_type":80,"marks":156,"text":158},"1309569ce6db3",[157],"d9e5aabf2940"," years",{"_key":160,"_type":80,"marks":161,"text":162},"1309569ce6db4",[],". It's less a war at this point than a grumbling shuffle of ingrained habit and stubborn resistance to change. Vim and Emacs users, once at each other's throats, seem to have implemented each other's keybindings (a thing they actually do) to take on a common enemy — any modern IDE.",[164,166],{"_key":148,"_type":103,"href":165,"reference":12},"https://unix.stackexchange.com/questions/986/what-are-the-pros-and-cons-of-vim-and-emacs",{"_key":157,"_type":103,"href":167,"reference":12},"https://stackoverflow.com/questions/1430164/differences-between-emacs-and-vim",{"_key":169,"_type":76,"children":170,"markDefs":175,"style":176},"dd403703df45",[171],{"_key":172,"_type":80,"marks":173,"text":174},"dd403703df450",[],"Vim: The high availability IDE",[],"h2",{"_key":178,"_type":76,"children":179,"markDefs":202,"style":107},"145cba40e37b",[180,184,189,193,198],{"_key":181,"_type":80,"marks":182,"text":183},"145cba40e37b0",[],"The consensus among many Vim/Emacs users creates a picture many tech users from a ",{"_key":185,"_type":80,"marks":186,"text":188},"145cba40e37b1",[187],"em","certain generation",{"_key":190,"_type":80,"marks":191,"text":192},"145cba40e37b2",[]," would be familiar with. As my father would attest, using his Microsoft Zune long after its support ran out, if it ain't broke... While there are",{"_key":194,"_type":80,"marks":195,"text":197},"145cba40e37b3",[196],"b3eae102f7a1"," many IDEs on the market",{"_key":199,"_type":80,"marks":200,"text":201},"145cba40e37b4",[],", there's no reason to use one if you don't have to use one. It's the same reason I am still using Notepad to compose and not some fancy text editor or CMS tool. It just works.",[203],{"_key":196,"_type":103,"href":204,"reference":12},"https://stackify.com/top-integrated-developer-environments-ides/",{"_key":206,"_type":76,"children":207,"markDefs":221,"style":107},"17904f3b74fd",[208,212,217],{"_key":209,"_type":80,"marks":210,"text":211},"17904f3b74fd0",[],"\"The reason I avoided IDEs to begin with was that back when I was getting into Vim, like a decade ago, it was an extra license to look into,\" says Vim user",{"_key":213,"_type":80,"marks":214,"text":216},"17904f3b74fd1",[215],"3a01bdb00798"," John Carter (not of Mars).",{"_key":218,"_type":80,"marks":219,"text":220},"17904f3b74fd2",[]," \"Since then it’s become a question of 'code speed.' If I start with a new IDE or even switch to something like Emacs, I’ll slow down. On an emotional and professional level, I can’t really afford that. It takes energy to pivot to a new editor. I don’t have that energy. I got the job, a family, and side projects. It seems silly but that kind of pivot takes energy.\"",[222],{"_key":215,"_type":103,"href":223,"reference":12},"https://twitter.com/johnhexcarter",{"_key":225,"_type":76,"children":226,"markDefs":231,"style":107},"8d85b5b1d0ed",[227],{"_key":228,"_type":80,"marks":229,"text":230},"8d85b5b1d0ed0",[],"Vim is always available. Any Linux machine has it. Vim has a small footprint, low latency, fast startup, allows for more screen space, customizable and most importantly, once the muscle-memory has been ingrained, it's nearly impossible to switch to something else.",[],{"_key":233,"_type":76,"children":234,"markDefs":239,"style":107},"3d3ff578bd61",[235],{"_key":236,"_type":80,"marks":237,"text":238},"3d3ff578bd610",[],"Continues Carter: \"Our fingers are often the bottleneck between thinking up code and getting it in the app, so that’s where folks look to optimize shortcuts.\"",[],{"_key":241,"_type":76,"children":242,"markDefs":274,"style":107},"545b94e2285a",[243,247,252,256,261,265,270],{"_key":244,"_type":80,"marks":245,"text":246},"545b94e2285a0",[],"Take",{"_key":248,"_type":80,"marks":249,"text":251},"545b94e2285a1",[250],"54bfd0a7b89b"," Atom",{"_key":253,"_type":80,"marks":254,"text":255},"545b94e2285a2",[],", one of the more popular IDEs/editors. Atom is a free, open-source text editor that bills itself as being \"hackable to the core,\" allowing for multiple customizations. It has cross-platform editing, four UIs, eight syntax themes and integrates with HTML, JavaScript, CSS, and Node.js. Most importantly for users who didn't start coding in the last five years, there is a",{"_key":257,"_type":80,"marks":258,"text":260},"545b94e2285a3",[259],"5372edad3574"," Vim Mode package",{"_key":262,"_type":80,"marks":263,"text":264},"545b94e2285a4",[],". This has led users to literally",{"_key":266,"_type":80,"marks":267,"text":269},"545b94e2285a5",[268],"d55f1ed45935"," turn Atom into Vim",{"_key":271,"_type":80,"marks":272,"text":273},"545b94e2285a6",[],", unable to let go of the past, unwilling to fully embrace the future of code editing.",[275,277,279],{"_key":250,"_type":103,"href":276,"reference":12},"https://atom.io/",{"_key":259,"_type":103,"href":278,"reference":12},"https://atom.io/packages/vim-mode",{"_key":268,"_type":103,"href":280,"reference":12},"https://medium.com/team40/how-i-made-atom-into-vim-3717b6d50822",{"_key":282,"_type":76,"children":283,"markDefs":288,"style":107},"bb11a1006e3a",[284],{"_key":285,"_type":80,"marks":286,"text":287},"bb11a1006e3a0",[],"Most IDEs create entire worlds where developers can create, but creating requires configuration. It takes time to adjust that world, to play god, to create shortcuts and hotkeys, to get used to different command structures and UI. While a coder could sit down at any terminal and begin working in Vim, that isn't true for any IDE. Further, IDEs are often too much tool for the job. Beginning programmers are much better served by simple text editors vs. massive programming behemoths.",[],{"_key":290,"_type":76,"children":291,"markDefs":296,"style":107},"cceca81451be",[292],{"_key":293,"_type":80,"marks":294,"text":295},"cceca81451be0",[],"As coders' careers evolve less through their expertise than who is signing their paychecks, there is always a constant code editor available to them regardless of which IDE the company prefers. It could be seen as an act of willful defiance or just personal preference, but text editors are always there.",[],{"_key":298,"_type":76,"children":299,"markDefs":313,"style":107},"0d7fe1c3bf9f",[300,304,309],{"_key":301,"_type":80,"marks":302,"text":303},"0d7fe1c3bf9f0",[],"\"Primarily it's about ubiquity,\" says",{"_key":305,"_type":80,"marks":306,"text":308},"0d7fe1c3bf9f1",[307],"503086a6c57f"," BSD runner",{"_key":310,"_type":80,"marks":311,"text":312},"0d7fe1c3bf9f2",[]," Tim Chase. \"I can sit at any Unix-like terminal (Linux, BSD, Solaris, whatever), type 'vi' (or 'ed') and have a powerful editor that works even if my terminal isn't configured quite right (e.g. sending certain keys or key combos) and without needing to install anything.\"",[314],{"_key":307,"_type":103,"href":315,"reference":12},"https://runbsd.info/people/gumnos.html",{"_key":317,"_type":76,"children":318,"markDefs":323,"style":176},"fd77bd9ff663",[319],{"_key":320,"_type":80,"marks":321,"text":322},"fd77bd9ff6630",[],"Familiar and comfortable",[],{"_key":325,"_type":76,"children":326,"markDefs":340,"style":107},"b1d3786bdcf2",[327,331,336],{"_key":328,"_type":80,"marks":329,"text":330},"b1d3786bdcf20",[],"It's this type of comfort that has kept whatever perceived war between those still using Vim or Emacs and the prospect of using IDEs going for as long as it has. It’s mental ",{"_key":332,"_type":80,"marks":333,"text":335},"b1d3786bdcf21",[334],"95d27f54ba63","mom’s spaghetti",{"_key":337,"_type":80,"marks":338,"text":339},"b1d3786bdcf22",[]," (or insert your comfort food here). Vim and Emacs are always there for you, cozy, calm and willing. While an IDE is some weird new food with all kinds of exotic ingredients that requires tenacious and irrational picking with the fork to get it just the way you want it. The disconnect is apparent and, at this point, understandable.",[341],{"_key":334,"_type":103,"href":342,"reference":12},"https://www.youtube.com/watch?v=SW-BU6keEUw",{"_key":344,"_type":76,"children":345,"markDefs":350,"style":107},"d6dbae7eacb3",[346],{"_key":347,"_type":80,"marks":348,"text":349},"d6dbae7eacb30",[],"There is some shiver of recognition among developers though that perhaps switching to a full IDE is not as unbearable as it sounds. There is a resignation in finally realizing that in order to do the job, you use the tools available to do the job, no matter what those tools may be.",[],{"_key":352,"_type":76,"children":353,"markDefs":384,"style":107},"ed1ecb5c2984",[354,358,362,366,371,375,380],{"_key":355,"_type":80,"marks":356,"text":357},"ed1ecb5c29840",[],"“I say, whatever helps you get your job done, use that,” says ",{"_key":359,"_type":80,"marks":360,"text":361},"ed1ecb5c29841",[187],"not that",{"_key":363,"_type":80,"marks":364,"text":365},"ed1ecb5c29842",[]," ",{"_key":367,"_type":80,"marks":368,"text":370},"ed1ecb5c29843",[369],"f78c7df8cb7d","Tom Hanks.",{"_key":372,"_type":80,"marks":373,"text":374},"ed1ecb5c29844",[]," “Sometimes the more modern IDEs can get in the way, other times they are indispensable. ",{"_key":376,"_type":80,"marks":377,"text":379},"ed1ecb5c29845",[378],"f52f00eb652c","Visual Studio",{"_key":381,"_type":80,"marks":382,"text":383},"ed1ecb5c29846",[],", for example, has massive performance issues when there are too many files associated with a project file. The entire application becomes very sluggish. A few years ago when I used PyCharm for Python development, it would sometimes become ‘confused’ and give bad feedback on its syntax analysis. Basically, it was making you think you had made a mistake when in fact everything was ‘fine.’”",[385,387],{"_key":369,"_type":103,"href":386,"reference":12},"https://twitter.com/tombatron",{"_key":378,"_type":103,"href":388,"reference":12},"https://code.visualstudio.com/",{"_key":390,"_type":76,"children":391,"markDefs":396,"style":107},"2034c9c5858b",[392],{"_key":393,"_type":80,"marks":394,"text":395},"2034c9c5858b0",[],"That said, if you’re new to programming, a modern IDE could be helpful. With code completion, Git control, and even automatic deployment systems, modern IDEs are a Swiss Army Knife of features. And, like most Swiss Army Knives, you don’t have to use all the features to find them useful, especially if you’re just starting out. Many of us won’t use, say, the hole punch or the toothpick, but it’s nice to know it's there.",[],{"_key":398,"_type":76,"children":399,"markDefs":404,"style":107},"dd60f1994b91",[400],{"_key":401,"_type":80,"marks":402,"text":403},"dd60f1994b910",[],"Whatever war might be raging behind the screens of coders between Vim, Emacs, and IDEs really doesn’t matter. Vim and Emacs aren’t going anywhere anytime soon, no matter their antiquated status in modern development environments. IDEs will keep improving, keep launching, and serve an ever-growing segment of young developers who were never forced to thrive in Vim or Emacs environments. The best advice to anyone struggling with choosing a preferred program is to just use the tools available to get the job done. Or, as the popular 20th century poets TLC so deftly declared, “Don’t go chasing waterfalls, please stick to the Vims and Emacs that you’re used to.”",[],true,"2020/11/09","The endless war between Vim and Emacs users has continued ad nauseam over the years. It's less a war at this point than a grumbling shuffle of ingrained habit and stubborn resistance to change.",{"_type":53,"asset":409},{"_ref":410,"_type":56},"image-1fc8f572926312143e6c7169bc3f6cfe3ce836e6-1199x748-jpg",{"code":412,"language":413},"\u003C!-- wp:paragraph -->\n\u003Cp>Developers are a finicky bunch. Like a dog refusing to walk on wet grass, there always seemed to be a bit of resistance to changing up a routine. We love what we grew up with, be it Star Trek jokes, \u003Ca href=\"https://www.vim.org/\">Vim\u003C/a>, or \u003Ca href=\"https://www.gnu.org/software/emacs/\">Emacs\u003C/a>.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The origins of\u003Ca href=\"https://blog.sourcerer.io/vim-emacs-and-their-forever-war-does-it-even-matter-any-more-697b1322d510\"> this war\u003C/a> harken back to Usenet groups in the 1980s, a time when Vi and Emacs were the primary tools used for coding. Emacs, as we well know, is a “maze of twisty little passages, all different,” (an old programmer’s joke that came from the game \u003Ca href=\"https://en.wikipedia.org/wiki/Colossal_Cave_Adventure\">Colossal Cave Adventure\u003C/a>) while Vim (and Vi before it) offers an arrow-controlled universe of keyboard shortcuts. Both are used in coding, editing, and administering systems. And, though we hate to say it, both have reached a point where neither seems to really want to fade off into the sunset.&nbsp;\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The\u003Ca href=\"https://unix.stackexchange.com/questions/986/what-are-the-pros-and-cons-of-vim-and-emacs\"> endless war\u003C/a> between Vim and Emacs users has continued ad nauseam over the\u003Ca href=\"https://stackoverflow.com/questions/1430164/differences-between-emacs-and-vim\"> years\u003C/a>. It's less a war at this point than a grumbling shuffle of ingrained habit and stubborn resistance to change. Vim and Emacs users, once at each other's throats, seem to have implemented each other's keybindings (a thing they actually do) to take on a common enemy — any modern IDE.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-vim-the-high-availability-ide\">Vim: The high availability IDE\u003C/h2>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The consensus among many Vim/Emacs users creates a picture many tech users from a \u003Cem>certain generation\u003C/em> would be familiar with. As my father would attest, using his Microsoft Zune long after its support ran out, if it ain't broke... While there are\u003Ca href=\"https://stackify.com/top-integrated-developer-environments-ides/\"> many IDEs on the market\u003C/a>, there's no reason to use one if you don't have to use one. It's the same reason I am still using Notepad to compose and not some fancy text editor or CMS tool. It just works.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\"The reason I avoided IDEs to begin with was that back when I was getting into Vim, like a decade ago, it was an extra license to look into,\" says Vim user\u003Ca href=\"https://twitter.com/johnhexcarter\"> John Carter (not of Mars).\u003C/a> \"Since then it’s become a question of 'code speed.' If I start with a new IDE or even switch to something like Emacs, I’ll slow down. On an emotional and professional level, I can’t really afford that. It takes energy to pivot to a new editor. I don’t have that energy. I got the job, a family, and side projects. It seems silly but that kind of pivot takes energy.\"\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Vim is always available. Any Linux machine has it. Vim has a small footprint, low latency, fast startup, allows for more screen space, customizable and most importantly, once the muscle-memory has been ingrained, it's nearly impossible to switch to something else.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Continues Carter: \"Our fingers are often the bottleneck between thinking up code and getting it in the app, so that’s where folks look to optimize shortcuts.\"\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Take\u003Ca href=\"https://atom.io/\"> Atom\u003C/a>, one of the more popular IDEs/editors. Atom is a free, open-source text editor that bills itself as being \"hackable to the core,\" allowing for multiple customizations. It has cross-platform editing, four UIs, eight syntax themes and integrates with HTML, JavaScript, CSS, and Node.js. Most importantly for users who didn't start coding in the last five years, there is a\u003Ca href=\"https://atom.io/packages/vim-mode\"> Vim Mode package\u003C/a>. This has led users to literally\u003Ca href=\"https://medium.com/team40/how-i-made-atom-into-vim-3717b6d50822\"> turn Atom into Vim\u003C/a>, unable to let go of the past, unwilling to fully embrace the future of code editing.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:block {\"ref\":17977} /-->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Most IDEs create entire worlds where developers can create, but creating requires configuration. It takes time to adjust that world, to play god, to create shortcuts and hotkeys, to get used to different command structures and UI. While a coder could sit down at any terminal and begin working in Vim, that isn't true for any IDE. Further, IDEs are often too much tool for the job. Beginning programmers are much better served by simple text editors vs. massive programming behemoths.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>As coders' careers evolve less through their expertise than who is signing their paychecks, there is always a constant code editor available to them regardless of which IDE the company prefers. It could be seen as an act of willful defiance or just personal preference, but text editors are always there.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\"Primarily it's about ubiquity,\" says\u003Ca href=\"https://runbsd.info/people/gumnos.html\"> BSD runner\u003C/a> Tim Chase. \"I can sit at any Unix-like terminal (Linux, BSD, Solaris, whatever), type 'vi' (or 'ed') and have a powerful editor that works even if my terminal isn't configured quite right (e.g. sending certain keys or key combos) and without needing to install anything.\"\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-familiar-and-comfortable\">Familiar and comfortable\u003C/h2>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>It's this type of comfort that has kept whatever perceived war between those still using Vim or Emacs and the prospect of using IDEs going for as long as it has. It’s mental \u003Ca href=\"https://www.youtube.com/watch?v=SW-BU6keEUw\">mom’s spaghetti\u003C/a> (or insert your comfort food here). Vim and Emacs are always there for you, cozy, calm and willing. While an IDE is some weird new food with all kinds of exotic ingredients that requires tenacious and irrational picking with the fork to get it just the way you want it. The disconnect is apparent and, at this point, understandable.&nbsp;\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>There is some shiver of recognition among developers though that perhaps switching to a full IDE is not as unbearable as it sounds. There is a resignation in finally realizing that in order to do the job, you use the tools available to do the job, no matter what those tools may be.&nbsp;\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>“I say, whatever helps you get your job done, use that,” says \u003Cem>not that\u003C/em> \u003Ca href=\"https://twitter.com/tombatron\">Tom Hanks.\u003C/a> “Sometimes the more modern IDEs can get in the way, other times they are indispensable. \u003Ca href=\"https://code.visualstudio.com/\">Visual Studio\u003C/a>, for example, has massive performance issues when there are too many files associated with a project file. The entire application becomes very sluggish. A few years ago when I used PyCharm for Python development, it would sometimes become ‘confused’ and give bad feedback on its syntax analysis. Basically, it was making you think you had made a mistake when in fact everything was ‘fine.’”\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>That said, if you’re new to programming, a modern IDE could be helpful. With code completion, Git control, and even automatic deployment systems, modern IDEs are a Swiss Army Knife of features. And, like most Swiss Army Knives, you don’t have to use all the features to find them useful, especially if you’re just starting out. Many of us won’t use, say, the hole punch or the toothpick, but it’s nice to know it's there.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Whatever war might be raging behind the screens of coders between Vim, Emacs, and IDEs really doesn’t matter. Vim and Emacs aren’t going anywhere anytime soon, no matter their antiquated status in modern development environments. IDEs will keep improving, keep launching, and serve an ever-growing segment of young developers who were never forced to thrive in Vim or Emacs environments. The best advice to anyone struggling with choosing a preferred program is to just use the tools available to get the job done. Or, as the popular 20th century poets TLC so deftly declared, “Don’t go chasing waterfalls, please stick to the Vims and Emacs that you’re used to.”\u003C/p>\n\u003C!-- /wp:paragraph -->","html","2020-11-09T15:21:36.000Z",{"current":416},"modern-ide-vs-vim-emacs",[418,426,430,434],{"_createdAt":419,"_id":420,"_rev":421,"_type":422,"_updatedAt":419,"slug":423,"title":425},"2023-05-23T16:43:21Z","wp-tagcat-code-for-a-living","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":424},"code-for-a-living","Code for a Living",{"_createdAt":419,"_id":427,"_rev":421,"_type":422,"_updatedAt":419,"slug":428,"title":429},"wp-tagcat-emacs",{"current":429},"emacs",{"_createdAt":419,"_id":431,"_rev":421,"_type":422,"_updatedAt":419,"slug":432,"title":433},"wp-tagcat-ide",{"current":433},"ide",{"_createdAt":419,"_id":435,"_rev":421,"_type":422,"_updatedAt":419,"slug":436,"title":437},"wp-tagcat-vim",{"current":437},"vim","Modern IDEs are magic. Why are so many coders still using Vim and Emacs?",[440,446,452,458],{"_id":441,"publishedAt":442,"slug":443,"sponsored":12,"title":445},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":444},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":447,"publishedAt":448,"slug":449,"sponsored":12,"title":451},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":450},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":453,"publishedAt":454,"slug":455,"sponsored":12,"title":457},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":456},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":459,"publishedAt":460,"slug":461,"sponsored":12,"title":463},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":462},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":465,"sourceMap":-1},{"count":466,"lastTimestamp":467},306,"2025-05-07T14:16:30Z"]