Pinterest Stumbleupon Whatsapp
Ads by Google

For those who are new to coding Learn to Code with These 7 Courses from Microsoft and edX Learn to Code with These 7 Courses from Microsoft and edX Create mobile-first pages or code cloud solutions. There's a lot you can achieve with key technological skills. Now, you can learn to code with Microsoft's well-packaged courses on edX. Starting soon. Read More , there’s nothing more important for your productivity than a comfortable integrated development environment (IDE). But are integrated development environments always good? How do they differ from text editors and command-line tools?

And more importantly, what are the best IDEs out there? What should you look for when choosing one? All of these questions can be overwhelming, so lets take it slowly and go through them one step at a time.

Why You Should Use IDEs

We’ll start with the D and the E: development environment. What this means is rather straightforward: it’s a program (“environment”) where software development takes place. In other words, it’s where you write code and turn that code into a final product (e.g. compiled program, web app, etc).

What makes an IDE so useful is the I: integrated. You could use just about anything for a development environment — and many people use a variety of basic, individual programs in place of an IDE — but an integrated environment gives you the ability to do everything in a single editor.

ninja-ide

For example, most IDEs contain debuggers. This means you can write your code and debug it in the same program. Without an IDE, you’d have to write your code in a text editor and then debug it with an external linter or compiler. Depending on the language, this can be a frustrating mess.

Ads by Google

Many IDEs also include convenience features (e.g. easy navigation functionality, code auto-completion, class explorers, hierarchy diagrams, etc) and tools that help you automate development (e.g. source version control What Is Git & Why You Should Use Version Control If You’re a Developer What Is Git & Why You Should Use Version Control If You’re a Developer As web developers, a lot of the time we tend to work on local development sites then just upload everything when we’re done. This is fine when it’s just you and the changes are small,... Read More , testing tools, etc). Not all IDEs include all of these tools, and you may choose to use one with fewer features if it suits you better.

Every IDE supports a specific set of languages. Some of the bigger-name IDEs support just about every language you could ever want, while others are meant for a single language or a small subset of languages. (A great example is Xcode, Apple’s native IDE, which supports all languages that are used to develop Apple products.)

xcode-app-store

Most people will use a big-name IDE that supports a wide range of languages, but smaller ones can also be very useful if you’re in a niche area. For example, Eclipse can be used for Java, C, C++, Python, and even TypeScript, while something like ZeroBrane is specifically meant for Lua and nothing else.

By putting all of these features in a single place and interacting with them through a single interface, IDEs allow developers to program more efficiently. You don’t need to learn multiple programs, check compatibilities, get them working together, and even switch between them. This can save you a lot of time and energy.

When IDEs Are Simply Overkill

Of course, not everyone wants to use an IDE. For many projects, it’s overkill. For example, if you’re learning to code with Arduino Which Programming Languages Can You Use With Arduino? Which Programming Languages Can You Use With Arduino? Ready to try something different with your Arduino? You needn't be confined by programming in C. Take these alternative languages for a test drive. Read More , you’re not going to need a big, complicated IDE to get everything working. If you’re whipping up a quick script in Ruby to help you automate some tasks Learn to Automate Your Mac with AppleScript [Part 1: Introduction] Learn to Automate Your Mac with AppleScript [Part 1: Introduction] Read More , you also likely won’t need one.

For these projects, there are lighter-weight options, like code-centric text editors. These editors provide syntax highlighting, are designed with more flexible interfaces, have powerful search and navigation tools, and are often extensible and easily customized.

But all they do is edit text. If you’re creating a program, you’ll still need a compiler, and debugging will need to be done manually. One massively popular code-centric text editor is Sublime Text:

sublime-text

Some coders prefer even more bare-bones methods of development. These guys use command-line tools to do their work. Although these tools don’t give you nearly as much help as an IDE, their command-line nature makes them great for automation and scripting.

Learning to use the command line is also great at helping you learn more about your computer 15 CMD Commands Every Windows User Should Know 15 CMD Commands Every Windows User Should Know The command prompt is an antiquated tool from an era of text-based input. But some commands remain useful and Windows 8 even added new features. Find out which ones. Read More and how it works on a basic level.

Which IDEs Are Worth Using?

There are tons of IDEs out there, and even if you’re new to coding, you’ve probably heard of many of them without even realizing it. You might have even used one without knowing what it was!

According to the IDE Index, Eclipse and Visual Studio are the most popular IDEs at the time of this writing.

