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 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.
- Intellisense
-
- 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
- Automatic code formatting
- 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.
- CPU Hog
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
- Language Extensibility
- 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.
- Steep Learning Curve
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
- Extensible
- 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.
- Bloated
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
- KDE Overhead
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!
gedit? How about http://www.codeblocks.org/ ?
Eclipse is extremely extensible , a lot of engineering companies out there adopt it for this purpose as they can fully customize it to their pipeline. I would definitely recommend anyone who is in this industry to pickup eclipse development.
What about QtCreator ? It is free and opensource, have integrated debugging, code highlightning, code folding, bookmarks, offer compilation…
The auto-completion is very powerful.
It’s a great IDE when working with C++, even if you’re not using Qt.
hmm i can think of alot betters ones
1) Notepad++
2) PHPed
3) VIM
4) nano
vim and friends, hm… yes, but unless you are working on a project with over 3k of code, its a “perfect” IDE!!! :p
They are text editors, not IDEs..
What about VIM?!!!
OH yeah dont forget about:
QT and zend studios
If your using linux, geany is excellent. http://www.geany.org/
Think it only needs gtk2.
since were including text editors in this list of ide’s notepad++
I code Python and X++ professionally. For Python I only use Vim, and for X++ I’m pretty much bound to Dynamics.
Vim will do all (and more) that Kate does, and once you get the hang of keyboard navigation and control, you’ll never want to use a mouse-based IDE again!
Off course the learning curve is probably one of the steepest around…
Hey you forgot my favourite!
Programmer’s Notepad..
http://www.pnotepad.org/
it’ simple and works perfect
i use it every where
webdevelopement
-html
-php
-css
Microcontrlooers
-C
-asm
Nintendo DS homebrew
-C
-C++
i love it and it’s FREE
How about Emacs? That’s very extensible and works with just about every language ever (and will function as a front end for the GDB debugger, unlike gedit).
Emacs is a great Operating System!! It only lacks a decent text editor :(
It’s been 15 minutes and nobody’s mentioned vim or emacs?
Hmm, the geditkate-comparison isn’t completely fair: both rely on the libraries of their respective desktop environments. I just tried installing both on my barebones Debian Linux-server without any installed graphical stuff: when I try to install Kate apt-get tells me it would set me back 110M, if I were to install GEdit, it’d eat a chunk of 153M out of my hard disk space. On a desktop system: if you run Ubuntu, gedit probably is only a few megs, conversely an install of Kate on Kubuntu would only eat away a few megs too.
Not having (real) Intellisense in other editors is something I miss badly compared to Visual Studio. Eclipse isn’t terrible (it has it’s problems, though) but Xcode is horrendous.
other good ones I’ve used:
jedit (FREE, multiplatform – http://jedit.org/)
textmate (NOT FREE, mac only – http://macromates.com/)
notepad++ (FREE, windows only – http://notepad-plus-plus.org/)
Programmer’s Notepad (for windows) anyone?
What about:
http://www.kdevelop.org/
hmm.. Gedit advantage: kate offers the ability to highlight your code
Where in the copy-paste chain is the error?
I agree with GZPhreak, codeblocks should have been mentioned. It’s very powerful but also “just works”. Another one especially for C/C++ developers is http://www.codelite.org/.
Woah! What about XCode?!? It’s one of the best IDE’s I have ever used in my life and is completely free of charge.
mee too:
http://www.geany.org/
This seems like an odd top 5 of IDEs. Replace gedit and kate with IntelliJ IDEA and Xcode then you probably have a list. And if you haven’t seen the preview version of Xcode check it out they have improved it a lot.
gedit is pretty nice, and is also extensible, there’re tons of plugins: http://live.gnome.org/Gedit/Plugins
for compiling code or stuff, check out http://sourceforge.net/projects/geditbuilderplg/
True, geany also its a excellent choice… And compiles code ;-)
Textpad? Context highlighting, able to integrate a compiler and launch it with a keystroke (by default Java, but it is configurable). Lacks code completion though.
Nice profile. What measurement was used to determine the top 5? Regardless, I’d also mention Xcode for the OSX users and KDevelop for KDE. Visual Studio gets my vote though. I’d happily switch to another IDE, but MS is way out in front of everyone else in the full-featured IDE game. For some things, Eclipse comes close.
On Windows, Visual Studio and even the Express Editions in my opinion is the best IDE I have used. And I’m not talking about versatility of programming languages where Eclipse is certainly ahead. Since Visual Studio 2005, the MS VS user interface feels just smooth and productive.
Also, Express Editions actually can be used for commercial projects, as written in the FAQ at http://www.microsoft.com/express/support/support-faq.aspx
Netbeans was my environment of choice. Especially with its excellent support of PHP, Ruby, and Rails. However, now that Sun has been absorbed into Oracle, I’m reevaluating IDEs, as I can’t be sure of Oracle’s commitment to making sure netbeans stays available, even as open source. They’ve already managed to cripple OpenSolaris, I’m worried about netbeans specifically, and Java in General.
@nes Thank you.
Notepad++ gets my vote
Microsoft have said that Visual Studio Express is free for commercial use, so I wouldn’t be worried about “big brother”. Visual Studio 2010 is an absolute resource hog, sadly (possibly due to the new WPF user interface) in comparison to Visual Studio 2008. It’s a shame C# 4 is so nice else I’d be back to 2008 in a shot. :-( It may also be worth bearing in mind that the Express editions do not support add-ins.
I find Programmer’s Notepad is a great text editor for Windows, and is very easy to customise to integrate third-party tools. It uses Scintilla, which is the same text editor component used by Notepad++ (which I personally find to have an abominable UI).
Where the hell is (g)vim? Best editor/IDE ever.
Why is Gedit put in a list of top IDEs? It is a good text editor, but not an IDE. Same goes for Kate.
Also, why is Xcode not mentioned?
*sigh* In addition to only being available on windows, under a proprietary license, you have to go through a lot of hoops to program anything low-level in visual studio.
Anjuta with the Scintilla engine.
I tried many IDEs, but this is just the best I could find for Linux (GTK but non-Gnome environment). There are a couple listed here I haven’t tried though, will do when I have time.
In my opinion, eclipse. I’ve been using it for a long time and I’ve extended it to support python, ruby, php, web and all that. Eclipse is unbeaten if you are a java programmer.
for object-pascal lazarus=)
I understand a list with Visual Studio, Eclipse and Netbeans on it, but Kate and gedit are “just” advanced editors and are not full IDEs.
For an IDE on the KDE part, you can take a look at KDevelop as someone else already pointed out.
For the Gnome part, I think you have Anjuta and maybe some more.
QtCreator is also a nice C++ IDE since it’s cross-platform and doesn’t depend on KDE or Gnome.
Finally, as for the advantages and cons of Kate and gedit, it depends on what you’re using. Not everyone uses Gnome on Linux ;P
Gosh, Microchip’s MPLAB IDE isn’t on the list. What a surprise.
Maybe Microchip should take the hint.
I had never heard about Kate, I’ve been using gedit for a while, but I missed quite a lot in in.
I’m now checking out Kate, and I must say I’m impressed with it so far. Looks like my webdev work is about to get more pleasurable.
THANKS HaD!
The major downside of Kate – installing the KDE libs – isn’t so bad when you consider that you’re going to install those libs anyway to run Amarok and K3B.
For OSX people, I like coda:
http://www.panic.com/coda/
Its my daily app for editing pretty much every site i work on.
I used to use http://macromates.com/
I can’t believe Xcode hasn’t been mentioned!! Sure it’s Mac-only but it is *superb*.
I like Programmers Notepad.. but it just doesn’t have the customization of Scite.
http://www.scintilla.org/SciTE.html
:)
I appreciate the article, but I think you seriously missed some major ones. Gedit and Kate are fine and great, I’m not knocking them, I use them a ton, but as far as full featured IDE’s go, what about things like Geany, QT, and others that are way ahead of the programmer esque editors mentioned.
Also, please don’t tell me the order associated with each entry actually has meaning? I know visual studio is…well, there and Microsoft-made and all…but who actually uses that anymore for more then just for video games?
No (g)vim/emacs love? None?
Although I’ve never got the hang of emacs, I must add my vote for vim.
Are you kidding me ?! You mention Visual Studio to be a “CPU Hog”, yet you don’t say nothing about this for Eclipse ?! Dude. What’s wrong with you? Not to mention that under “CPU Hog” you actually comaplain about memory requirements, not CPU.
VIM FTW.
Seriously?
1) Obligatory “not a hack”
2) Ignoring 1, it isn’t even a top 5 of IDE’s, their are two text editors in the mix which are not in any way IDE’s.
I mean I appreciate the effort, but if you’re going to put something up that isn’t a hack at least make it a good article. This isn’t.
+1 for vim (or emacs). properly setup they can deliver anything any IDE on this list can including Intellisense like behaviour. (admittedly it takes ages to set them up like that)
For me, the greatest is Code::Blocks. It’s cross-platform, relatively light and very universal. My favorite for writing for ARMs and AVRs.
http://www.codeblocks.org
When it comes to good text editor, you should also consider using PSPad. Really powerful thing, consists even hex-editor. Similar to gedit from my perspective.
http://www.pspad.com
And for programming .NET platform, SharpDevelop is a must-have.
http://www.icsharpcode.net/opensource/sd/