Here’s what we’ll cover:
- What are IDEs and code editors?
- Things to consider when choosing an IDE or code editor
- WebStorm (IDE)
- IntelliJ (IDE)
- Komodo Edit (CE) and Komodo IDE
- AWS Cloud9 (IDE)
- NetBeans (IDE)
- Eclipse (IDE)
- Sublime Text (CE)
- Atom (CE)
- Visual Studio Code (CE)
- Notepad++ (CE)
- What to learn next
Integrated development environments (IDEs) and code editors (CEs) are software applications used to write and edit code. We could technically write code in a plain text editor, but IDEs and CEs offer additional functionalities designed to streamline the coding process.
IDEs generally come with more functionalities than code editors, but some code editors can be customized to have similar functionalities to that of an IDE. Code editors often come with features such as syntax highlighting, autocompletion, and brace matching. IDEs combine multiple developer tools in a single graphical user interface. At minimum, these tools usually consist of a code editor, a compiler or interpreter, and a debugger.
Every programmer has an individual preference when it comes to IDEs and code editors. You may try a few applications before finding a good fit.
Here are some criteria to consider when assessing your options:
- Cost: There are both free and paid applications to choose from. Define your budget and consider the fact that you may try several applications before finding the right fit. If you’re open to paid options, many applications offer a free trial period.
- Learning curve: It takes time to adapt to a new interface and memorize keyboard shortcuts. While learning curves are unique for each user, some applications are known to have a steeper learning curve for beginners. If you opt for one of these applications, allow yourself the time to adapt and develop an efficient workflow.
- Functionality and customizability: Applications have varying features, so it helps to know what functionalities you’re looking for. Some popular functionalities are multilingual support, autocompletion, and Git and GitHub integration. If an IDE or code editor doesn’t offer a certain functionality, see if it can be obtained via plugins or extensions.
- Speed: You’ll want to consider both the application’s reputation for speed, as well as whether your machine or device is powerful enough to host the application.
- Machine requirements: Your machine’s specs can impact an application’s performance. You’ll experience slowdowns if you overload your device’s processing power and memory with a heavy program. While there are certainly exceptions to this rule, a code editor will generally be a more lightweight application than an IDE.
- OS compatibility: Some IDEs and code editors don’t always offer cross-platform functionality. Be mindful of OS compatibility as you review options.
- User support: An established software company's application may have more robust user support than a less popular application. If you’re a beginner with a learning curve ahead of you, you may want to look for applications that have customer support and active user communities.
- Accessibility: Unfortunately, IDEs and code editors leave a lot to be desired when it comes to improving accessibility. While many offer features to support visually impaired programmers, such as screen readers or font adjustments, these tools have shortcomings. For instance, screen readers fail to convey the visual indicators of some of the most helpful features, such as syntax highlighting and refactoring suggestions.
- Reliable updates and user support
- Customizable with plugins
- Available on Windows, Linux, and macOS
- Free for students and open-source projects
- Can consume device memory
- Occasional slow loading time
Use case: You’re a multilingual web developer looking for an IDE to support complex projects.
Price: $12.90 per month for individual users. A free version is available to students and non-commercial open-source projects.
- Intuitive user interface
- Accurate autocompletion based on DOM model
- Accessibility features include a screen reader
- Indexing can be slow
- Steeper learning curve
Use case: You’re a professional who needs a wide set of functionalities for your projects.
Price: $49.90 per month for individual users.
Developed by ActiveState, Komodo Edit and Komodo IDE are applications used for dynamic programming languages. Komodo Edit is a free open-source code editor. Its commercial counterpart, Komodo IDE, is an IDE with expanded functionalities. Komodo IDE is now free as part of the ActiveState platform.
Beginners may find it easier to start with Komodo Edit, as some users report a steep learning curve for Komodo IDE. Komodo Edit offers an inbuilt FTP client, autocompletion, code folding, and smart syntax highlighting. More advanced functionalities, such as debugging and unit testing, are reserved for Komodo IDE. Both can be customized with plugins and macros.
- Macros customization
- Komodo IDE functionalities include live preview, Git integration, version control, and remote collaboration
- Regularly maintained and improved
- Steeper learning curve for beginners
- Advanced features reserved for Komodo IDE
- Komodo IDE is not supported or maintained by developers for Python
Use case: You want a minimalist coding environment. You’re actively prototyping and showcasing websites.
Price: Komodo Edit is free. Komodo IDE is free as part of the open-source ActiveState Platform.
AWS Cloud9 is an IDE hosted on the cloud. Anyone with a stable internet connection and AWS account can access the power of this online IDE. This is especially beneficial for those who can’t afford to locally install a heavy IDE on their device.
AWS Cloud9’s functionalities include real-time language analysis and syntax highlighting. AWS Cloud9 also lets you share and edit code with collaborators in real-time. The IDE can be further customized with plugins.
- Intuitive user interface
- Real-time collaboration prevents merge conflicts and overwriting
- Functionalities include Kube tooling and integrated shell
- Local installation not needed
- Requires stable Internet access
- Not free
- Requires AWS account
Use case: You need an IDE’s functionalities but can’t afford to install one locally on your machine. You need team collaboration tools. You’re interested in serverless development and want a development environment that is preconfigured to support it.
Price: AWS Cloud 9 is priced with a pay-for-value billing model.
Many programmers love NetBeans for its intuitive and customizable interface. It comes out of the box with many functionalities, so you can hit the ground running upon installation. However, NetBeans is known to be demanding on resources. It may not run smoothly if your device has lower specs.
- Features include a debugger, inbuilt Git support, and code folding
- UI is easy to customize
- Available on Windows, Mac OS, Linux
- Difficult to integrate with other tools
- Minimal add-on features
- Demanding on resources
- Can be slow even for small front-end projects
Use case: You’re a Java or polyglot developer with a device that can handle a heavyweight application.
- Highly customizable
- Large user base and community-built plugins
- Uses Emacs key bindings
- Limited support
- Demanding on resources
- Many consider the UI counterintuitive
Use case: You prefer open-source software and don’t mind taking time to customize it. You enjoy what others may consider an old-school interface.
Sublime Text is a source code editor for both programming and markup languages. Many developers are drawn to Sublime Text for its speed and versatility. It's a highly customizable code editor with an extensive selection of user-built plugin packages.
- Fast, lightweight, and customizable
- Features include color coding, multi-selection, customizable hotkeys, and Git integration
- Available on Windows, macOS, and Linux
- Lacks intelligent code completion
- Takes time to set up
- Steeper learning curve
- Work environment features are lacking
You prioritize application speed and regularly work with large files. You are a freelancer or work for a small business and don't need robust work environment features.
Price: $99 per year for individual users.
Atom is GitHub's free and open-source code editor. It comes with default features such as smart code completion and an inbuilt package manager. Known as the “hackable” text editor, it’s highly customizable via plugins. Atom is based on the Electron framework and is well-suited for building cross-platform desktop applications using Chromium and Node.js.
Atom is celebrated for its simple UI and customizability. On the other hand, many users have experienced bugs, freezing, and crashing. This is a larger application that will likely slow you down if you have a weaker machine.
- Highly customizable UI and functionality
- Features include GitHub integration, the APM integrated package manager, and multiple panes
- Open-source with a large and supportive community
- Large application size exceeding 100MB
- Long load time, occasional crashes and freezes
- Longer set up if expanding functionality through plugins
Use case: You favor customizability, an intuitive interface, and a strong online community. Your device is not faint of heart and can handle a large application.
Visual Studio Code (VS Code) is a free code editor developed by Microsoft. As a code editor, it lacks inbuilt tooling and testing functionality. However, these functionalities can be installed with plugins and extensions. VS Code boasts a large community and strong technical support.
- Features include code folding, git integration, debugging, and IntelliSense (Microsoft's implementation of code completion)
- Screen reader for accessibility
- Steeper learning curve
- Long set up time to install extensions and plugins
Use case: You’re a developer in the corporate world. You want a versatile tool that can handle complex projects.
Notepad++ is a free source code editor for Windows users. It is an extremely lightweight application that is ideal for those with limited device specs. It comes out of the box with features such as code folding and syntax highlighting. It also has support for macros and plugins for additional customization.
- Easy to install and use
- Most lightweight application
- Supports plugins and macros customization
- Only available on Windows
- Lacks intelligent code completion and syntax checking
Use case: You are a Windows user who needs a lightweight application for your device. You want to practice basic projects without installing and customizing a complex IDE.