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!
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.
notepad++ is nice but I prefer PSPad. http://www.pspad.com
Also on linux just can’t beat VIM. for a text editor, one of these days I will actually try gVim.
However for REAL IDE’s I prefer:
Netbeans for Java
(Eclipse when netbeans won’t
and some specialty stuff
(distributed from a vendor))
I use VS 2008 for .net work.
For C++ work in school I used to use:
http://sourceforge.net/projects/dev-cpp/
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.
+1 vote for vim, that’s what I use. /win
I just started using a program called BlueFish and its free, cross-platform, and is pretty good. Check it out
wat wat? where is SharpDevelop, or MonoDevelop
well lets see I use …. Emacs
and Emacs…
and well Emacs…
ahhh yeahhh Emacs…
http://www.emacswiki.org/emacs/ProgrammingModes
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.
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.
Geany. Has plugins, does compiling and code-minimize thingo. Never noticed any lag, which i did with netbeans.
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.
My second preference goes to Ed man! !man ed
http://www.gnu.org/fun/jokes/ed.msg.html
Ed is the standard text editor.
For mac I second the vote for Komodo. Since we’re talking advanced text editors here, fraise for the mac is great, and notepad++ for PC.
text editor != ide
@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.
Netbeans IDE is definately my favorite for PHP, Used to use Notepad++ but never liked it. And dreamweaver was way too bloated to use just for coding.
kate is an IDE? wut?
plus I use eclipse.
M$VS 20XX (00,03,05,08,10)
notepad++
scite
vim (for all my ruby programming)
delphi (haha)
Yah borland used to be good. turbo pascal ftw!
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.
oops on that last post…
It’s been said before, and I’ll repeat it –
Vim and emacs should be listed here… but less so emacs
I tried liking XCode, I really tried. It gets no love from me. Visual Studio kills it.
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…
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.
Top 10 IDE’s.. Lets see there is Vim,Notepad++…. and I don’t see a reason to finish the list.
Cheers.
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.
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.
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
Visual Studio, by far. Both at the office (I work in the game industry), and at home. Intellisense + great debugger = faster code. Which is important in the long run.
Only 2 you need!
Notepad++ and Visual Studio.
Yeah, right, Visual Studio, Eclipse and Netbeans don’t have code folding.
Great article.
For Kate, you mention that it “Uses Linux,” which doesn’t really make sense. It’d be like saying a gasoline uses a car. :P
+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.
I usually don’t leave comments, but I agree with other people here. This article is terrible.
“alot” is two words. You don’t write “alittle” do you?
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
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.
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.
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.
IDE ? doesn’t compile code, isn’t it just a DE then ?
XCode is terrible, just throught i’d throw that out there.
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
I am another fond User of Scite:
http://www.scintilla.org/SciTE.html
Light weight lots of features.
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.
Editra and joe. ’nuff said.
Give me vim any time, any place.
Noone has noticed the typo? Under gedit there is a bullet point that talks about kate’s ability to highlight errors…
Code::Blocks ftw!
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.
Geany is an excellent product.
Also, why didn’t the post mention the overhead of install Gedit? KDE users would not worry about the KDE overhead anyway.
Mono is an open source alternative to Visual Studio.
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)