By Jamie Mercer
Modern software development often requires working with myriad tools in multiple languages, and this complexity can often cause frustration for even the most experienced developers. This is why programmers often use Integrated Development Environments (IDEs) to do some of the heavy lifting for them.
When it comes to the tools to optimise their workflow, programmers tend to have very strong opinions on their favourites—and their least favourites too. Finding the best IDEs or Code Editor for you and your team is important to make sure you’re working efficiently and streamlining your workflow.
But before you make your mind up, you need to know what options are available for the language you’ll be coding in.
An IDE is an application which acts as an editor, debugger and compiler all in one. Complete with different tools and development functions they can assist in the creation of software and applications, many of them offer cross-platform support for developing on multiple operating systems, and some allow multiple languages to be used in the same tool.
Most developers prefer to do all of their work within one tool, such as Visual Studio, and only leave when debugging. Other developers are quite happy using a barebones text-editor with no GUI to speak of, such as vim, and make use of other make and command-line tools.
To make your development process simple, you need to think about the needs of your developer and the application. Do you need to develop an app for mobile as well as web, or do you need to code in multiple languages? You should also take into consideration which operating system you will be working on.
For some of us, the appeal of a multi-language IDE can be too strong and being able to code in Python, Ruby, and PHP in the same tool can be too big a draw. In most cases, your team will be programming in more than one language so having everything under one roof can be helpful.
There are also very niche and specialist tools which excel at specific tasks, so another school of thought is to always use the best tool available for each task and jump around from tool to tool in the process. These are some of the most popular IDEs and environments for web and software developers.
Cost: Free
Platform: Windows, Mac, Linux
Languages: Java, PHP, Python, Ruby, C/C++, JavaScript, HTML, CSS, Perl, .NET and more
Eclipse is a free and open source editor containing a variety of development frameworks. It originally started life as a Java Development Environment and has since evolved into a hugely popular IDE through a series of lightweight plugins and extensions.
Its wide selection of plugins and supported languages are typically praised, along with its fast compiler, font rendering, and debugging tools. Criticisms levelled at Eclipse are that it’s slow, the plugins can sometimes be unstable, and that it suffers from poor UI.
Cost: Free
Platform: Windows, Mac, Linux
Languages: Java, PHP, Python, Ruby, C/C++, JavaScript, HTML, CSS
Along with Eclipse, NetBeans is another very well-respected IDE that has been around for some time. Free, open source, and cross-platform; there are a lot of things to like about NetBeans.
Powerful debugging and performance optimisation tools, as well as a plethora of languages and plugins, mean you can throw a lot at this IDE. Now an Apache incubator project, the latest version of the IDE brings support for Java 11.
Cost: Community Edition is free, Ultimate Edition £119 – £399/year
Platform: Windows, Mac, Linux
Languages: Java, PHP, Python, Ruby, C/C++, JavaScript, HTML, CSS, Perl, .NET
IntelliJ IDEA is another popular IDE featuring cross-platform support, multi-language support, bracket matching, an integrated debugger, and a variety of code templates. Created by JetBrains, IntelliJ comes in two different flavours: a free Community Edition, for open source or educational purposes, or an Ultimate Edition with more features. IntelliJ also comes with the capability to develop for Android.
The Community Edition supports Java, Python, and PERL out of the box, while other languages can be unlocked via the Ultimate Edition.
Cost: Free
Platform: Windows, Mac, Linux
Languages: Java
BlueJ is a free Java Development Environment designed mainly for teachers and students. Its simple interface and stripped back approach make it ideal for getting started quickly without being overwhelmed. BlueJ can run on most platforms that run Java, but it can also run from a USB stick without installation.
BlueJ is easy to learn and great for someone who is looking for their first IDE. This accessibility does come at the cost of features and common elements such as syntax highlighting and code completion. This lack of advanced features makes BlueJ better suited for small projects but not robust enough for bigger projects.
Cost: Free (charity-ware—donations are encouraged)
Platform: Windows, Mac, Linux
Languages: C/C++, Java, Python, Perl, and more
Vim is a lightweight, open source text editor very similar to vi. It is keyboard based and can run without the use of a mouse input device. However, a GUI also exists so that menus, for example, can support mouse input if required. The out-of-the-box support is very impressive with 200+ syntax files for colorising text in several common programming languages. A variety of plugins are capable of adding further support for more languages.
Initially released in 1991 by Bram Moolenaar, Vim continues to be incredibly popular and is updated frequently by a very active user base. A running argument since the early days of the internet has been between Vim users and Emacs users, with both sides equally passionate about their text editor of choice.
Cost: Free – £305/month*
Platform: Windows, Mac, Linux
Languages: Java, Kotlin
Codename One is a set of mobile development tools allowing code to be written in Java and for it to work on mobile devices such as Android, iOS, Windows Phone, MacOS, and web. Developers can build their app in Eclipse, NetBeans, and IntelliJ IDEA using the Codename One plugin.
The free package offers community support and a 1mb build jar size, while the basic package ($19/seat/month) also offers unlimited build credits, access to native sources, and an increased 50mb build jar size. The $79/seat/month Professional package includes everything in the previous bundles as well as push notification, crash reporting, versioning, email support, and native desktop apps. If you are looking for JS App generation, offline builds, continuous integration and on-device unit tests then you may need the Enterprise bundle ($399/seat/month).
Cost: Free
Platforms: Web-based
Languages: Java, PHP, Python, Ruby, C/C++, JavaScript, HTML, CSS, Perl, .NET
Koding is a development environment that allows developers to set up environments and start programming in minutes. No longer web-based and available through GitHub download, it can be used alongside local IDEs using their command line tool “kd” to automate development environments.
Thinking about Koding more as SaaS than as an IDE, Koding’s analytics allows CTOs to easily identify bottlenecks and holes in productivity and provides performance and efficiency information about your workflow and organisational performance. For developers, it means being able to set up environments within minutes and being able to share them with colleagues in real-time or leave them open.
Cost: £112 personal licence – £1,250*+ for teams of five or more
Platform: Windows, Mac, Linux
Languages: Angular, C#, C++, CSS, Go, Haskell, HTML, Java, JavaScript, MySQL, Node.js, Perl, Python, Ruby, and more
For the price, Komodo comes a wealth of extras and support which is unmatched by many of the free IDEs. Students and freelancers can purchase a licence for $147, and single licences can be bought for $295 without upgrades or support or $394 with those options included. For teams of five, a bulk pack can be purchased for $1,675 with upgrades and support, and for a site-wide licence, creators ActiveState recommend contacting them directly.
Komodo features revamped code intelligence, print debugging, inbuilt documentation via devdocs.io integration, and live previewing. Many developers also appreciate the built-in version control and the collaboration tools which removes the need for TeamViewer or DropBox as a way of seeing each other’s code.
Get your Komodo subscription here
Cost: Free – £191/month*
Platform: Windows, Mac
Languages: PHP, Python, Ruby, C/C++, JavaScript, HTML, CSS, Perl, .NET
Microsoft’s Visual Studio is a fully-featured IDE for creating apps for Android, iOS, Windows, macOS, web, and cloud. There are three tiers of access to Visual Studio: a free Community edition for students and non-commercial, individual developers as well as paid-for Professional and Enterprise editions for small teams and large scale businesses, respectively. Microsoft takes pride in its code editor and debugger calling them ‘world-class’.
With an extensive library of plugins and extensions, IntelliSense features and a vast product backlog make the Visual Studio IDE a must-have for many developers. However, it is a behemoth, taking up 5GB of space. This size means there can be some sluggish performance issues and slowdown on lower-end PCs.
Download Microsoft Visual Studio
Cost: Free
Platform: Windows, Mac, Linux
Languages: PHP, HTML, CSS, JavaScript, and more
Brackets is an open-source editor which caters for web developers. Initially created by Adobe Systems and is now maintained by the community on GitHub. Brackets features in-browser live-updating which automatically refreshes the browser with the latest saved version of the file opened in the browser. An extension manager also exists and the popup previews for hex colours or images is also a nice touch.
It isn’t without its downsides, though. Some users report sluggish performance and a problematic updater and the useful Extract tool to get information from a PSD file for convenient CSS editing has been removed. This feature is still available in Dreamweaver and Photoshop via the Adobe Creative Cloud suite.
Cost: Free – £1,916*/month
Platform: Windows, Mac, MS App Store, Android, iOS
Languages: JavaScript, HTML, CSS
Kony is a low-code platform for omni-platform mobile app development. Using JavaScript skills, developers can create native, hybrid, and web apps from a single IDE. There is a choice of open source and third-party frameworks to choose from, and pre-built templates can also be used.
There is also support for ‘next-gen’ user experiences such as chatbots, voice control, and augmented reality. The free AppPlatform allows for one application and features limited scalability and developers are limited to the Kony Cloud deployment option. The Enterprise level package starts from $2,500/month and features unlimited applications, more users, auto-scaling, automated backups, guaranteed uptime and support.
Cost: Free – £1,452
Platform: iOS, Android, Windows Phone
Languages: JavaScript, HTML5, CSS3
The latest stable build for Sencha Touch was released back in 2015 and is officially no longer supported; however, the functionality has been merged with Ext JS which means developers have the tools they need to build cross-platform web and mobile apps for iOS, Android, and Windows Phone. IDE plugins are available for JetBrains, Eclipse, and Visual Studio.
The last build of Sencha Touch (2.4.2) is still available to download for free, but if you want the latest support then Ext JS packages start at $895 per licence up to $1,895 but there is a minimum order of five licences, so the actual cost is closer to $4,300 – $9,200 after discount. Single developer licences are available and range from $960 – $1,440.
While users praise Sencha Touch’s native feel and thorough documentation, critics say that the cost prices out all but enterprise-level customers.
Download Sencha Touch and Ext JS here
Cost: Free
Platform: Windows, Mac, Linux
Languages: PHP, Python, Ruby, JavaScript, HTML, CSS
The Aptana Studio IDE is closely based on Eclipse and is a popular choice amongst web app developers. Aptana Studio can be downloaded as a standalone tool or as a plugin for Eclipse 3.5+. This IDE comes with Firebug support as standard, but the community appears to release plugins for other languages as and when needed or completed.
Aptana is positively reviewed by developers for web-based projects but has a couple of dependencies to keep in mind. It’s built with Java and has some JDK requirements, such as needing Git, and if you’re installing it as an Eclipse plugin, then you’ll need Eclipse 3.5+.
Cost: Free
Platform: Windows, Mac, Linux
Languages: C/C++, Clojure, CSS, Erland, Haskell, HTML, Java, JavaScript, Perl, PHP, Python, Ruby, SQL and more
Geany is a lightweight GUI text editor with some basic IDE features but its cross-platform appeal and built-in plugin manager to add more powerful features could mean this could be the IDE for you. Because Windows lacks a virtual terminal equivalent, this version does not include the rather handy embedded terminal window (accessed using F5).
Looks and style-wise, Geany has more in common with Notepad or Notepad++ rather than Vim or Emacs. However, it does feature several IDE creature comforts including autocompletion, simple project management, syntax highlighting, and a variety of plugins and extensions.
Cost: £4 – £250*
Platform: Web-based
Languages: Java, PHP, Python, Ruby, JavaScript, HTML, CSS
ShiftEdit is an online IDE aimed at web developers. This web-based tool can be connected to FTP, SFTP, Dropbox, Google Drive, or even GitHub or Bitbucket to access your project files. Other features include autocomplete, syntax checking, a fully functional terminal, live preview, and revision history.
The basic package costs $6/month and includes the online IDE, real-time collaboration, a terminal client, git client, 50 projects, and limited revision history. The business licence ($15/month) contains everything in the basic plan but has unlimited projects and revisions. Enterprise and large businesses can purchase enterprise licences, which is the same as the business licence, for $60/month for five users up to $320/month for 50 users.
Cost: Free
Platform: Windows, Mac, Linux
Languages: PHP, C/C++, JavaScript
CodeLite is a cross-platform, open source, free IDE for C/C++, PHP, and JavaScript (specifically Node.js). CodeLite boasts several professional-grade features, such as git, subversion, GUI-building, as well as icon sets, making it a fast and responsive lightweight IDE.
There are frequent updates too, with almost daily activity on the project’s GitHub page. Although it only supports four languages, the languages it does support are well-served.
Cost: Free
Platform: Windows, Mac, Linux
Languages: C#, F#, Visual Basic, .NET, Vala, HTML5
MonoCross is a model-view-controller framework used to develop native and HTML5 web apps. Additionally, MonoCross uses MonoTouch to create applications for Android, iOS, and Windows devices.
MonoCross can be used with Visual Studio or with the MonoDevelop IDE, which features advanced text editing, an integrated debugger, and the GTK# visual designer. Both MonoCross and MonoDevelop are free to download and the source code is available to view on GitHub.
Cost: Free
Platform: Windows, Mac (outdated version), Linux
Languages: Java, Python, Ruby, C/C++, HTML, CSS, Perl
Code::Blocks is a free, open source, cross platform IDE for C/C++ and Fortran. Up to date releases are available for Windows and Linux; however, the Mac OS X release has not been updated since December 2013 due to a lack of Mac developers helping on the project.
This IDE has a debugger which supports multi-threading and being able to use or create your own plugins makes this a very customisable experience. However, due to problems with indention it can be difficult to make the code look nice and code completion is lacking compared to some other IDEs.
Cost: Free – £75*+ pp/pm
Platform: Web-based
Languages: JavaScript
Appcelerator is an IDE and Titanium SDK with added features, such as a visual app design tool and a Hyperloop which allows access to every iOS and Android API using JavaScript and can run Java, Objective-C or Swift alongside Titanium.
The Indie Seat package is free, but you can’t see or share work with other seats. While a decent option for solo developers working on small projects, this does have obvious limitations. Team options start at $99 pp/pm but a team bundle is also available for $259 per bundle per month.
If you want to add cloud capacity and mobile services, these start at $24/month but the most useful starting point for most small development teams will be at the $39/month price point. You don’t need to buy cloud capacity if you’re working on front-end projects only and have no need for push notifications or cloud storage. Similarly, if you just need the cloud backend, you can purchase that separately and use any front-end technology of your choice.
Download Appcelerator Titanium Mobile here
Cost: Free and paid plans available
Platform: Windows, Mac, iOS, Android, Windows Phone
Languages: CSS3, HTML5, JavaScript
PhoneGap is the mobile application development framework formerly known as Apache Cordova that enables developers to build applications for mobile devices. This tool is open source and cross-platform and essentially acts as a collection of HTML pages wrapped in a native shell which are then pushed to native platforms via native APIs.
While PhoneGap is a development framework for developing mobile applications, PhoneGap Build is a separate product and offers a cloud-based service that is built on top of the framework. Put simply, PhoneGap Build allows you to develop mobile applications using the PhoneGap framework online. The plans range in cost from free to starting from $9.99/month, but PhoneGap Build is also included in Creative Cloud memberships.
Cost: Free – £7,662*/year
Platform: Web-based
Languages: HTML, JavaScript, Ruby, CSS
RhoMobile Suite is a set of open source web development tools based on the Rhodes framework. Developers can build mobile applications using web technologies and then deploy RhoMobile Suite to write once and run it on commonly used operating systems such as Android and iOS.
The Suite is comprised of Eclipse plugin Rho Studio, mobile application container RhoMobile, and their server application RhoConnect. RhoMobile comes with the Rhodes API library and RhoElements; an additional API library customised to run Zebra technologies.
Cost: £75*
Platform: Mac
Languages: HTML, CSS, JavaScript, PHP, Ruby, Python, and more
Espresso is an IDE for Mac developers with a focus on web development. As well as the languages supported out of the box, plugins can also ‘power up’ Espresso to add support to C, Clojure, Erlang, Haskell, Objective-C, Perl, SQL, and more.
Each Espresso licence costs $99 and includes all updates within the current major version cycle.
Cost: Free
Platform: Mac
Languages: C/C++, Java, Python, Ruby, Swift, Perl, and more
Xcode 10 is the latest release of Apple’s IDE for building apps for Mac, iPhone, iPad, Apple Watch and Apple TV. The source code editor has been rebuilt from scratch, and Apple says it delivers solid performance including scrolling at a ‘constantly smooth rate,’ regardless of the size of the file. The new editor also has a built-in refactoring and transformation engine offering operations such as Extract or Rename.
Xcode also features support for GitHub accounts and repositories. Other tools include an intelligent Assistant editor, Jump Bar, Interface Builder, Version Editor, and Test Navigator. To use certain languages, such as C# or Perl, third-party plugins are necessary and it should be noted that if you wish to build Java web applications or services.
Some developers feel that IDEs are too resource heavy and only provide users with experience in one way of programming. The theory is that if a developer can create an application in a text or code editor then they can create an app in any environment. Some code editors, such as Vim, don’t even require a mouse in order to work and, for specific scenarios, going keyboard only could be a necessity.
For some projects, an IDE might be overkill. If you’re creating quick scripts to help automate some tasks in a language like Ruby then an IDE can feel unnecessary. The downside to using a code editor is that you will still need a compiler and debugging is going to have to be completed manually. Here are some popular code editors which you might like to use for small-scale projects or when an IDE is just too much.
Cost: Free
Platform: Windows
Languages: C/C++, CSS, HTML, Java, JavaScript, Perl, PHP, Python, Ruby, Swift, and more
Notepad++ is a free and open source code editor and an alternative to Notepad which supports several languages. It features syntax highlighting and folding, a customisable GUI, autocompletion, tabs for multi-document viewing, bookmarking, and macro recording and playback.
“Notepad++ is absolutely essential these days,” says senior Informatica developer Michael Downie. “It has a lot of background features that make coding more user friendly. For instance, things like if you click on an opening bracket it will highlight the relevant closing bracket. Also, you can paste a mess of code into it and—with a button click—it’ll arrange it so it’s readable.”
Cost: Free
Platform: Windows, Mac, Linux
Languages: HTML, CSS, PHP, C/C++, JavaScript, Java, Go, SQL, Perl, Python, Ruby and more
Bluefish is a free, open source advanced text editor which comes equipped with several useful developer tools. Bluefish features syntax highlighting, autocompletion, code folding as well as auto-recovery and upload/download functionality. Bluefish is considered best for editing dynamic and interactive websites.
Cost: Free
Platform: Windows, Mac, Linux
Languages: C/C++, CSS, HTML, JavaScript, PHP, Perl, Python, Ruby, and more
Developed by GitHub, Atom is a hackable text editor with cross-platform support, a built-in package manager, autocompletion, a file system browser, and multiple panes. Additional open source packages can add further functionality to Atom, or if you can’t find what you’re looking for, you can create your own package and share it with others.
Cost: Seven-day free trial and then £75*
Platform: Mac
Languages: PHP, HTML, CSS, JavaScript, and more
Coda pitches itself as a complete resource to hand-code a website in one application. It has all of the typical features of a text editor such as syntax highlighting, code folding, project-wide autocomplete and automatic tag closing.
There are some nice surprises, however. With the inclusion of the “wildcard” token, RegEx is completed via one button. Additionally, creating colours and gradients can all be done on the fly using simple controls. There are myriad plugins, themes, modes, and sidebars available to further expand the functionality of Coda. If you can’t find what you want, you can write your own plugin with the available kit from Coda.
Cost: Free
Platform: Windows, Mac, Linux
Languages: C/C++, Java, JavaScript, Perl, Python, Ruby, and more.
Emacs is a family of text editors typified by their ability to take future growth and scalability into consideration. The most popular Emacs text editor is GNU Emacs, created by Richard Stallman, and has been in use since its launch in 1985.
GNU Emacs features content-aware editing modes and an ecosystem of behind-the-scenes tools including a project planner, debugger interface, and calendar. Most users would agree that GNU Emacs takes some setting up before it can be used as an IDE replacement. Some would also argue that the keyboard navigation commands are non-standard which can cause users moving from one code editor to this one particularly frustrating, and vice versa.
Ultimately, the IDE or code editor you need comes down to a range of factors that will be unique to each user. In terms of cost, there are some great free options that can be expanded with optional plugins and at the other end of the spectrum are $30,000/year behemoths.
Some utilities focus on supporting just one language or development for one platform, which might suit you perfectly, however, if you need cross-platform support, then you will obviously need to look elsewhere if you want to keep everything contained to one application.
The right tool for you and your team is the one that suits your needs as close as possible. Hopefully, this can help you identify what you need and which tool will best match your requirements based on that brief.
*costs converted from dollars to sterling on 9th April 2019
Find your dream tech job today.
Sign up for tech tips