Jump to content

Useful tools for Programmers

Recommended Posts

A Programmer's Utensils

Since there was no 'Good' tool list for programming, I decided to come up with my own. This list includes general programming tools and language specific ones. This list was compiled 100% by me for the education of this forum. Note that this list mainly caters for Java, C, C++ and Assembly. I may make another list for Python, Perl etc.


Integrated Development Environments (IDEs)




Eclipse is a popular, free and open source IDE with a modular plugin system making it very customizable. It supports multiple languages like Java, C and C++ (With the CDT Plugin) and because of the huge repository of plugins it can support many more languages. Eclipse is Multi-Platform.

Main Site: http://www.eclipse.org/

Useful Plugins: Python, Perl, Ruby, Lisp, CDT (C, C++, Assembly)




Netbeans is a, easy, free, popular and extensible IDE with support for multiple languages using a neat plugin manager. It does lack Eclipse's sheer amount of plugins, but it makes up for that with a neater plugin system and I feel that the plugins are more expertly designed and integrate more nicely with the IDE. Netbeans is Multi-Platform.

Main Site: http://netbeans.org/

IntelliJ IDEA



IntelliJ IDEA is a powerful IDE with an advanced plugin system. It is made by JetBrains and has both an Ultimate (Paid) and a Community (Free & Open Source) version. The Community version has a smaller range of languages supported out of the box, but it is still a very functional IDE. The Ultimate edition certainly lives up to it's name, with huge amounts of features and a vast array of Out-of-the-box support for different languages. IntelliJ IDEA is Multi-Platform.

Main Site: http://www.jetbrains.com/idea/

Plugins: http://www.jetbrains.com/idea/plugins/index.html

Visual Studio 2010



Visual Studio is a full featured IDE from Microsoft. The full Visual Studio is commerical software, but it has a collection of IDEs for Visual Basic.NET, C# and C++ known as the Express editions. They are very powerful, and have a huge commercial backing behind them. The main advantage of Visual Studio 2010 is it's plugin system, which all of the Express Editions lack. Visual Studio 2010 and the Express IDEs are Windows-Only.

Main Site: http://www.microsoft.com/visualstudio/en-us/

Express Edition Site: http://www.microsoft.com/express/Downloads/




Code::Blocks is a nice IDE primarily aimed at C and C++ development. It is fairly powerful and has a plugin system although it only has a small amount of plugins. Code::Blocks is Multi-Platform.

Main Site: http://www.codeblocks.org/

Qt Creator



Qt Creator is a C++ IDE intended to compliment Qt toolkit. It is aesthetically more pleasing than most IDEs and has a drag and drop gui creator for the Qt Framework. Qt Creator is Multi-Platform.

Main Site: http://qt.nokia.com/products/developer-tools


Text Editors




Notepad++ is a powerful, free and extensible text editor featuring code syntax highlighting for lots of languages. It is very user friendly and generally a nice quick editor for code. Notepad++ is Windows-Only.

Main Site: http://notepad-plus-plus.org/

Vim (Vi IMproved)



