this post was submitted on 23 Jan 2026
496 points (92.3% liked)

Programmer Humor

28738 readers
2025 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] mfed1122@discuss.tchncs.de 30 points 2 days ago* (last edited 1 day ago) (13 children)

I have never seen or known a serious professional who preferred to work outside of a full featured IDE. All the most skilled and highest paid developers I've ever known were more adamant about using the IDE when compared to the less skilled developers who preferred to do things more via command line and text editors. Just my experience. I often suspect that this meme is shared and liked by people who aren't really professionals. Perhaps I just haven't encountered them yet.

Edit: It seems I indeed haven't encountered them! Although I do stand by my original point to the extent that it seems there are disciplines where IDEs are best and disciplines where they aren't. I enjoyed reading everyone's responses and thinking about areas of software that I don't usually think about. It's given me lots to look into. Thanks everyone who responded nicely! Also, I definitely did not mean to imply that specialists working without IDEs are amateurs or anything like that! Much respect to everyone out there making software.

[–] Machinist@lemmy.world 3 points 1 day ago

I often code directly on the machine control, including single blocking a running program and adding a line while the program is paused.

Editor on older CNC machines usually doesn't even do lowercase and often has limited alphabet keys. Think '80s green or amber screen.

A machinist's coding workflow can be real fucky. I go from CAM which is like a highly complex visual programming IDE to notepad. If I'm being fancy I use notepad++ for syntax highlights and diff'ing.

[–] coriza@lemmy.world 8 points 1 day ago* (last edited 1 day ago) (1 children)

Just for reference, because programming is not one big tent, as far as I know most people working professionally developing for the Linux kernel, gcc and glic uses only a text editor and "Unix as your IDE". I never tried myself but I have a feeling that any IDE with git integration would just immediately cry trying to interact with the kernel or gcc git repo. Even gits own PS1 status feature slows to crawl in this repos.

[–] CookieOfFortune@lemmy.world 5 points 1 day ago

The largest repos in the world are monorepos (the major tech companies). IDEs can handle those codebases just fine (might be modified).

[–] Corbin@programming.dev 12 points 1 day ago (2 children)

So, you've never known any Unix hackers? I worked for a student datacenter when I was at university, and we were mostly vim users; as far as text-editor diversity, we did have one guy who was into emacs and another who preferred nano. After that, I went to work at Google, where I continued to use vim. As far as fancy IDE features, I do use syntax highlighting and I know how to use the spell checker but I don't use autocomplete. I've heard of neovim but don't have a good reason to try it out yet; maybe next decade?

[–] mfed1122@discuss.tchncs.de 3 points 1 day ago (1 children)

I admit I haven't known any Unix hackers! I guess my type of work had me assuming they would still prefer an IDE. What is it about this kind of development that makes you prefer text editors, if you don't mind my asking?

[–] Corbin@programming.dev 1 points 2 hours ago

I think that there are two pieces to it. There's tradition, of course, but I don't think that that's a motive. Also, some folks will argue that not taking hands off the keyboard, not going to a mouse, is an advantage; I'm genuinely not sure about that. Finally, I happen to have decent touch typing; this test tells me 87 WPM @ 96% accuracy.

First, I don't spend that much time at the text editor. Most of my time is either at a whiteboard, synchronizing designs and communicating with coworkers, or reading docs. I'd estimate that maybe 10-20% of my time is editing text. Moreover, when I'm writing docs or prose, I don't need IDE features at all; at those times, I enable vim's spell check and punch the keys, and I'd like my text editor to not get in the way. In general, I think of programming as Naur's theory-building process, and I value my understanding of the system (or my user's understanding, etc.) over any computer-rendered view of the system.

Second, when I am editing text, I have a planned series of changes that I want to make. Both Emacs and vim descend from lineages of editors (TECO and ed respectively) which are built out of primitive operations on text buffers. Both editors allow macro-instructions, today called macros, which are programmable sequences of primitive operations. In vim, actions like reflowing a paragraph (gqap) or deleting everything up to the next semicolon and switching to insert mode (ct;) are actually sentences of a vim grammar which has its own verbs and nouns.

As a concrete example, I'm currently hacking Linux kernel because I have some old patches that I am forward-porting. From the outside, my workflow looks like staring out the window for several minutes, opening vim and editing less than one line over the course of about twenty seconds, and restarting a kernel build. From the inside, I read the error message from the previous kernel build, jump to the indicated line in vim with g, and edit it to not have an error. Most of my time is spent ~~legitimately slacking~~ multitasking. This is how we bring up hardware for the initial boot and driver development too.

Third! This isn't universal for Linux hackers. I make programming languages. Right now, I'm working with a Smalltalk-like syntax which compiles to execline. There's no IDE for execline and Smalltalks famously invented self-hosted IDEs, so there's no existing IDE which magically can assist me; I'd have to create my own IDE. With vim, I can easily reuse existing execline and Smalltalk syntax highlighting, which is all I really want for code legibility. This lets me put most of my time where it should go: thinking about possibilities and what could be done next.

