Because too many people agree, I need to play the devil's advocate here ;-)
Not only about language, but libs or frameworks, knowing and mastering an IDE makes it easy to learn the new things we have in hands. Let me give an example. I'm writing some Python stuff, I need to use a lib I use often, but this time in a slightly different context. The IDE lets me navigate very quickly to the source of that library, then back, then into that 3rd party source again... at the end of the day it makes me learn much faster that dependency, the conditions under which it works as expected, ... Let's take another example. I'm learning a new framework, and start writing some simple apps with it. Having a powerful debugger with breakpoints (which is one of the criteria to distinguish an IDE from an advanced text editor) let me explore the object structure exposed by the framework or language, verify my assumptions (when we learn a new thing, we're often like 'ok, if I remember correctly this should be x or y'). In short, it let us iterate and experiment faster, with a faster feedback loop. And learning is all about practice. The faster you can iterate, the faster you learn. Don't get me wrong. Reading the docs, understanding and remembering the fundamentals will always be a requirement, no matter the tool. But then you start experimenting, and all those small experiments are the first step in your experience with a language. And having the tools that let you maximize your iteration speed is the key to learn faster. And I have to agree 100%: anyone needs to know his tools. (And choosing a theme for an IDE is not learning how to master it ;-) ). Being able to quickly navigate through the code, use the debugger, inspect the relations, all that stuff is more insights into the new things you're trying to learn.
In other words, I wouldn't say an IDE is a trap for a beginner.... but I understand how one could think it's easier to get sidetracked more easily ;-)
I couldn't agree 100%. Some IDEs can even suggest you the best practices in coding. It will be very beneficial for beginners
I think especially when you're learning, figuring out how to read and write the most basic syntax of the language serves you better than having to magically autocomplete for you. Writing code really reinforces how to read code, and I have yet to see any IDE that autocompletes reading code for you ;)
I see people every week struggling with linter errors in their editors that are warning them (wrongly) about code that's fine, but because there's an "error" in their editor it stops people from even running the code to see if it works or not. They get stuck before they even try it because they think it's wrong when it's not.
Some tools that can be helpful for advanced users can also be a serious impediment to new learners!
Isn't this a bit like saying you should write assembly before relying on a compiler to do it for you?
Well written. The Abstraction and Convenience of Tools/Frameworks are making people to skip the fundamentals
Diwakar Pandey
Developer
I think we learn to fulfill needs. When any IDE or framework cannot give what we want, we try to dig deeper.
Todays learning process is little hybrid. People first learn to make crud or an application with more coding, then start exploring framework, libraries and generator. Later they start to learn deeper because of the requirement. This process is OK.
I think everyone should become productive and efficient not just a coder.