DEV Community

Cover image for Avoid using IDEs for programming - if you are an absolute beginner
Sushant Ranjan
Sushant Ranjan

Posted on


Avoid using IDEs for programming - if you are an absolute beginner

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)

peerreynders profile image
peerreynders • Edited

The IDE Divide (2004)

Does Visual Studio Rot the Mind? (2005)

So I don’t think IntelliSense is helping us become better programmers. The real objective is for us to become faster programmers, which also means that it’s cheapening our labor.

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?).

sushantranjan4u profile image
Sushant Ranjan

Those are pretty detailed articles. Thankyou for sharing.

hacker4world profile image

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

sushantranjan4u profile image
Sushant Ranjan

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.

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.