just run everything thru Doom Emacs. Terminal? emacs, git? emacs, ide? emacs, WM? emacs.
Just use a magnetized needle;… the way it was always inteneded to.
These meme spreads misinformation under the disguise of wisdom.
Those on the right side are too blind in their arrogance and probably seldom face challenging tasks in large codebases.
You don’t even need a text editor, you can write it on paper.
But both are terrible options if you want to actually get stuff done, now that we have better tools.
How are you going to build that application you wrote on the paper?
OCR
Very slowly
With a lot of consideration
Just take a picture and give it to AI
Mate people feel hacky if they use VIM to write code. Double the time, and corrections commits all the time
Oh yeah, vim motions are peak. Still not a substitute for a decent IDE, though.
Vim is great at what it does (help you write/change text faster), I just don’t think that’s the right goal to pursue when it comes to software development.
Still not a substitute for a decent IDE, though.
It is with plugins, however. I’ve used neovim for years at work and it has LSP capabilities and grammar-based syntax parsing. So it provides lots of IDE-like features on top of its excellent text-editing features. Nevwrmind that it integrates with the terminal much better than IDEs.
So I couldn’t disagree more with your statement
Had some juniors who was git diffing in the terminal PRs of 20 more files with 200 changed lines. A newly appointed senior told them that was the best approach. Needless to say there had always to be some follow up push after they opened the PR on web. U dont need ai, but you need a fucking GUI.
Or TUI.
need ai integration to code
Nah that dude is on the left, and he makes 250k per year
Why do you need a text editor? Just use radiation to bit flip the memory into the configuration you need.
Just need a magnetized needle and a steady hand.
You also need a compiler or interpreter because wtf man you gotta run some stuff during development
If you write C code in a text file and rename the file extension to .exe and try to run it the CPU will do something.
This statement is technically correct, the best kind of correct.
compiler or interpreter
I mean yeah I need a web browser, but I’m not coding in it.
Quite. You don’t need an IDE to have a compiler lol
What, you dont program in binary? What a noob.
No I program with a magnetised needle and a steady hand.
I do, I just use abstractions and metaprogramming layers to do so more efficiently. Sounds like your workflow could use improving
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.
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.
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.
The largest repos in the world are monorepos (the major tech companies). IDEs can handle those codebases just fine (might be modified).
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.
That’s the first time I’ve heard a positive review of Cider. Compared to IntelliJ it was really lacking.
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.
I know more than one person (I think 4, including me) who code for a living and essentially live in tmux.
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.
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?
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.
On the contrary most people I know who “really know their shit” are using neovim and cli tools.
But doesn’t neovim have auto completion, a language server, linters etc ?
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.
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.
The best I know uses mcedit, there definitely life beyond IDEs
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…
If you’re in a jvm or Microsoft heavy environment then maybe so.
Many embedded developers would like to have a word with you
I have never seen or known a serious professional
I think your message ended there, you accidentally copypasted some garbage after that statement.
Hey, I was explicitly being open to being wrong and acknowledging that I may simply not have encountered those kinds of professionals. I don’t even think I was being hostile, only saying that from my perspective the idea of this meme is a misunderstanding propagated by people with less experience.
But rather than present any evidence, even anecdotal, taking it personally (even as a joke) serves only to publicly make me look more correct 🤷
I don’t think you were hostile, you just have a different experience than others in this thread. At my workplace we design hardware and make embedded systems. Depending on which part of the system you’re working on you’ll either never leave Visual Studio or exclusively use the unix command line. Both groups are absolutely serious professionals. Not every workplace is like mine; most will have only one of the two groups.
The only people who would take you being “more correct” from any of this are those who don’t know much about SW development. In internet lingo, what you wrote in your OC is called ragebait.
Maybe you’re just very easily enraged?
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
I would call vscode(ium) an IDE
It is not
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++
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.
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
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
I disagree that a person with low IQ would think its possible to code using a simple text editor. If anything he needs IDE more than any one else.
Yeah, it doesn’t fit the template but the low IQ version would be more like “You only need ChatGPT for coding.”
Nah, you gotta copy/paste the code somewhere!
Every self-taught programmer I’ve seen starts off hacking at something in Notepad.
I started with mIRC script editor, which was only a tiny step above notepad.
I upgraded to notepad++ I’ll have you know!
I spent years using Notepad++ as my professional editor. We were a Windows shop and all of the IDEs available were much slower and buggier. It’s a surprisingly decent introduction to the idea of what a good text editor can be.
Depends on where you start. When your first contact is HTML its not too unusual to use a text editor for development.
esp. if you started at the time when all you had for designing page layout were frames…
I interpreted it more like saying the first place people learn to code, especially if you’re not self taught, is in a text editor like vim or emacs.
I think that’s how this meme is mostly used (least knowledgeable to most) but if we are getting pedantic we have to acknowledge the axis is labeled.
You can take away my auto complete, performance monitoring and all that jazz but you can’t tell me a debugging system isn’t absolutely essential if you actually want to finish a project in a reasonable amount of time
Funny cause I don’t use debuggers and never have, but if you take away the auto complete I’ll hate my life
Why debugger when print?
Because I don’t hate myself
Embedded systems 😁
That’s what a single red LED is for, right?
Is the single red LED solid, or is it flashing Morse for “please kill me”?
javascript moment
Most text editors like vim/emacs/ect have ways of using a debugger.
I remember vim being a bit involved, but the performance was awesome.
But then if you put enough bells and whistles on text editors, do they become an ide?
But then if you put enough bells and whistles on text editors, do they become an ide?
Yes
9000 IQ programmer starts every project rolling their own debugger instead of dedicating 8GB of RAM to vscode
gdb works great without an IDE, and many text editors have autocomplete.
It depends on what you do, but generally I can’t argue against a debugger.
I think you are not looking at the full picture - there are developments (arguably everything back-end) where a debugging system is absolutely not essential and in many cases (multithreading) outright useless for some types of bugs.
Feel free to not use a debugger for your software. But I don’t hate myself so I’m going to stick to using one whenever possible.
Saying it is not essential and saying it is generally useless are two very different things.
I believe that is a vast minority of developments. And tbh multithreading debugging is a breeze in C# on Rider (except race conditions, those will always be tricky, but also easily identifiable).
And I believe you are very wrong in that belief. However, a reliable statistic is not the first search result that I can find, so we’ll have to disregard the disagreement on that point. You lost me at your C# multithreading reasoning though. A debugger will always interfere with the processes you are looking at, hence making debugging of multithreading-related errors a game of whack-a-mole.
A debugger will always interfere with the processes you are looking at, hence making debugging of multithreading-related errors a game of whack-a-mole.
It’s a very pleasant debugging experience when you can easily switch threads, have them log what happened first, check the variables in the thread at the moment in time it was hit (vs now), etc. etc.
Most concurrency problems disappear at the pace of a debugger.
Joke’s on you, with LSPs most text editors are full IDEs.
I have no desire to work on a large project in a plain text editor.
That is the beauty of it: no one forces you to do so.
Mmh nobody forces me to, but someone did just imply I have bad hair for doing so 🤔
Okay I will concede your point. :) You do have bad hair g
😭

