DEV Community

Nguyen Kim Son
Nguyen Kim Son

Posted on

Should we use a full-feature IDE when learning a new language?

In school I used to use basic text editor (notepad, plugin-less vim, etc) when learning a new language but realized that lot of time is lost for trivial errors (missing semicolon, typo, etc) and wonder if using IDE could be more beneficial in this case. In addition IDE usually comes with easy access to documentation that facilitates code discovery.

At the same time using a basic text editor forces us to really understand and master a language syntax.

What text editor do you prefer when learning a new language?

Top comments (5)

Collapse
 
cjstehno profile image
Christopher J. Stehno

I think just like when learning math or physics in school, you should start with the "first principles", the building blocks of how things are done. You should know how to open a simple text editor, create a few code files and then be able to build them with the compiler.

Once you are familiar with that, move on to learning the common build tools and IDEs of your chosen environment and languages. Personally, I feel you will get more out of learning the tools along with the language rather than as an afterthought.

I can build an application with a text editor and the command line compiler, but I would never do that for anything non-trivial.

Collapse
 
sonnk profile image
Nguyen Kim Son

Thanks for the advice! I should have pointed out in the question that this is rather for a seasoned developer wanting to learn a new language quickly and not for someone new to programming...

Collapse
 
harittweets profile image
Harit Himanshu

When starting out, prefer not to use full-blown IDE, because a lot of the things would be done for you. This will defeat the purpose of learning. When you have some command over the topic/language, you would see some repetitive patterns, which you would want to be pre-filled. And that's when you would appreciate the power that IDE provides. The IDEs provide a lot more than autocomplete (IntelliSense), such as project overview, refactoring and editing, running and deploying among other things.

I prefer using Visual Studio, but more like a scratchpad, which CodeRunner plugin. You can find out how to set it up using gist.github.com/SuperBonsaii/6ad89...

Hope that helps

Collapse
 
sonnk profile image
Nguyen Kim Son

Thanks for the advice! Using too powerful IDE (think Intellij suite or Visual Studio) could be counter productive indeed as they provide much more than the language itself.

Collapse
 
gklijs profile image
Gerard Klijs

I learned Clojure, Rust and Kotlin using the IDE I know, IntelliJ. I really like not having to worry about some things. Usually I only use the editor, and use command line to run the program through. It also depends on the tutorial/book used with learning the language. That caused my first attempt to learn Clojure to fail, as it was suggesting to use emacs as editor.