eclipse

Eclipse is a cross-platform IDE that works well on Windows, OS X, Linux, and Solaris, and is primarily used for Java, C, C++, PHP, and Python development. It also provides cloud-based IDEs so you can develop online.

One of the reasons why Eclipse is so popular (besides being 100% free) is that it’s highly extensible, so its behavior can be altered with plugins to better fit your workflow.

programming-environment-visual-studio

Visual Studio, on the other hand, only runs on Windows and is primarily meant for creating Microsoft apps and products. However, it can be used to produce programs for a variety of other platforms, including Android and iOS.

The most basic version of Visual Studio is free, but premium versions can be used to manage multi-programmer workflows and larger projects — you can even get development operations and large-scale team management functionality.

netbeans

Another popular IDE for Windows, OS X, Linux, and Solaris is NetBeans. It’s designed around the creation of modules, which can be used for modular development of software. While it’s primarily meant for development in Java, NetBeans also supports C, C++, PHP, and HTML5.

Komodo IDE is one of the more versatile IDEs, with support for Python, Perl, PHP, Ruby, CSS, HTML, XML, Javascript, NodeJS, and several others. Available for Windows, OS X, and Linux, there are a number of different Komodo products that fit different budgets and needs.

And, of course, Apple’s native XCode IDE is another popular one. While it’s mainly used for building iPhone and Apple Watch apps, it can also be used to create for OS X and a few other platforms with support for C, C++, Objective-C, Java, AppleScript, Python, Ruby, and Apple’s Swift language The Best Places to Learn Swift, Apple's Programming Language The Best Places to Learn Swift, Apple's Programming Language If you want to learn Swift, now is the time to dive in. The language has a bright future and the faster you learn it, the sooner you'll be able to reap the rewards. Read More .

IDEs Are Indispensable For Coders

As you can see, there are a wide variety of IDEs that support different programming languages and styles across all different operating systems. Choosing an IDE when you’re getting started can be difficult, but going with a free one like Visual Studio, NetBeans, or Eclipse is a great place to start.

Once you become a coding master How To Learn Programming Without All The Stress How To Learn Programming Without All The Stress Maybe you've decided to pursue programming, whether for a career or just as a hobby. Great! But maybe you're starting to feel overwhelmed. Not so great. Here's help to ease your journey. Read More , you’ll have a much better understanding of what you need from your development environment. Are you feeling stuck? Check out our tips for regaining your motivation Programming Burnout: How to Regain Your Lost Motivation Programming Burnout: How to Regain Your Lost Motivation Writing all those lines of code can be draining physically and emotionally. All you need to get back up is the awareness that motivation can be regained. Read More and beating programmers block 5 Ways to Beat Programmer's Block Right Now 5 Ways to Beat Programmer's Block Right Now Every programmer encounters an array of negative emotions over the course of their journey, and if left unchecked, these emotions can have a profound impact on progress -- even causing some to give up entirely. Read More . (If that doesn’t work, maybe programming isn’t for you 6 Signs That You Are Not Meant To Be A Programmer 6 Signs That You Are Not Meant To Be A Programmer Not everyone is cut out to be a programmer. If you aren't completely sure that you're meant to be a programmer, here are some signs that may point you in the right direction. Read More .)

Do you use IDEs or do you prefer text editors and command-line tools? Tell us why in the comments below!

