When I started learning my first programming language, my teacher told me to try to do more programming on paper and depend less on IDEs. I didn’t realize the importance of it at that time. Now that I look back I realize she was right. And that is what serves as motivation for this article.
So, are you thinking of getting into tech through programming? Or planning to learn a new programming language? Or simply want to build cool stuff through coding? The usual first step almost every course will tell you - Install the IDE for that language. IDEs are super useful for maintaining large code files, debugging, even writing code. But if you are just starting your programming journey and have taken the first step into this world, my advice - don’t install an IDE.
At first glance that sounds a bit counterintuitive, doesn’t it? Why wouldn’t anyone install the support structure for learning a new language? Borrowing from Zed Shaw’s Learning Python the Hard Way - “Do not use an Integrated Development Environment while you go through this book”. He mentions it only for his book but I suggest you consider it for any language you plan to learn.
The reason I am suggesting such a weird thing is because IDEs are supposed to support you in your life as a developer. But when you use them while learning the basics they tend to become the crutches on which the entire weight of your coding skill hangs upon. Let’s look at some of the “features” of modern IDEs that actually hamper a newbie:
You need to learn the basic keywords, get into the habit of typing code, and above all build your muscle memory by writing basic programs so that tomorrow when you look at a blank screen you know what it is you are going to type, why you are doing it, and how you plan to proceed. Modern IDEs tend to autocomplete/autosuggest language specific keywords, variable names on the fly. While this reduces the amount of typos you make, it also reduces the chance of you learning from your mistakes.
IDEs today have become very advanced. They don’t just beautify your code and provide good indentation. They keep checking your code as you type it and throw errors even before you are finished with the code, for e.g. missing parenthesis. This is all well and good for a developer in a rush to release a new product and or someone trying to fix a bug. But as a newbie you want to be able to figure these things out for yourself. They help you grow as a developer.
Then comes the learning curve of the IDE. You don’t want to be worried about how to run the IDE, what extensions to install, how to resolve any issues with the IDE itself etc. As a beginner in the world of coding you want to focus your entire attention onto the language, it’s syntax, and semantics.
If IDEs have so many long term effects then why do most developers suggest them? Simple, it makes their lives easier. But they are seasoned developers. They have already done the hard work learning the language. Now they are doing the smart work to get more efficient.
Your brain should train for the programming needs. Not for the IDE.
Now the question arises, what should one use when starting out in the exciting world of coding. My suggestion is, any regular text editor is good enough to start learning any programming language as it helps build confidence in the language that you are learning and have a better future.
This is my take on the use of IDEs while learning to code. Do share your experience in the comments section. I will be writing more articles on learning to code. Follow this blog to stay updated. If there is any specific topic you want me to write on, let me know in the comments.
Top comments (4)
The IDE Divide (2004)
Does Visual Studio Rot the Mind? (2005)
The other issue is that good technologies (OSS) can fail to achieve adoption simply because nobody crafted supporting IDE plugins (and why bother creating plugins for something that's not popular?).
Those are pretty detailed articles. Thankyou for sharing.
Your blog is good i like it, in my opinion i think using a less advanced ide is better than not using an ide at all because using an ide will boost your productivity and remove a lot of headaches and supporting your argument don't use an ide that has plugins or vast configuration choices
Thankyou. I agree. If you can find a simple IDE, definitely go for it. But these days, even editors like Notepad++ come with the basic support for common languages. As long as it is helping you and not causing a handicap, it is good.