Top 5 Integrated Development Environments

So, you want to do some programming but don’t have the budget of a major corporation? This is just the thing for you because all of these development environments are free of charge! Many Integrated Development Environments are marketed towards companies who have money to pay for such expensive environments. Here are the Top 5 Integrated Development Environments that are most widely used and recognized. Some will be used when programming past and future tutorials. The following are listed in no particular order and all make an excellent development environment.

There are alot more IDE’s out there that were not mentioned but should have been.  We have posed the question at Hack A Day Answers “What are your Top 5 IDE’s?” Give us some feedback and we will be back with a revised list from the comments you give us!

Visual Studio Express

Visual Studio has an advantage when it comes to programming. This IDE is mostly used by corporate programmers to produce .NET code. Sometimes people want to try the product without investing thousands of dollars first, so Microsoft has the Express editions for all of their products. This makes it perfect for casual users that want to hack out some code as a hobby or programmers who need a free solution to code in C#. Be warned though, if the application developed by someone using the express versions of Visual Studio takes off and starts making money it would not be surprising to see big brother step in and start asking questions.

  • Advantages
    • Intellisense
      • For those who don’t know what Intellisense is, here is a brief overview. Intellisense is Microsoft’s way to make programming in .NET as painless as possible. When you start programming in Visual Studios IDE you will notice a suggestion box will appear when you start typing anything within the IDE, this is to notify the user what methods and functions are available (R.I.P. Clippy). When clicking on one of the methods in the suggestion box the environment will tell you exactly what the method will do and how many and what parameters are needed. The ability to make decisions on what functions and methods to use based on intellisense is a powerful feature that many would find useful, if not life changing.

    • Automatic code formatting
      • With a product like Visual Studio you get what you pay for. When you start coding a method and go to enter the “{“ brackets, the code inside those brackets will actually indent to the right. A very handy feature for a code monkey who is just looking to get the program done. As well, there are options to enhance the colors to see variables as a different color than a method header which is very useful when going through hundreds of lines of code to find a bug. Both these things may be minute details but in the end are designed to save the developer time and money.
    • Extensibility
      • Something that you don’t like about Visual Studio? Code a new tool for it or use one of the many available to the developers using Visual Studio Gallery. This site is a wealth of fixes for things that developers didn’t like with Visual Studio and decided to fix.
    • Compiles Code
  • Cons
    • CPU Hog
      • When running Visual Studio it is a must that you have plenty of RAM to spare. This is a beast when it comes to developing apps and for good reason. If you take the plunge and sacrifice RAM to run this IDE you are equipped with one of the most comprehensive GUI’s (once you learn to navigate it) for developing in the .NET framework.
    • Overwhelming GUI
      • If you have never used Visual Studio before, then you are in for a surprise. When first starting it up, the layout of buttons and panes can be a little/very confusing at first. This will take time to adjust, so the downfall is there is a steep learning curve with the layout.
    • Cost
      • With the 2008 Professional edition of Visual Studio costing a thousand dollars (without MSDN subscription) and upwards if you are looking for additional features and subscriptions. This can be a real turn off for the hobbyists but that’s where the express versions will become redeeming.

Eclipse


This is the best alternative if you are not a big fan of Microsoft’s Visual Studio. The interface is a lot cleaner and concise than Visual Studio and the languages that are possible to use extend past the .Net Framework. Besides being the number on way to develop Android applications via the Android SDK, it is fully extensible to use languages such as Ruby, C, C++ and many many more.

  • Advantages
    • Language Extensibility
      • The languages mentioned above are not limited by Microsoft and anyone is free to develop plug-ins for different languages and to make the development environment easier to use. Also, the ability to use this on Linux is a great sway for many people who don’t like to be bound by Microsoft’s operating systems and like full control of their OS.
    • Free
      • Besides being fully customizable and extensible, the next best thing about eclipse is it’s free. This is good news for hobbyists and casual programmers wanting to just hack out some code in their free time.
    • Compiles Code
  • Cons
    • Steep Learning Curve
      • With so much available to upgrade and add on, the learning curve of eclipse will be quite steep. The best way to get past this is to just try coding something. Making mistakes when coding could never be so beneficial. Once you start learning from your mistakes you will learn the fastest way to accomplish what you are trying to do.

Netbeans


The is the number one alternative to Eclipse. This program is extensible and free, and it compiles code which is a bonus. When installing Netbeans it comes with a Java server called GlassFish that you could deploy on your computer for your testing environment. This server is the second biggest server for Java next to WebSphere (which is a whole different ball game).

  • Advantages
    • Extensible
      • Again, extensibility is a must have for the development environments out there to survive. Instead of having multiple programs for multiple different languages combining them into one program gains recognition from developers and the software programs that combine it all but the kitchen sink are utilized more often because of the simplicity and ease of access to the languages developers want.
    • Compiles Code
    • Free
  • Cons
    • Bloated
      • While using this program you may notice that your computer slows down, throws errors in your program that you didn’t know existed etc. This is a tough software program to master and when coding you have to be careful to dot the I’s and cross your T’s. This may not be the case for you and Netbeans might be all sunshine and rainbows but it is always best to be safe, rather than sorry later on when you have hundreds of projects.

kate


Kate is exactly how the website describes it, a text editor. Not to be looked down upon as it does a lot more than a regular text edit can do and that is what makes this an indispensable product.

  • Advantages
    • Uses Linux
    • Code Folding
      • This is probably one of the best features for kate. [Mike Szczys] explains that there is a small column to the left of the code. Any line that is an opening bracket that column will have an arrow next to it. If you click the arrow it will fold all of the code between the opening and closing brackets. Very useful for large source packages.
  • Cons
    • KDE Overhead
      • 250 Mb of overhead just to use the application. This is not just one package but several packages that are required to be on the system just to start the application. This may not be the best choice if you are using a net-book for development purposes on the go but if you have a Linux box at home this would do just fine.
    • Doesn’t Compile Code

gedit


gedit is the official editor of the gnome desktop and comes installed once the system is setup. Very useful for the user that is casually editing code and not undertaking major projects. This would be a good companion to Netbeans or Eclipse.

  • Advantages
    • Uses Linux
    • Already Installed on gnome systems
      • This is a major bonus for Linux users. If the application is already installed on the system would you be more likely to use it? Either way, if you don’t have to hunt down a program from the software manager then it must be
    • Code Highlighting
      • gedit offers the ability to highlight your code and figure out where the bugs are by giving you a fresh perspective. This can also be used for web development, to help developers see where the start of nodes are and where to submit the end nodes, doing this could cut down drastically on XHTML issues. While it may not do almost everything like Netbeans or eclipse, it is a handy tool to have on the computer.
    • Tabbed
      • This feature allows multiple source packages open at once to jump back and forth between if need be. This is a highly useful when comparing documents and debugging code.
  • Cons
    • Doesn’t Compile Code

All of the development environments are amazing choices. It all depends on what you want to do when programming and the tools you would like to have available. Microsoft Visual Studio express editions came in first because of the extensibility and comprehensiveness of the product. This provides eclipse, netbeans and other development software a goal to reach for when marketing to the masses. Remember, it’s not the size of the install it’s how you use it. Until next time, Happy Hacking!

185 thoughts on “Top 5 Integrated Development Environments

  1. It’s troll time, my favorite.

    Well, I use :
    – Eclipse : when working on big project and need to navigate all the time between files, protos and declaration.
    – Geany : when working on multiple files but don’t want to run the slow app above.
    – Gedit : simple edit with a click on ubuntu
    – Gvim/vim/vi : for fast editing, or reg. expressions power, or remote control since it’s installed everywhere.

  2. Flashdevelop. Alright, so it tells you what language I am stuck writing in at the moment, but for a free IDE it does a lot of the things I have come to expect. An intellisense style interface, selectable to which style of ActionScript you are writing in. Selections to compile for different target devices. Built in access to FlashPlayer and debugger.

    I use kate when I am off some place and just need to look at code, but it is lightweight compared to gedit for me since I use kde as a desktop. Open, glance around, edit, done. Not my favorite to start writing in, or compile from. But if you count plain text editors, vim and programmers notepad. Did most of my required operating systems course code by writing in one branch of vi or another. And programmers notepad replaces notepad on my windows systems as the default txt and unknown file viewer.

  3. My vote goes for emacs. Definitely better than all the software presented in the article, combined. Oh emacs, how I love you. I love the smell of modifier keys in the morning.

  4. Ugh, I hate lists like this. Right tool for the right job.

    I use Eclipse, Visual Studio & XCode.

    You’re not going to be doing Objective C in Eclipse. You’re not doing MFC or .NET in XCode.

    Of the editors I use, I like them all equally for different reasons, and they all have their place.

  5. My vote for Visual Studio – but that’s because I’ve been using it for the last 10 years or so. It’s a great IDE and debugger, even if it is a little slow. Visual Studio 6 key mappings are a must :)

    BTW, “IDE’s”?? “GUI’s”!?!??

    IDEs and GUIs are both plural. Also, “alot” is not a word – don’t care what anyone says.

  6. @D_ My complaints were that the “article” 1) was not a hack, a fact that I am willing to disregard and often do and 2) was poorly researched at best. I mean, really? XCode isn’t exactly a good IDE in my mind, but it IS an IDE, and gedit certainly isn’t. (Granted, I’ve only played with it a little, and in general don’t code on a Mac.)

    If I were listing countries to visit and the United States and the London were in the same list, it would be ridiculous.

    Most annoying is someone replying to me with a response so poorly worded that I can only guess at its intended meaning.

  7. I still use MS Visual Studio 6. It meets my needs and has low overhead.

    Does the 2010 thing compile c/c++ or is it stuck with .NET?

    embedded visual tools is pretty cool too, but I haven’t yet found a hack to install the WM 6.5 SDK and LoadLibrary for my modern gesture needs. Haven’t had to yet either.

  8. For AVR development, I actually quite like Atmel’s AVR Studio… it does exactly what it’s supposed to, without too many features to bog you down. Would I like a little more customization? sure, but I don’t feel like having to take away from my dev time to set up a new IDE. Though I am going to attempt to set up Code::Blocks with the AVR now…

  9. Eclipse has it all. The learning curve is not that high. You just have to dig into the documentation some if you want to go beyond the 99% of functionality an average programmer needs.

  10. In Java world, a top 5 IDE must contain IntelliJ from IDEA. IntelliJ know a large amount of language of the “free side”.
    As always, it depdends what you want to do with your IDE.
    If you are student, don’t use IDE, learn instead with basic editor, then use an IDE to increase comfort but you won’t learn anything in the comfort of modern IDE.

  11. For medium/large projects i havent found a software that is better suited then SLICKEDIT. It has the lowest system footprint and the best and fast code indexing for fast references and definitions. As for usual practice I use gedit on linux and notepad++ on windows. They do tend to give the best result.

  12. um, obvious comment-bait. Seriously? notahack, badly written, inaccurate, not internally consistent (IDEs, remember, not text editors), non-inclusive. And then you want everyone to give you “feedback” aka tell you how to do your job properly, on had questions? Please. that list reads like you googled “code editor”, picked the top 5, looked at a few forum threads, and gummed something together. Unless you’re prepared to spend 10-15 hours using each IDE you review, and at least 5 with any text editor, please gtfo. Much more useful would have been a table of editors and features, with at least 20 entries…

    oh wait, this already exists:

    http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments

    http://en.wikipedia.org/wiki/Comparison_of_text_editors

  13. +1 for vim

    Even POSIX vi is better than some of what’s on your list.

    I suppose Emacs/vi were automatically excluded to avoid the the flame wars… but that’s just being dishonest. Real hackers use REAL editors.

  14. vs 2010 does do c and c++ for whoever asked, and has been updated with lamda functions and such from the new cpp spec. masm has been updated with the new avx instructions as well, i believe. usually i use notepad++ for assembly highlighting

  15. http://www.asp.net/WebMatrix

    WebMatrix… new kid on the block.

    From the site:

    WebMatrix is everything you need to build Web sites using Windows. It includes IIS Developer Express (a development Web server), ASP.NET (a Web framework), and SQL Server Compact (an embedded database). It streamlines Web site development and makes it easy to start Web sites from popular open-source apps. The skills and code you develop with WebMatrix transition seamlessly to Visual Studio and SQL Server.

  16. I have to agree gedit and kate just don’t make the cut for a Top IDE list. MS makes a very nice and polished IDE, there’s no doubt about it so I won’t argue with it having the #1 spot. For me, Eclipse is the best one-stop-shop so that’s my choice and I accept its flaws. I prefer to know how to use one IDE really well rather than know how to halfway use three or four. But if you’re going to round out the list with powerful text editors (which are just as important as an IDE and may deserve their own Top list), jEdit, MultiEdit, and Notepad++ have to be considered. Vim is great and I love the power and just brute force feeling of that tool but lets face it, pure keyboard navigation & command is a niche feature set and if you’re doing your primary coding in Vim, lets just say you likely have plenty of opportunities for productivity gains.

  17. We use Eclipse pretty much exclusively and I have to say for Java and PHP programming I like it a lot. It does take a bit of getting used to but after that learning curve it’s a snap.

  18. I have’nt heard of Sharpdevelop in the list or in the comments… anyone use it? its free, open source and support .net language

    the environnement has a VSE look and feel a bit the same

  19. 1. For the Author to not mention Code::Blocks is quite telling. Maybe it would be better if HaD stuck to iPhone and Arduino posts these days.

    2. emacs rocks, once you learn it. Many bounce off because of its complexity.

    3. PSPad is cool but Windows only. Has a nice macro capability.

  20. Howdy @Aaron – Sorry about that mistake, it is fixed now.

    Before:
    kate offers the ability to highlight your code and figure out where the bugs are by giving you a fresh perspective.

    After:
    gedit offers the ability to highlight your code and figure out where the bugs are by giving you a fresh perspective.

  21. anyone who doesn’t think emacs or VIM count as IDEs are either being snobby or really don’t know about the countless plugins.. in VIM for example, I can automatically search for uses or the original definition of my function (using ctags integration), automatically see the file tree and connection between my source and header files, automatically run compilation and step through functions…
    all of this does require knowledge of the associated tools (gcc, ctags, gdb, etc) but there are few, if any features provided by Visual Studio that VIM doesn’t provide.

    The difference being, if you’ve got a little project and don’t need those extras, you don’t turn them on. VIM is as lightweight as you need.
    (I know emacs has many of the same features, but I am not on that side of the eternal war)

Leave a Reply to hansCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.