Benefits of not using an IDE

and Drawbacks of doing so

Update/Clarification (21th August 2021):

Disclaimer: I'm not against using IDE's in general.
Sometimes they provide valuable tools like refactoring / function rename, which would simply be dumb to do manually.
I myself use IntelliJ, CLion and MySQL workbench almost everyday.
I'm simply listing Reasons for not using one ALL THE TIME FOR EVERYTHING.
And there are real benefits to not using them for some projects.
But there are situations where using an IDE would be the best decision, in my opinion.

IDE's (Integrated Development Environments) have become very popular. They enable very fast programming of Applications in statically typed languages which have support for Autocomplete. An example would be programming in Java with Intellij Idea. But there are a bunch of reasons for not using one. I met a friend recently who is programming C++, and he is just using a terminal text editor (Micro).

Remember syntax, subroutines, library features

By not using an IDE, you have to remember the syntax of the language you are using, the subroutines from your own project and their arguments. You also remember (standard-)library subroutines better for your chose programming language.

Get to know your way around a Project

When you have to manually find a file to change a subroutine implementation, or to refactor a subroutine, you will have good file names and a good directory structure. The Antipattern of the directory layout of your typical Java Enterprise Project is a Testament to this. (src/main/java/org/company/product/...)

Avoid long IDE startup time / Achive better system performance

With big projects, it might slow you down to have the IDE load the entire project before you can start working. Some Projects with 40000+ files might take >5 minutes to load.

Drawback: some languages/projects are very unergonomic without an IDE

This is almost always the result of bad language design and/or bad library design. An example is developing android apps in Java with Android studio. Here, you will be slowed down a great deal in order to program without Android Studio. There will be a steep learning curve.

Better accessibility of your Project

Good Open Source Projects encourage people to clone, fork, and maybe even to contribute to a Project. People are able to directly edit files on github, if an IDE is not required and they know the language being used. Not requiring an IDE makes it easier for blind people, who might be using screenreaders to understand your project, and enables people without modern hardware (which might be unable/impractical to run an IDE) to work on your project.

Avoid IDE lock-in of your project

Have you ever seen a Java Enterprise Project? Sometimes the Java classes in there have 20+ import statements, automatically generated by the IDE. Working in this style, with such long package names and lots of classes/namespaces eventually almost forces you to use an IDE because there is just so much, that it becomes impractical to remember.

Less Code, Better Readability

Not having Autocomplete / Code Generation guides you naturally to writing more compact and idiomatic Code in the Language of your Choice. It helps you to learn language-specific features and syntactic sugar.
Consider

System.out.println("hello");
printf("hello");
			
You see that in C, where using an IDE is uncommon, the languge/libraries/frameworks naturally becomes more easily readable and writable.

Avoid Boilerplate / Autogenerated Code

In Java, there is the Concept of Getters, Setters, toString, hashCode and so on. These methods can be auto-generated by the IDE.
In practise, this leads to bloat. The IDE is simply compensating for missing language features (built-in hashing of a composite data type, built-in string representation ).

Respect the Unix Philosophy and create a powerful toolchain

"Make each program do one thing well". IDE's tend to do many things, any many things poorly (Visual Studio Code's poor man's autocomplete for languages which really don't support it well is a prime example).
You can create a great development environment for your project by using multiple tools, such as


These tools then all work together in a toolchain.

--- Comments on HackerNews ---