[–] Barbarian@sh.itjust.works 4 points 1 day ago* (last edited 1 day ago)

I'm one of those nano weirdos. I mean, I get why people use vi/vim, but I'm a lazy man who has the nano shortcuts hardwired into my muscle memory. It's definitely not as full-featured as vim, but it does what I need it to do quickly and easily. If I need to just quickly drop into a file and do a find/replace, takes me maybe 3 seconds.

Also, to share an ancient joke from the dawn of computing: emacs is a great OS, I just hope someone makes a decent text editor for it eventually.

[–] AbsolutePain@lemmy.world 10 points 1 day ago (1 children)

I know more than one person (I think 4, including me) who code for a living and essentially live in tmux.

[–] CeeBee_Eh@lemmy.world 1 points 1 day ago (1 children)

Ok, seriously question. How does one go from using a full featured IDE like Jetbrains' stuff to something like neovim? Every time I've tried I've lost patience. I do use vim itself all the time (it might even be multiple times each hour). But I can't seem to bridge that gap to do full development in it.

For context, my day job involves working on a fairly large C#/Angular codebase that extremely messy, poorly laid out, and in constant need of fixing.

My side project is a somewhat small, but rapidly growing, rust application.

[–] AbsolutePain@lemmy.world 1 points 1 day ago (2 children)

Writing the code itself is very similar to using an IDE: with very little config effort, you have stuff like autocomplete, syntax highlighting, LSP errors, function signature hints, 'jump to definition', git integration, etc. Moving around is just a matter of building up the muscle memory. Finding things across the codebase is also easy with tools like fzf and Ag.

Like IDE users often do, executing and building the code can be done through the command line.

More complex operations like refactoring are where IDEs have neovim beaten by a mile. Although I haven't spent time researching it, I don't know if it's possible to have that kind of advanced functionality within neovim.

With recent AI tools (a lot of which, at the end of the day, are CLI tools), the delta between neovim and a full IDE has shrunk further because (for better or worse, probably for worse) people are doing less of the actual coding.

[–] CeeBee_Eh@lemmy.world 2 points 23 hours ago

Writing the code itself is very similar to using an IDE: with very little config effort, you have stuff like autocomplete, syntax highlighting, LSP errors, function signature hints, 'jump to definition', git integration, etc

I get that. What I'm referring to is the process of "getting used to" neovim. Every time I've tried it, I end up reverting back to an IDE because I'm faster there due to familiarity and comfort.

With recent AI tools (a lot of which, at the end of the day, are CLI tools), the delta between neovim and a full IDE has shrunk further because (for better or worse, probably for worse) people are doing less of the actual coding.

I wouldn't be so sure. I've been using various LLM coding agents on my personal project as a way to not do the boilerplate stuff (since I have very little free time), and my biggest takeaway is that outside of smaller snippets I don't want them touching anything else. I've had so many instances where they completely change up a struct (by removing members and adding completely new ones) for zero reason. Other times I give explicit instructions to not change a specific file or remove specific variables, and it just does it anyways.

The real issue is that LLMs are incapable of considering the larger picture at a conceptual level, and frequently introduce new bugs.

The one place I will say I have found LLMs the most useful is writing HTML/CSS/JS. I personally don't like writing those and LLMs seem to be best at that.

The few times I've had an agent refactor larger portions of code resulted in the code being barfed out in a way that took me more time to untangle and clean up, than if I just did the refactor myself.

[–] waldfee@feddit.org 1 points 22 hours ago

Im using helix and currently work in a go-project. The lsp for go actually works quite well, and offers actions like turning an if-block around or modernizing certain code-snippets. So at least in theory it should be possible to implement these features for other languages too, though Im not sure what sort of complex operations modern IDEs offer; i didnt find vscode too impressive when i still used it

[–] vala@lemmy.dbzer0.com 14 points 1 day ago (1 children)

On the contrary most people I know who "really know their shit" are using neovim and cli tools.

[–] Zos_Kia@lemmynsfw.com 1 points 1 day ago (1 children)

But doesn't neovim have auto completion, a language server, linters etc ?

[–] vala@lemmy.dbzer0.com 2 points 1 day ago

If you want them

[–] BartyDeCanter@lemmy.sdf.org 7 points 1 day ago (2 children)

I’m a “serious professional” who has been developing for over 20 years and I’ve generally prefer a text editor the IDEs that I’ve had to use at work. I find that most IDEs are slow resource hogs that don’t give me features that I actually care about over a fast text editor.

The singular exception was Cider when I was at Google. It was fantastic at wrangling their massive monorepo, and integration with their code review and ticket system was nice. Somehow it was snappy and reliable even though it ran in Chrome.

Nowadays I’ve switched to Helix and use LSPs for the languages I use most. For what it’s worth, those are C, C++, Rust and Python. Mostly Rust and Python now.

[–] Strawberry@lemmy.blahaj.zone 1 points 9 hours ago

