Integrated development environments

Integrated development environments (or IDEs) aim to make the process of developing code easier by gathering commonly used development tools into one program. We recommend working in an IDE when developing code; the more you work within an IDE, the more you’ll get used to its tools and shortcuts, and the more efficient you’ll be while working.

Language-specific vs language-agnostic IDEs

There are language-specific IDEs that work readily out-of-the-box for a given language. There are also language-agnostic IDEs that enable a developer to work with multiple languages in the same program. Language-agnostic IDEs enable you to get used to a single interface across languages. This functionality is often enabled through extensions to the IDE, and it can take some research, setup, and experimentation to find the extensions that are right for you and a given coding language.

If you know you’ll be working with a specific language for the bulk of your work, we recommend using a language-specific IDE as it is simpler. As you get more experience coding and build up a repertoire of languages, you may want to switch to a language-agnostic IDE for the flexibility.

Recommendations and resources

Language Recommended IDE Resources
R RStudio
Python PyCharm Community Edition
Language-agnostic Positron Visual Studio Code