The first essential thing for all developers to square away is their development environment. In this article, recent Alumnus Andy Tuttle compares some of the most popular text editors and IDEs to help you get set up and coding away.
Traditionally, the basic notepad and simple text editors could suffice for a coding platform, but in order to provide most of the modern conveniences like syntax linting, error correction, project folder organization, and build tools, current text editors have become much more robust. Some of the latest and most popular text editors include:
The standard text editor for most web developers, currently on version 3. It has a huge community of users, plenty of packages to extend functionality, and it supports a wide variety of languages and standards. Only issue? The paid version is $99 or so, and though you may use the free version indefinitely, an annoying pop-up window will hit you every so often.
TextWrangler and BBEdit (Mac)
Another simple text editor with minimal features focused on bringing an easy development experience to development projects with little to no waste. TextWrangler - produced by Bare Bones Software is being phased out in favor of their other text editor BBEdit which has a similar aesthetic and use case.
For those times when a lightweight text editor just won’t cut it, Integrated development environments (IDEs) provide advanced refactoring tools, error handling, emulated build environments, and debugging tools. These programs are full-featured, but definitely heavily resource intensive.
Most IDEs are specifically suited for advanced users or specific languages. Some of the most well-known are:
The Microsoft behemoth is a full suite of development tools for most languages. Most C based languages (and especially C#) are fully supported and build tools are specialized for .Net and Microsoft technologies.
The Apple giant that runs on every Mac. It specializes on objective-C and Swift development tools. It even offers full emulated iOS build environments.
The open source, cloud-based IDE ecosystem for multiple languages and uses. Eclipse was originally a Java development platform but has since expanded to many uses and other platforms.
The standard for Java and J2EE development. This is a very full featured IDE developed specifically for the Java developer working in the JVM environment. It strongly integrates all necessary tools for enterprise level apps. Also, the official Android SDK IDE is build on IntelliJ.
Other more specialized software for development may take on many forms, and can include a vast array of options. A few final mentions are:
Visual Studio Code
This is Microsoft’s attempt at creating an extensible, lightweight, open-source platform for many different developers to use. So far, the reception in the community has been very positive and there are already many custom modules to add more functionality to each piece of the project. Think of it as a text editor that can be beefed up to near IDE levels of functionality.
Currently, there is ample support for most modern languages and integrations with some of the most popular tools in the industry.
Vim vs. emacs
These two editors are some of the most talked about and fought over editors in the history of text editors. They really are their own ecosystems and have very zealous fan bases.
Vim is based on the original Unix vi terminal editor and is frequently used to edit settings and small changes on the fly. Emacs is the free GNU open-source editor that champions customizability and extensibility. While each has its pros and cons, the answer for any beginner is to stick to something that you find simple to use.
The text editors and IDEs mentioned above are just a small sampling of the most prevalent and popular editing environments available to developers today. Many more have specific uses and are simply custom designs of similar concepts. As a developer, find a few that work for your needs and stick to them -- learn the details and extend the functionality and UI to fit your workflow.
What's important is that you are able to easily navigate the whatever editor you use to get to what really matters: your projects.
This blog post was brought to you by Andy Tuttle, who graduated March 24th, 2017, and is currently a Software Engineer @ Itential in Atlanta.