I started using Helix a few weeks ago and I'm in love. I don't want to spend multiple weekends figuring out the ideal plugin configuration of neovim. Helix seems to do everything I want it to do and nothing I don't, right out of the box.

[–] CookieOfFortune@lemmy.world 4 points 1 day ago (1 children)

That’s the first time I’ve heard a positive review of Cider. Compared to IntelliJ it was really lacking.

[–] BartyDeCanter@lemmy.sdf.org 2 points 1 day ago (1 children)

I’ve never used IntelliJ, or Java for that matter. I’m primarily an embedded robotics developer, so most of the time I’m writing C or a subset of C++ for uC/DSP target, or using SciPy for data analysis and algorithm development. I recognize that probably puts me way outside of the norm for most people and software engineers in terms of process preferences.

[–] mfed1122@discuss.tchncs.de 2 points 1 day ago

Still super cool to hear about your workflow. Makes me wish I had an excuse to spend time experimenting with that stuff.

[–] zalgotext@sh.itjust.works 11 points 2 days ago (1 children)

It's all variable, and highly dependent on the languages you use, the types of applications you develop, your personal workflows, what you learned with and got used to as you were learning to program, and a myriad of other factors. Painting in broad strokes, like what the meme is doing or what you're doing, is almost never correct. There's always nuance.

[–] mfed1122@discuss.tchncs.de 1 points 1 day ago

Everyone has given many good and enlightening responses but picking yours to put the majority of my thoughts in. Yes, for sure I can see there being more specialized disciplines that don't make much use of IDE's. I shouldn't have made the same mistake as the meme! Not to sound like an LLM but "you're absolutely right!" lol. I certainly have my niche and I can see people spending their whole career in a niche where IDEs are superfluous. I like your balanced take on it.

[–] PokerChips@programming.dev 10 points 2 days ago* (last edited 2 days ago)

If you're in a jvm or Microsoft heavy environment then maybe so.

[–] BlushedPotatoPlayers@sopuli.xyz 7 points 2 days ago (1 children)

The best I know uses mcedit, there definitely life beyond IDEs

[–] mfed1122@discuss.tchncs.de 6 points 2 days ago (1 children)

The Minecraft world editor? They use that for developing non-Minecraft world software? That's pretty fascinating. What sort of things do they develop with it?

Nah, Midnight Commander's. And literally everything, websites, shell script, data pipelines, satellites...

[–] tauonite@lemmy.world 2 points 1 day ago

Many embedded developers would like to have a word with you

[–] dreadbeef@lemmy.dbzer0.com 3 points 2 days ago* (last edited 2 days ago) (1 children)

I learned to copy/paste website source code into notepad when I was a teenager, so vscodium is more than enough for my needs. I have been full time doing front end web dev, shipping in production, since 2014. I do svelte these days for internal tooling for a well known grocer currently. Having Linux experience as well ever since knoppix came out also helped

[–] Feyd@programming.dev 9 points 2 days ago (2 children)

I would call vscode(ium) an IDE

[–] dreadbeef@lemmy.dbzer0.com 0 points 2 days ago* (last edited 2 days ago) (2 children)

When I think IDE I think Visual Studio or IntelliJ or XCode, these extremely heavy single use (originally at least, C# Java and ObjC respectively) behemoths. But then again I was born in the late 1900s. I think of vscode and atom before more akin to a JavaScript successor of notepad++

[–] bleistift2@sopuli.xyz 11 points 2 days ago

If it does more than allow you to edit text, then it’s an IDE. Semantic find and replace? IDE. “Go to definition”? IDE. Terminal in the same window? IDE. Git integration? IDE.

[–] Feyd@programming.dev 3 points 2 days ago (1 children)

I use vscode (or codium when not at work) these days because it's a one stop shop for every language and every feature I could ever need is possible with a plugin. I have used visual studio, intelliJ and others in the past, and i fail to see the distinction from a usage perspective

[–] dreadbeef@lemmy.dbzer0.com 2 points 2 days ago* (last edited 2 days ago)

Not saying you’re wrong, I’m just explaining what I think of when I think ide. I think of visual studio and its integration into windows dev, Xcode and its integration for macOS and apple dev, etc. I think of vscode as a super sublime text in its goals, or akin to vim/helix

[–] firelizzard@programming.dev 2 points 1 day ago (1 children)

I, on the other hand, would not consider someone a serious, competent professional if they were unable to do their job without an IDE. Sure, every serious developer I’ve known uses an IDE or similar for day to day work, but that’s a matter of convenience. In my book “competence” includes being able to do your job without needing your hand held by the IDE.

[–] mfed1122@discuss.tchncs.de 2 points 1 day ago

Oh yes, I definitely agree with this. If you NEED an IDE that's certainly not a good sign no matter what you're working in. Although I can see in certain codebases with huge amounts of macros, functions, weird or inconsistent syntax, that an IDE might be basically necessary to be productive. But for sure agreed that I could do my job just via a text editor if I had to. Sure wouldn't enjoy it though 😅