Terminal based ones are very good :
- when you are working on REPL environments.
- small/short programs not involving lot of modules
- when you are learning or trying to learn a language/toolkit/framework
- training yourself for minimum tooling work experience.
IDEs are very good :
- when you are preparing to work on large projects with loads of modules
- when collaboration is more important than learning with insistence of a shared dev eco-system
- to quickly complete boiler plates & refactor larger artifacts
- when you are focused on making not only yourself but a whole team with varying levels of skills productive.
- when working with IDEs is actually productive for a given ecosystem.
The above are not complete but an average approximation of experience i've gained so far. The last point is where experience from someone using a given IDE for a given ecosystem really matters.Some of the IDEs might at times make it counter productive , e.g. in new languages with new IDE features might have a rather slow unproductive experience. I have experience with IDEs (JBs too) when refactoring something in a new plugin or a language,when an IDE would just hang!