Whether you are a beginner or professional software engineer, you know that writing and developing code is a multi-step process that requires a variety of tools; tools for coding, editing, debugging, refactoring, compiling, interpreting— the list goes on.
This process gets even more complicated when developing software with a team. Teammates need to communicate, share code, and work cohesively together. Development means not only switching the UI to dark mode and hammering out code on an RGB keyboard, it’s also fraught with logistical hurdles that can stop any project in its tracks.
While there are countless tools available for these kinds of challenges, it can be overwhelming when they exist on different platforms. However, a good developer is able to manage their tools in a toolbox, otherwise called an “IDE.”
Is there a “best integrated development environment”? Yes, and no.
The best IDE is the one that works for you. Choosing an IDE depends completely on what kind of programs you are developing, your programming languages of choice, and the kind of hardware with which you are working.
While the most powerful IDE out there may sound nice, it might be too heavy for your machine. And while a multilingual IDE may seem like it has everything you need, it might be overkill if you are to be working with only one or two languages.
Language-specific IDEs, on the other hand, often do one thing very well. This may be perfect for a specialized developer, but may not for regular polyglot programmers.
A free integrated development environment might be the answer for many, though may not be ideal for business or enterprise teams. Free software can bring with it issues, like a lack of support, irregular updates, or plugin incompatibility.
However, supporting free or open-source software has its benefits. Firstly, it means the user can support an IDE from a smaller business, as opposed to a mega-corporation. Secondly, free IDEs often sport robust, user-driven plugin marketplaces. In some cases, a user can even contact the community to commission a custom plugin. Furthermore, free IDEs are often far more customizable than corporate products. Some IDEs offer the user the opportunity to build the application from its source code.
While there is no single IDE that is better than all the rest, there are certainly IDEs that developers and engineers consistently choose. Below is a guide to some of our favorite IDEs on the market.
PROS: Number of features, Versatility, Support
The power and versatility of Visual Studio 2019 makes it a top competitor. It boasts features such as Visual Studio Live Share; AI assisted Intellisense, Intellicode, and IntelliTrace; Code Map Debugger Integration; and Azure Devops server integration. In addition to its many out-of-the-box features, it hosts an extensive plugin marketplace built by both Microsoft and Visual Studio users.
Visual Studio flawlessly covers all the basic features of a solid IDE, and then some: it makes independent or team development a breeze. Furthermore, it offers a free Community license, which is open-source.
Many top paid IDEs only offer an English UI. For an international team, this could pose an issue. Luckily, VS 2019 has 14 official UI languages out of the box.
The Visual Studio community has in-depth support and tutorials, both on its website and youtube channel. There, Microsoft team members actively work with customers, providing reliable feedback and support.
CONS: Expensive, Heavyweight, Not Beginner-friendly
Visual Studio 2019 can be a bit pricey, especially if you want all of the IDE’s available features (a full comparison of features can be found here). Microsoft offers yearly, standard licenses, as well as monthly, Cloud subscriptions. Standard subscriptions are considerably more expensive than monthly subscriptions. There are three licensing options, depending on the size of your team. For standard subscriptions, users can choose between Professional and Enterprise licenses.
While Visual Studio 2019 allows many features for developers working on both Windows and MacOS, you’ll have to leave Linux developers behind. Unlike many of the other IDEs on this list, VS 2019 does not run on Linux.
VS 2019 is also a heavy program, which can make it slow. For those without a powerful machine and an SSD, Visual Studio may run into some performance issues.
Aside from performance issues, the number of features on VS 2019 can also make the program overwhelming and difficult to learn. It may not be very beginner friendly, and requires some time just to learn its many features.
Conclusion:
Beginners and those with less powerful machines may have issues with the heavy-weight, and sometimes overwhelmingly feature-rich Visual Studio 2019.
With its price, weight, and usability, this popular IDE seems most targeted at organizations with professional developers and engineers. Its community version seems more targeted towards individual programmers with machines that can withstand the demands of the program, and who have the confidence to navigate its myriad of features.
Although VS 2019 may be heavy and host perhaps too many features, both its programming power and industry prevalence make it an IDE worth knowing. Therefore, anyone with the right machine and the willingness to overcome a bit of a learning curve could find Visual Studio to be an excellent IDE.
Despite its shortcomings, Microsoft Visual Studio 2019 remains one of the most popular IDEs on the market, and is well-liked for its versatility, flexibility, strong consumer support, and team integration features.
Pros: Reliable, Powerful, Cutting-edge Features
JetBrains has a reputation for making reliable, specialized IDEs, and has a broad user-base, both among individuals and professionals. In fact, PhpStorm is not the only JetBrains product that has made this list.
JetBrains’ PhpStorm is the ultimate IDE for web development. According to JetBrains: “PhpStorm = WebStorm + PHP + DB/SQL”
The 2020.3 version offers support for PHP 8, PHPStan, Psalm, Tailwind CSS, and Xdebug 3. It also hosts advanced team features such as Code With Me, a new JetBrains service (not unlike Visual Studio Live Share).
Other features include built-in intelligent code assistance, smart navigation (with an improved “Search Everywhere” that allows for simple math calculations), language-specific refactoring, a Visual Debugger, unit testing tools, as well as 2500+ plugins.
While there is no version of PhpStorm that is free for all, JetBrains offers a broad range of discounts. These discounts are available for the other JetBrains IDEs on this list, IntelliJ IDEA, and Pycharm.
Cons: No Free Version, English-only UI, System Requirements
Unlike other IDEs, there is no free license for PhpStorm. Some JetBrains products have a community license, however, PhpStorm does not.
Its Individual and Organization licenses might also be pricey for some, especially for individuals, who have to pay for a subscription when using the IDE for personal purposes.
While their subscriptions are more affordable than other products on the market, a paid IDE for individual programmers is not always the best option, especially when there are comparable free IDEs available.
And unlike some of its competitors, the only UI language for PhpStorm, and all other JetBrains IDEs, is English.
Lastly, PhpStorm has fairly high system requirements. JetBrains recommends 8GB of RAM and an SSD, meaning that the IDE is more memory-heavy than other IDEs available.
Conclusion:
Overall, PhpStorm offers a strong and well-developed IDE for programmers who regularly work with web development. Furthermore, its specialized functions help it excel as a PHP-specific IDE.
Organizations needing a high-performance IDE for web development may find PhpStorm to be ideal. But, because there is no free version of PhpStorm, it may not be the best solution for individuals or new programmers. Furthermore, because it is a heavier program, users without the right machine may have issues with PhpStorm’s performance.
Overall, PhpStorm is touted as one of the best web-development IDEs on the market. It’s used by professionals and students alike, and few can beat its commitment to adapting to language and development changes.
Pros: Free, Active community, Low System Requirements, Versatile
Eclipse is mainly built for Java developers, and has long been trusted as a top free IDE. It can also be customized with packages that accommodate testing and development tools for Javascript, Rust, Php, C, and C++, and more.
It provides a large ecosystem of plugins, which makes it extremely versatile and suitable for a wide range of development projects. It also boasts an active and involved developer community.
In comparison to other IDEs, Eclipse is lightweight, and has no official minimum system requirements.
Lastly, the Eclipse Foundation consistently updates Eclipse IDE, which is not always the case for free software. The 2020-09 build includes embedded Node.js, improved UI and dark mode, a JRE in the package, and support for Java 15. Its 2020-12 build is fresh off the press, and also features Linux aarch64 support for all packages.
Cons: Unreliable Plugins, Dull UI, Trouble with Large Projects
A free software can have its upsides and downsides, depending on each person’s needs. Because Eclipse does not have the monetary backing that other IDEs receive, plugins are not as strictly vetted, and therefore may pose compatibility issues.
Some users have claimed that Eclipse has an older-looking UI that is sometimes difficult to use. Because the UI is such an integral part of the user’s experience, and can affect a programmer’s productivity, having a good interface is essential.
Conclusion
Don’t let the free price tag fool you: Eclipse is widely considered to be one of the best integrated development environments on the market.
It offers a number of free features that users would elsewhere have to buy. Furthermore, it has lower system requirements than many other top IDEs, making it ideal for new programmers, or programmers with less powerful machines. Its versatility also allows new programmers to start a variety of different projects.
Eclipse is also extremely versatile and does not “box in” its users. In other words, large business or enterprise projects that require versatile programming tools would find Eclipse an excellent IDE.
Eclipse has long been a top contender on the IDE market, and for good reason. It is versatile, lightweight, and free. It, along with IntelliJ IDEA, are two of the most popular Java IDEs available. Whether you are an expert or beginner, Eclipse would make an excellent IDE.
Pros: Free, Community Driven, Reliable
Apache NetBeans is a free IDE, tooling platform, and application framework. It hosts a range of code editing and refactoring tools, as well as a robust plugin marketplace. Furthermore, NetBeans includes editors for Java, JavaScript, PHP, HTML5, CSS, and more.
Not all free software is updated regularly, but NetBeans is. More recently, the latest feature release supports Java 15 and has resolved issues with macOS Big Sur.
NetBeans also has an involved community. Their team encourages users to contribute code, participate in testing with the NetCAT program, and aid in documentation. Unlike other IDEs, the NetBeans community is an active voice in its development.
Cons: Unreliable Plugins, High RAM Usage, Out-dated UI
While NetBeans has a robust plugin marketplace, this advantage does not come without its drawbacks. Like many other plugin marketplaces for free IDEs, plugins are not always vetted thoroughly, and may pose compatibility issues or become unreliable.
NetBeans may have performance issues for some users. While NetBeans has no officially-posted minimum system requirements, some have complained that it runs slowly and has difficulty handling larger projects.
Lastly, NetBeans lags behind with some of its UI features. It does not have the same UI customizability as newer integrated development environments. (Though, simplicity is not always a bad thing).
Conclusion
NetBeans is a great IDE for beginner, individual, or professional programmers. Because it’s free, it can be great for those on a budget, or for those not working on projects professionally.
While NetBeans is well-established in IT businesses and enterprises, some of its issues with large projects may be a hindrance. Furthermore, some slow or unreliable plugins may not be ideal for programmers that have to rely heavily on them.
NetBeans is widely considered a straight-forward, reliable, and time-tested Java IDE. Its wide variety of plugins give it a range of capabilities, and its status as a community-driven IDE makes it a well-rounded product for most programmers.
Pros: Free Version, Sophisticated Auto-Completion, Pleasant UI
IntelliJ IDEA is one of the most widely-used IDEs for Java development. Powered by JetBrains, it offers smart completion, cross-language refactoring, language injection, Javascript support, as well as database and SQL support. Its 2020.2 release includes support for Java 15, and its 2020.3 release includes extended support for Java 15.
IntelliJ IDEA offers a Community license for free. This open-source version includes support for Java, Android development, Github, and debugging tools.
IntelliJ IDEA also boasts a sophisticated code completion system, which includes Basic completion, Second basic completion, Smart completion, Second smart completion, and Statement completion.
Intellij IDEA is also thought of as having a user-friendly and intuitive UI. Certain design features allow more efficient programming, such as “Local History” instead of a manual save, a perspective-free experience for seamless task switching, and easily-customizable tool windows.
Cons: Limited Features for Community License, Lack of Multitasking Features, Slow
Compared to the Ultimate license, the Community license it is missing a lot of key features (that Eclipse provides for free): support for Javascript, Ruby, SQL, PHP, and Go; editing support for CSS, Sass, SCSS, Less, Stylus; and frameworks, for example Ruby on Rails, Node.js, and Django. It also lacks integrated profiling and database tools.
If having IntelliJ IDEA Ultimate edition is important to you, it could be quite costly, especially for individual programmers.
Working simultaneously on multiple projects in IntelliJ IDEA is not simple. In order to do so, the user must configure each project as a module, instead of simply having multiple projects running.
Not only does IntelliJ IDEA have higher system requirements and recommendations than its competitors, but it is widely regarded as slow and heavy. Slow to start up, slow to index, slow to compile.
Conclusion
IntelliJ IDEA’s wide variety of features make it advantageous to beginner, individual, and professional developers alike. It has both a free version for those not ready to shell out the cash for a subscription, and a simple UI for those unused to working in an IDE.
The Ultimate license of IntelliJ IDEA can be found in many IT workplaces. And with the bundle price, companies can use 10 different JetBrains IDEs, and pay for only 2.
However, using IntelliJ IDEA on its own can have a “boxed in” feeling for developers who work on a variety of different projects. Thus, it may not have the versatility that some professional developers need.
Despite its drawbacks, IntelliJ IDEA is still one of the best Java IDE’s on the market, and many developers swear by it.
Pros: Community Version Available, Many Features
PyCharm is a JetBrains powered, Python-specific IDE. It offers support for Python, Python for Web development, and Python for scientific development.
There are multiple licensing options, including a free, Community edition. This includes code-editing, refactoring, testing, and debugging tools; editors for HTML, XML, YAML, JSON, and RelaxNG; support for version control from Github, CVS, and more; as well as a number of customizable UI features.
Its Ultimate edition provides a very wide range of features: support for Cython; a Python profiler; Duplicate code detection; .po files support; REST Client; editors for CSS, SASS, SCSS, LESS, HAML, Stylus, JavaScript, CoffeeScript, TypeScript, and Node.js; all functionality of WebStorm; seven different Python web frameworks; remote development and container capabilities; scientific tools; and SQL database support.
There are also +2400 plugins available, so if this long list of features was not enough, there are even more in the JetBrains marketplace.
Cons: Price, Lack of Community Features, Heavy
Pycharm’s long list of features comes at a price. Many have complained that Pycharm is a memory hog, especially when users may not even need all of its many tools. Plus, it does not have a package installer to help lighten the application.
On top of this, Pycharm comes at a relatively high price. This may be discounted for some users and larger businesses; however, it is important to keep in mind that Pycharm is a specialized IDE.
For those unable to pay for a subscription, there is a free, Community license. However, this license is almost an empty shell of the Ultimate edition: there is no database support nor Python profiler, there are no Python web frameworks, and it has only very basic web development tools.
Conclusion
While the gap between Community and Ultimate features may be wide, PyCharm Community is still no bare-bones IDE. Furthermore, its reliability, customization features, and specialized, intelligent tools, make it an excellent Python IDE.
For professionals with the hardware and means for Ultimate licensing, PyCharm is an ideal IDE for Python development. For those who qualify for one of JetBrains’ many discounts, this edition may also be a great choice.
While this might be a great IDE for organizations, PyCharm is not as kind to individual developers. Those in need of a low-cost or free Python IDE that can support specific databases or scientific tools will have to keep looking. And for beginners, the wide array of features may be overwhelming. On top of that, those without a powerful enough machine might encounter issues with running this IDE.
Whatever the user decides, PyCharm is a solid Python IDE. It would be an excellent choice for developers willing to take some time to learn its features, and for those who have the system to run it smoothly.
Pros: Basic, Free, Well-Rounded, Customizable, Light
Code::Blocks is a free, open-source IDE, built primarily for C, C++, and Fontran. Its main goal is to be as customizable and extensible as possible. Unlike many other IDEs, Code::Blocks is written in C++, and thus avoids many of the issues and inconveniences that can come with IDEs written in Java.
Code::Blocks offers a great deal of freedom to its users, even before they install the program. While some IDEs recommend installing the binary release, Code::Blocks has an option for downloading the source code and building a custom application. They also offer nightly and community builds, as well as access to the source code from SVN, allowing users to access builds as the Code::Blocks team debugs it.
It’s also worth mentioning that Code::Blocks has no official minimum system requirements, and can run even on Windows XP.
Out of the box, it supports multiple compilers, debugging tools such as full breakpoint support or user-defined watches, and code-editing tools such as customizable syntax highlighting, code completion, and smart indent.
Code::Blocks also boasts a community-driven plugin marketplace that can provide virtually any feature necessary.
Cons: Old-fashioned, Sporadically Updated, Lacking macOS Compatibility
Code::Blocks’ old-fashioned approach to marketing and development may be nice for some, but others may find this off-putting.
Because Code::Blocks is a free software, it is only updated as the team is able. This is sporadically, at best. Their FAQ page sums up their limitations:
Q: When will the next stable version of Code::Blocks be released?
A: When it is ready.
Q: But when will it be ready?
A: When it is released.
(Code::Blocks, 2012)
Code::Blocks also has limited macOS compatibility. Users with 10.6 or later can use Code::Blocks, but only up to their 13.12 build. While you can forget about working with the 20.03 build on your shiny new Big Sur, Code::Blocks is looking for an extra Mac developer to help with these issues.
Conclusion
For C, C++, and Fontran developers using Windows or Linux, and for macOS developers willing to use the 13.12 build, Code::Blocks is hard to beat. It is free, lightweight, and straightforward, making it an option for beginners and professionals alike. Few IDEs have achieved both the same simplicity and customizability that Code::Blocks has managed. It also supports additional languages and features with plugins.
For those concerned about the UI and sporadic updates, a free software like Code::Blocks may not be a good fit. This could be especially true for business and enterprise developers, who might require the cutting edge of IDEs for their projects.
And those operating on macOS, who require more features than what 13.12 can offer, have to look elsewhere.
Despite its drawbacks, there is a reason why Code::Blocks has maintained a loyal following for almost two decades: at its core, it is an IDE made for virtually any individual developer out there.
Pros: Essential for iOS Development, Cutting-edge Features
Xcode is the essential toolkit for publishing Mac, iPhone, iPad, Apple TV, and Apple Watch applications. Xcode offers support for up to Swift 5.3, code editing tools, multiple compilers, debugging tools that include graphical debugging, testing tools such as XC Test API capabilities for building unit tests, as well as support for plugins and an SDK with a mac-based simulator.
The newest build of Xcode, Xcode 12, now offers SDKs for iOS 14, iPadOS 14, tvOS 14, watchOS 7, and macOS Big Sur. It also includes Swift UI built for Big Sur, features to build universal apps on both Intel-based Macs and Apple Silicone Macs, and added user controls and frameworks.
Not only is Xcode a fully equipped IDE, but it is also the premiere IDE for Apple development.
Cons: Essential for Apple Development, Pricey, Lack of Customization, Heavy
Apple excels at simplicity. However, this simplicity also means that users relinquish virtually all ability to customize their products. Like other Apple products, Xcode is pretty airtight; there is little customizability or extensibility, especially compared to other IDEs.
Xcode also takes an airtight approach to software development. Users must develop for Apple, on Apple machines. This also means that Xcode is virtually the only toolkit with the necessary components to submit App Store applications. In other words, in order to publish Apple applications at all, users must have an Apple machine and Xcode (and the Apple Developer license).
Those who do not have an Apple machine might be able to work around this with a VM, but Xcode is a heavy program and this may affect performance. (There are other options, too, such as making a hackintosh or renting a macOS, all of which are less secure and not recommended.)
Xcode is also pricey, especially for individuals and smaller businesses looking to publish on the Apple store. Purchasing the Apple Developer Enterprise license (yearly) is a must to actually publish applications, and it is not cheap. The free version (with Apple ID) has limited features and does not have the tools required to publish an application. On the other hand, there are some waivers for these fees, for those who can meet the requirements.
Lastly, Xcode is very heavy, especially its newer builds. Xcode requires 10.15.4 or higher, or Apple Silicon 11.0, and Xcode 12 was built mainly for Big Sur. Additionally, it can take up a lot of memory; there have been complaints throughout Xcode’s history that it is heavy and slow on many machines.
Conclusion
For those looking to learn to program Apple applications, who also have the necessary OS and machine, Xcode is very useful.
For those looking to use the free version, Xcode would also be an excellent learning tool, especially since it is the environment that most all Apple developers use.
Those looking to publish applications in the App Store must have Xcode, as it is difficult to publish anything without the toolkit it includes.
It is hard to compete with Xcode, as it is one of the few options for developing Apple applications; but its reliability, versatility, and many features for Apple development make it a strong choice for both professionals and beginners alike.
Pros: Price, Simplicity, Low System Requirements
Aptana Studio 3 is an Eclipse-based IDE designed for web development. It is straightforward, free, and has an involved community of developers.
It offers most tools necessary for web development, such as code assistance for HTML (up to 5), CSS, and JavaScript; a deployment wizard that can, for example, publish Ruby on Rails applications automatically; an integrated debugger; Git integration; a built-in terminal; and options for customization.
Aptana Studio 3 offers a variety of features for which other web development IDEs may require a subscription (i.e. PhpStorm and WebStorm): support for JavaScript editors and libraries, CSS editors, and more.
Cons: Not Intuitive for Beginners, No Centralized Support
For those starting out in programming, and those who value a centralized source of support, Aptana Studio 3 may not be the best fit. Aptana has no tutorials on its website, no detailed list of features, and discussion questions link directly to a tag on stackoverflow.
Furthermore, in order to download the IDE, users are linked to a Github folder, which may be daunting for beginners. Its marketing approach is extremely different from larger IDE makers such as JetBrains or Microsoft, who have virtually all relevant information about their products within their websites.
Conclusion
Although Aptana Studio 3 may not have the same cult following as its cousin, Eclipse, it is still a solid IDE for web developers. It is simple, straightforward and, more importantly, free for all.
For those starting out in web development, Aptana Studio 3 would make an excellent IDE— especially since some of its largest competitors, PhpStorm and WebStorm, do not have community licenses (although PyCharm does, it does not include a number of Aptana Studio 3’s features). And for those already using Eclipse, Aptana Studio can be integrated easily as a plugin.
For professional developers and developer teams, Aptana Studio 3’s simplicity may be an issue. The lack of support, both for product information and issue support, may be a deal breaker for some businesses and development teams.
But, unlike other web development IDEs, Aptana Studio 3 is seemingly built for the individual developer— something that can, at times, be hard to find.
Pros: Free, Versatile, Lightweight
Komodo is a multi-lingual IDE from the Active State platform. For personal use, the Community license is completely free.
Komodo IDE includes smart code editing features such as refactoring, search and navigation, and XML auto-complete. It supports syntax highlighting for virtually every language, and supports smart coding features for Python, PHP, Perl, Tcl, Go, Ruby, Node.js, JavaScript, HTML, and CSS. It has a number of general- and language-specific debugging features, which include support for Python, PHP, Perl, Ruby, Node.js, Tcl, XSLT, and Chrome. These features range from graphical debugging, to multi-process debugging, to multithreaded debugging. There are also profiling features for Python and PHP, database capabilities, and unit testing for Python, PHP, Perl, Ruby, Node.js, and Go.
For its low system requirements, Komodo hosts many features. It is ideal for those looking for a lightweight IDE that can also easily support multiple languages.
Cons: Expensive, English-only UI, Lack of Language Specific Features
Komodo IDE itself is free, but requires an account with Active State. To receive Active State support and keep projects private, the user must upgrade to the Coder license. Their FAQs offer more information, specifically about their “freemium model”.
Unlike other free IDEs, Komodo does not offer UI translations. While its coding tools are multilingual, its UI is only offered in English.
For those looking for more specialized or intelligent features for specific languages, this IDE may not be a good fit. Many of its out of the box features are focused largely on web-development, and may not be as suitable as other, more specialized, IDEs.
Conclusion
Unlike many IDEs that sacrifice weight for versatility, Komodo manages to be well-rounded, highly multi-lingual, and lightweight, all at once.
It has relatively low system requirements and runs on Windows, Linux, and macOS (although version 12 is unstable on Big Sur as of now), making it a great option for both large teams and individual programmers.
However, Komodo does not have the same level of specialization as other IDEs, meaning that it may not have as many advanced features in certain languages that some programmers may need. But it still has fairly advanced features for Python, Php, Perl, Ruby, and others.
Overall Komodo is an excellent IDE, especially for programmers who regularly work in multiple languages. Few IDEs can work with as many languages as Komodo, and still boast system requirements as low as 1 GB RAM and 250 MB Hard disk space.
Long past are the days when IDEs had only a few basic features. IDEs today, namely those listed here, can cater to virtually every programming need.
But let’s get real: which one is the best?
The short answer: any IDE on this list is excellent.
The long answer: the best IDE is based on a programmer’s needs and preferences. While Eclipse and IntelliJ IDEA can do many of the same things, some users may be more drawn to JetBrains’ UI and business model. Others may be drawn to freedom, simplicity, and free or open-source software models.
The best integrated development environment is also not always the one that can do everything. It is the one that can do what the programmer needs, the one that runs well on the programmer’s machine, and the one that the programmer can look at day-in and day-out.
So go ahead, try one of these IDEs and decide which toolbox best helps you with your software development needs!
Previously published at https://www.webcreek.com/en/blog/technology/top-ides-2021/