Skip to content

My Windows Development Tools

December 29, 2014

Introduction

I haven’t done a “list of things” blog post in a while, so I thought I’d post a list of the development tools I use, with links to their sites. These are not all the tools I use, but they are the main GUI-based ones, the ones I keep in a RocketDock folder:

devtools

All are for Windows (some have Linux versions too), all are free, and most are Open Source.

CLion

This is the new C++ IDE from JetBrains, currently available on an early access program. I’ve used it for various small projects and have come to the conclusion that its not ready for prime-time yet, but is definitely one to watch. As with CodeBlocks(see below) it works with the GCC C++ compiler and the GDB debugger.

CodeBlocks

CodeBlocks (I’m omitting the double colon because Live Writer seems to want to treat it as as a smiley) is the IDE I use to develop most of my C++ programs, using GCC (it also works for C and Fortran), where the size of the project is more than a couple of files. It’s compact, it’s fast, it’s cross-platform, and it does most of what I want a C++ IDE to do. Code completion when it works properly is very good – when it doesn’t (which seems a bit random), it isn’t. The debugger (which is a front-end for GDB) has improved recently.

DbgView

A viewer for debug messages produced by calling the Windows OutputDebugString API. More information in another blog article of mine is here.

Depends

Dependency Walker is a program that allows you to look inside a Windows executable or DLL and see which other DLLs it is dependent on. This is handy for resolving runtime dependency errors and for checking that you are not distributing executable code without also distributing required DLLs.

DrRacket

Racket is a Scheme dialect and is my go-to language when I feel like doing a little functional programming. Dr Racket is the IDE for the language and comes with all you need to get started, including a lot of documentation and tutorials. I recommend Racket if you want to get into FP, but find Haskell a bit intimidating.

Idea64

This is IntellijIDEA, which is JetBrains’ Java development IDE. If you write any Java code and are still using the ghastly Eclipse or NetBeans IDEs, you really should take a look at this. I use the free Community Edition, as I don’t really do enough Java these days to justify the more capable paid-for version.

IPython

A vastly improved shell for Python. If you do any Python programming at all you really should get hold of this. It also works well with the PyCharm IDE described below.

Mercurial

This is actually the TortoiseHg workbench for the Mercurial version control system. It’s my favourite IDE for working with a VCS, but I must admit I still do a lot of VCS stuff from the command line.

Pharo

Like Scheme, Smalltalk is one of those languages I play with once in a while, and Pharo is probably the best Smalltalk implementation available. It’s a fork of the Squeak Smalltalk project, which removes a lot of the cruft that project has accumulated over the years.

PyCharm

Yet another product from JetBrains, this is their Python IDE. If you are still using the very horrible IDLE that comes with Python, you should get PyCharm immediately and see what a real Python development environment should look like. Once again, I use the free Community Edition.

ResEdit

ResEdit is a free resource editor for use when writingWin32 API programs. Itallows you to create resources such as dialogs, menus, string tables etc.which can then be linked into your Windows applications via a resource compiler.

RStudio

This is a simple IDE for the R programming language, which is aimed at people that want to do statistical analysis. I mostly use it for drawing graphs.

SM-MSSQL

There are numerous IDEs for working with MS SQL Server (including the one that comes with SQL Server), but this one is probably my favourite third-party product. I use the freeware version.

SourceTree

SourceTree is a free GUI client for the Mercurial and Git version control systems. It’s produced by Atlassian, the people behind Bitbucket (which I recommend for your DVCS hosting). As I said when discussing Mercurial, I prefer TortoiseHg when using that VCS, and I use SourceTree (and the command line a lot) when working with Git.

SQLiteExp

This is SQLite Expert, a GUI for working with the SQLite database engine. It’s a handy tool for writing quick tests of SQL syntax when you can’t be bothered running something more heavyweight.

Start MSSQL

This is a shortcut I use to start the Microsoft SQL Server Express database server (there’s a matching “stop” shortcut). SQL Server is probably the best SQL database system available on Windows, and is certainly the best documented. The Express edition is free to use.

Twine

Twine is a tool for writing Interactive Fiction, something I dabble with from time to time. Of all the IF tools out there, I’ve found Twine the simplest and most fun to use. A new browser-based version (2.0)  has just been released.

VS Express

This is of course Microsoft Visual Studio. I use this when writing C# code, but not for C++ (it’s a brilliant C# IDE), as I really don’t like the hoops you have to jump through to do some of the simplest things with that language. Please note that if, like me, you are interested in writing classic Windows desktop applications, you want the “for Windows Desktop” version.

XAMPP

Last but not least, we have XAMPP, which provides a PHP web development environment (PHP, Apache, MySQL) on Windows. I don’t do much Web stuff any more, but this is probably the simplest single-package way to work with PHP on Windows.

Conclusion

Well, that about wraps it up. As I said, I do use numerous other development tools, mostly from the command line, but detailing them will have to await another article.

Leave a Comment

Leave a comment