nuff saidKate, my beloved
Kate has a built-in terminal option (just like Dolphin file manager) and that can be super handy when using gcc.
My emacs is sitting at 360 MB but I consider it an IDE
WHY is emacs at 360mb is the real question
i’m not claiming this is truly representative in any way, RAM consumption is very variable, but the tendency is still clear lol
Well IntelliJ is written in Java tbh, you could reasonably have an IDE with less consumption
It’s also very nice to use. Though I really should move to Zed or something
2Gb well spent
No one is going to take IntelliJ from me. Tab completion master race!
Lots of simpler editors gained tab completion support over the last few years, thanks to the LSP protocol. I have it in Kate, for example.
LSP protocol
The P in LSP, already stands for protocol :)) “Language Server Protocol”
Yeah, to be honest, I’ve given up on that one. “Language Server Protocol” is a classic case of Microsoft naming things.
The two differentiating words are “language” and “server”. It does not specify what kind of language is being served or what it even means to serve a language. And “server” is entirely redundant with it being a protocol. Not to mention, that “server” is the most overused word in IT and therefore virtually meaningless.
For all we know, it could be a protocol for butlers carrying French dictionaries.So yeah, I use the acronym as its name, because it is similarly meaningful while being actually recognizable. And when I need to specify whether I’m talking about the “protocol named Language Server Protocol” or a “Language Server Protocol server” or even a “Language Server Protocol client”, I will just slap that behind the acronym and be done with it.
🫠
I dream of an alternate reality where everyone started using Kate instead of VSCode.
I have worked with MSVC a lot so that might tint my experience but I don’t get what’s so good with vs code. It kind of sucks in a classic windows way, many options for the same thing and often it just doesn’t work. Tried to set it up on linux with godot & c# (🥴) impossible to debug and autocomplete was like every library on earth, except godot ofc. What a pain in the butt.
Sub renewal is coming up in July. I’m seriously wondering whether I can get these vim bindings down before then.
You can keep using the current version without renewing your license, so there is no rush
Wow great tip, thanks!!!
Honestly just memorize the fundamental ones and google everything else you need on the fly. You’ll naturally memorize the ones you use often.
I’ve used VIM for nearly 5 years and the only keybinds I have memorized are ‘a’ (append right here) ‘A’ (append to end of line) ‘i’ (insert right here) and I use the arrows to navigate instead of the letters. The only incantation I have memorized is %s/text to replace/text to replace with/g (find and replace through entire file. Remove the /g to find and replace only the next instance).
Once you have those, you can basically do anything that you’re capable of in a normal editor. If you need to do something beyond that, search “how to x in vim” and click the first stack overflow link that comes up, hasn’t failed me yet
If you want to start using Vim the way i was intended to be used. You should really learn touch typing. Also, text objects are a pretty big deal IMHO.
It’s very hard to break up a flow to have to google. :D I found a cheatsheet that I will keep open on another monitor, that should help. I reckon going through the Vim Tutor every day should help me get the basics down quickly.
Thanks for the tips, my hope to switch away from IDEs is higher than ever!