Vim is a command driven, multipurpose and extremely productive text editor (With productivity comparable to that of an IDE's), although the learning curve is extremely steep and memorizing the command is a daunting task to a new user. Vim is Multi-Platform and features both a terminal and graphical interface. It is a clone/improvement on the text editor Vi.

Main Site: http://www.vim.org/




Emacs is another command driven text editor that is very productive, and there is a holy war going on between users of Vim and Emacs over which editor is better, but disregarding that it is a very powerful editor albeit with a steep learning curve. Emacs is Multi-Platform.

Main Site: http://www.gnu.org/software/emacs/




Notepad2 is a Scintilla based improvement on Microsoft's Notepad. It features syntax highlighting and a few advanced text manipulation tools. Notepad2 is Windows-Only.

Main Site: http://www.flos-freeware.ch/notepad2.html






MSYS is *NIX-like development and general use environment for Windows. It features a UNIX Terminal and a whole array of *NIX tools like make, grep etc. It's good for getting to grips with *NIX commands even when on a Windows environment. Contrasting, it's also good for *NIX Family OS users who aren't used to the Windows environment. MSYS is Windows only.

Main Site: http://www.mingw.org/wiki/MSYS




Git is a decentralized version control system much like Subversion and Mercurial. It has both a terminal front-end and for Windows, a graphical frontend based on TortoiseSVN called TortoiseGit.

Main Site: http://git-scm.com/
TortoiseGit: http://code.google.com/p/tortoisegit/




Subversion is another version control system which, unlike Git, is centralized. It has a Windows front-end called TortoiseSVN as well as a terminal front-end.

Main Site: http://subversion.tigris.org/
TortoiseSVN: http://tortoisesvn.tigris.org/

Language Specific


Virtual Machines
Oracle's Java Runtime Environment (HotSpot): http://www.java.com/en/download/manual.jsp

Kaffe: http://www.kaffe.org/
IcedTea: http://icedtea.classpath.org/

Development Kits/Compilers
Oracle's Java Development Kit: http://www.oracle.com/technetwork/java/javase/downloads/index.html

OpenJDK: http://openjdk.java.net/


Gnu Compiler Collection (Includes C Compiler): http://gcc.gnu.org/
MinGW (Windows GCC Port): http://www.mingw.org/
Tiny C Compiler: http://bellard.org/tcc/


NOTE: Most C++ Compilers can Compile C too.

Gnu Compiler Collection (Includes C++ Compiler): http://gcc.gnu.org/
MinGW (Windows GCC Port): http://www.mingw.org/
Microsoft Visual C++ Compiler: http://msdn.microsoft.com/en-us/visualc/default.aspx
Intel's C++ Compiler: http://software.intel.com/en-us/articles/intel-compilers/
Watcom C++ Compiler: http://www.openwatcom.org/index.php/Main_Page
Digital Mars C++ Compiler: http://www.digitalmars.com/

Assembly Language

Assemblers (Intel Syntax)
MASM32: http://www.masm32.com/
FASM: http://flatassembler.net/
TASM: http://info.borland.com/borlandcpp/cppcomp/tasmfact.html
NASM: http://www.nasm.us/

Assemblers (AT&T Syntax)
GAS: GCC's Backend (http://gcc.gnu.org/)

Originally posted by _s1gma

Other - similar to MSYS
Cygwin http://www.cygwin.com/

Text editors
Sublime Text http://www.sublimetext.com/

Version control (you already have a couple: git, svn; make it another category)
CVS http://www.nongnu.org/cvs/
Team Foundation Server http://msdn.microsoft.com/en-us/vstudio/ff637362.aspx

zsh http://www.zsh.org/
bash http://tiswww.case.edu/php/chet/bash/bashtop.html
ksh http://www.kornshell.com/
tcsh http://www.tcsh.org/Welcome

Edited by Lusfr_
Lusfr was here

Share this post

Link to post
Share on other sites
[MENTION=1573]Cart[/MENTION] Some more to add:

Other - similar to MSYS
Cygwin [url]http://www.cygwin.com/[/url]

Text editors
Sublime Text [url]http://www.sublimetext.com/[/url]

Version control (you already have a couple: git, svn; make it another category)
CVS [url]http://www.nongnu.org/cvs/[/url]
Team Foundation Server [url]http://msdn.microsoft.com/en-us/vstudio/ff637362.aspx[/url]

zsh [url]http://www.zsh.org/[/url]
bash [url]http://tiswww.case.edu/php/chet/bash/bashtop.html[/url]
ksh [url]http://www.kornshell.com/[/url]
tcsh [url]http://www.tcsh.org/Welcome[/url]

I'll contribute more as I think of it Edited by Trey

Share this post

Link to post
Share on other sites
Thanks for this cart. Now I can learn more!

Share this post

Link to post
Share on other sites
Great thread. I posted the eclipse thread without knowing this was here aha. Now I do.

Share this post

Link to post
Share on other sites
You put SVN and not Mercurial?

- [url]http://mercurial.selenic.com/[/url]
- [url]http://hginit.com/01.html[/url]

Also Clang is cooler and arguably nicer than GCC.

Share this post

Link to post
Share on other sites

Ooo useful thread, thank you.

Share this post

Link to post
Share on other sites

Thank you for great information, I use Notepad++ which is really good for me and even easy to open and does not take long time to open like many other software.

Share this post

Link to post
Share on other sites

Tanks for this


im new and learning will help


Any good tutorials

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now