Wednesday, March 28, 2007

Favorite web development tools

Here are some of the tools which I find very helpful when doing software development. I use Windows so some of these tools are only for Windows - but most of them are open source. My latest project involved ASP and VBScript, though I've also been doing some ASP.NET and C# lately:

  • Notepad++ - a great text editor which has syntax highlighting for most programming languages, basic auto-completion via ctrl-space, regular expression find/replace, and several other features & plug-ins including a hex-editor.
  • WinMerge - a really cool tool to compare files and even directories. You can merge individual changes between files and even edit from within the tool. You can even use custom filters when comparing directories, which is helpful when comparing directories under version control.
  • TortoiseSVN - The best client for the best version control system - Subversion. :) (Of course, I haven't had much experience with other systems, but I'm entitled to my opinion.) Since I've started using version control, I love it. It provides a way to log my changes, to see what I've changed since my last revision (or go back to a specific revision), another backup system in case we screw something up, a way to code and test on a development server and easily update the live server, and a way to sync changes with my co-worker. Merging could be easier (svnmerge helps - but it's not perfect).
  • Trac - A project manager/issue tracker and wiki. It's pretty sweet and it integrates really well with Subversion. It's far from perfect, but it's come in quite handy and half our office used it when we developed our new intranet. It's much better than using an Excel spreadsheet to track bugs (which I did at a previous company). I really wish it had better support for multiple projects and a few other features. Since I didn't find the perfect issue tracker, here are some others I looked at:
    • Atlassian JIRA - really cool, but not free for us
    • Flyspray - has multiple project support, ticket dependencies, voting and better notification, but doesn't integrate as well with Subversion and has pretty poor support for IE (which is an issue if you need to work with several others).
    • Porchlight - cool Ruby on Rails app, similar to Basecamp, but limited and has a price scale
    • I did not really look at Bugzilla since from everything I've heard it's a big, scary monster.
  • Google - I'm always looking up language syntax, best practices, solutions, and more. Plus having a built-in news reader and a time-sensitive scenic view (thanks to the new themes) - it's great. Google Groups can be really handy for discussions, too.
There are several other tools I use, like Visual Web Developer Express and Reflector for .NET when I'm developing in ASP.NET and C#. Or Firefox with the Web Developer Toolbar and FireBug. Or GIMP for graphics. Etc, etc. Anyways, I'd love to hear your thoughts, and what your favorite tools are.