Image Credits: Diego Sarmentero via Wikimedia Commons, Tim Regan via Flickr

  1. Pete Deltoro
    May 4, 2016 at 10:17 pm

    Good post , I learned a lot from the information - Does anyone know if I would be able to grab a sample SEC Form SEC 1410 version to use ?

  2. Pablo Cabrera
    November 25, 2015 at 8:36 pm

    I use VIM with a few plugins that bring some of the IDE functionalities but without the bloat. In the past I used eclipse, Aptana (based on eclipse) and Komodo, but I got so used to my Vim setup that I can't never go back.

    • Dann Albright
      November 27, 2015 at 8:49 pm

      Ah, a purist. :-) I've heard good things about Komodo; it's not supposed to be as huge and intrusive as other IDEs. Which plugins do you use?

  3. Mickos
    November 24, 2015 at 11:56 am

    How can one write an article in 2015 without mentioning intellij idea?

    • Dann Albright
      November 27, 2015 at 8:46 pm

      I had never heard of Intellij Idea, but a quick search definitely makes it look like an awesome option! Thanks for pointing that out. Do you use it yourself?

  4. Mike Gale
    November 24, 2015 at 10:15 am

    For some jobs LINQPad is an excellent, fast loading, "kinda-IDE".

    • Dann Albright
      November 27, 2015 at 8:45 pm

      I've never heard of LINQPad; what makes a kinda-IDE?

      • Mike Gale
        November 28, 2015 at 5:41 am

        I'm not here to sell a product. Linqpad can be used to code in F#, C# and VB.NET. It's quick to load, powerful and lightweight. People who expect an IDE to take a long time to load probably won't consider it a proper IDE.

        It's original purpose was to test writing LINQ queries to dB's. For that it's a true pleasure.

        The standard version is free. I suggest giving it a try if you're interested.

        From the front page of the site:
        The .NET Programmer’s Playground
        •Instantly test any C#/F#/VB snippet or program
        •Query databases in LINQ (or SQL) — SQL/CE/Azure, Oracle, SQLite & MySQL
        •Enjoy rich output formatting, optional autocompletion and integrated debugging
        •Script and automate in your favorite .NET language
        •Super lightweight — single 8MB executable!
        •Standard edition free, with no expiry

        • Dann Albright
          November 30, 2015 at 9:04 pm

          Interesting! Sounds like a great option if you're looking to use those languages. I'm always happy to have a program that loads faster than alternatives. Thanks for pointing this out!

  5. c00kiej4r
    November 23, 2015 at 9:13 pm

    Brace yourselves, Flame Wars about to begin. To be clear I believe that one must use the tools that help him become a better and more productive programmer. However in my course so far I have noticed the following things:

    1) It would be very beneficial if someone gets in the process of learning the text editor + command line way of working, after he has passed the initial stage of understanding what programming is, writing some elementary programs and getting familiar with the syntax of a language. I say that because I believe that if a programmer gets used to only using an IDE, he misses a lot of the "action" that takes place in the background and probably an opportunity to understand the core concepts of compiling + linking + executing your own programs.

    2) The text editor + command line workflow is very cohesive and robust. In your career you will probably face a situation where you will not have the "luxury" of using your favourite IDE, but I sincerely doubt that you will face a situation where a problem cannot be solved by using a text editor and the command line.

    3) Using the text editor + command line tools will help you understand in depth the underlying programming concepts and thus give you the ability to exploit your IDE in a much more efficient way, if you want to get back to it.

    4) Code that is developed by people using only an IDE tends to be somewhat arduous, unreadable and difficult to manage. That is an observation that is based on my PERSONAL experience and not a general rule, but I think it is a result of the various "conveniences" an IDe provides.

    5) I use various IDEs for different reasons, mainly due to the easy code navigation and embedded debuggers but I have noticed that I am way more productive at them after mastering the basic command line tools.

    To conclude, it is my opinion that a programmer has to become familiar with using a simple text editor and the command line tools in UNIX-like systems and then use an IDE to completely take advantage of its capabilities. After exploiting all the available options you have a versatile and complete toolkit to approach your coding adventures. Thanks ;)

    • Dann Albright
      November 27, 2015 at 8:44 pm

      Thanks for weighing in! You bring up a lot of really great points; IDEs can be good, but they're probably best used by people who already have a solid understanding of what's going on behind the scenes in coding. I know that when I've used IDEs before getting a good idea of how to program via a text editor, I get a bit overwhelmed; there are just a lot of features that I don't know how to use and that tend to distract me from what's important. Interesting point about the code not being as good; I can see how something like that would happen. Reminds me of when people were using Dreamweaver to create HTML pages; it worked, but the back end looked awful.

      Thanks again for your very insightful comment!

  6. Martin Jane?ek
    November 23, 2015 at 7:14 pm

    Also JetBrains provides great IDEs.

    As a PHP developer I have tried all of mentioned IDEs (except xcode) and JetBrains (PHPStorm specifically) products are far better.

    Also, PHPStorm can be used for free - aside of 30-day trial they provide early access program with integrated tester license (and EAPs are mostly usable).

    Personally I use text editor (Atom, Sublime text) only for non-project files (local system files, remote).

    • Dann Albright
      November 27, 2015 at 8:41 pm

      Ah, yes, I've heard of JetBrains, though I've never used it. And a PHP-specific IDE would certainly be useful! Thanks for weighing in on the text editor vs. IDE discussion; there's going to be a lot of debate over that one.

Leave a Reply

Your email address will not be published. Required fields are marked *