Question

I recently burned up my development laptop (it literally emitted smoke from the vents). After pulling the hd I was unable to get it to spin with a USB device attached to a home tower. Since I was on a deadline I had to rush and buy a new laptop (Turion 64 x2) running Vista.

After I installed my required applications VS2005/2008, Sql Server editions client tools, Adobe CS3, and source control clients: I am wondering what list of “must haves” developer tools that are out there these days? I’m a big fan of Fiddler and LinqPad, but I am wondering what I am missing?

[edit]I read the other question here and I am aware of Hanselman's list. I was not specific enough in my original question. By "these days" I meant new and latest tools (perhaps available only 64 bit), which in geek years might just be 12 days, I dunno. :)[/edit]

Was it helpful?

Solution

Let me be general [then specific]:

  1. Your IDE of choice [VS 2008 here]
  2. Your debugger [It is usually part of your IDE, but sometimes WinDbg is needed]
  3. Its plugins for refactoring and source control [Resharper 4+ and Ankh SVN 2+]
  4. Your OS's addons for source control [Tortoise SVN]
  5. A better Diff and Merge Tool to plug into the above SCM tools [WinMerge]
  6. A fast loading text editor for when your IDE is too much [vim, Notepad++]
  7. If you're doing web development, get tools for that [Firefox 3 with Add-ons: Web Developer, Firebug, TamperData, Poster, Firecookie, FireFTP, FirePHP, Rainbow for Firebug, ReloadEvery, Selenium IDE]
  8. Requisite tools for working with text [GNU TextUtils, via cygwin or gnuwin32.sf.net]
  9. Scripting tools [Perl, Python, zsh, all those GNU base packages in cygwin]
  10. A Regular Expression testing tool for when your eyes hurt [Expresso, RegexBuddy]

For Java I swap out 1 and 3 with Eclipse, and its plugins for Maven and SVN, I haven't found a refactoring plug in... you'd think I'd use IntelliJ IDEA but I never started using it.

OTHER TIPS

Notepad++ for sure

  • Winamp (I love coding with music playing in the background)
  • Coffee

In no particular order (I'm a .NET web developer if you can't tell from the list):

  • Resharper - Keeps my code slim and clean!
  • Reflector - Every now and then you need to figure out how the heck something is working in the .NET library.
  • Firebug - Every web developer has this installed because it makes markup and css debugging so much easier.
  • Tortoise SVN - By far the best version control system I have ever used. Absolutely no complaints about it.
  • NUnit - Unit testing that doesn't get in your way. Plus it integrates nicely with Resharper!
  • Notepad - For whatever reason, I can't shake the nostalgic feeling I get using this. Still my go-to application for several things (to-do lists, quick side notes, quick and dirty clipboard, etc.).

Beyond Compare: a diff tool is always a must.

Scott Hanselman has a great, updated every year or two list of tools: Scott Hanselman's Ultimate Developer and Power Users Tool List for Windows

I like Whole Tomato's Visual Assist X plug-in for Visual Studio. I think you get the "most" out of it when programming in C++ (and especially older versions of visual studio), but there are some additional syntax highlighting and refactoring tools, plus a decent search based on context / scope.

For Windows work:

Beyond Compare - great diffing tool, works well with files and folders.

Launchy - lets me start programs without moving my hands from the keyboard.

  1. Vim
  2. Python
  3. Git
  4. A huge collection of music ;)

ide: visual studio / netbeans (zip file!, almost portable)

editor: notepad++ (portable) with monaco font

file comparison: winmerge (portable)

source control: subversion, tortoise

ticket control: redmine

file manager: free commander (portable)

explorer: IE, FF (portable), chrome (portable), iron (chrom without google crap, also portable), qtweb, arora,

FF plugins: firebug, web developer, xmarks

imclient: pidgin

mail client: gmail

download manager: free download manager (portable)

sites: STACKOVERFLOW!!!, gotapi... and google, all the time...

miscelaneous: launchy (can't live without it!)

virtualization: virtual box (I have a machine image for every environment)

office: openoffice (portable)

lamp stack: xammp (portable!)

disk usage: windirstat (portable), scanner (portable)

pdf viewer: foxit (portable), sumatrapdf (portable)

uncompressor: 7-zip portable

M$ sql comparison tool: sql delta

M$ sql management: visual studio sql manager

mysql

mysql management: phpmyadmin, manager provided with mysql

uninstaller utility: revo unistaller (portable)

registry cleaner: ccleaner (portable)

ftp: filezilla (portable)

as you may have noticed, I have a special predilection for portable applications...

A nightly build of Resharper

Subversion + TortoiseSVN

A good editor and your compiler of choice.

Sure, some tools make your job a little easier. Developing .Net applications without using Visual Studio would be more convoluted, but I would bet that at the end of the task, using only a text editor and the csc compiler, you would have a guru like comprehension of the language in no time at all. You would learn things that other people may never get into.

Of course, a good debugger helps (Also built into VS). I use Komodo for Perl development purely for the debugging tools involved. Even though I still prefer to edit the code using e-TextEditor.

Vim, Cygwin, TortoiseSVN, Eclipse. SoapUI is an awesome tool if you're working with SOAP web services. I also find TCPTrace a very handy little tool.

Also have a task management and project management tools like trac basecamp etc...

Cygwin

notepad++

true x-mouse behaviour under Win 7 (by manual registry hack)

process explorer from sysinternals

  1. Firebug - to debug CSS, change classes, styles on the fly without reloading the page. To interactively debug Javascript by setting breakpoints. To debug AJAX calls.
  2. YSlow or Google Page Speed - it is a firebug plugin, it shows you why your web page takes time to load. Breaks up the time into parallel threads, image loading, CSS loading, etc. Also gives a list of suggestions of how you can improve the page load speed.
  3. Firefox Xpath plugin - Lets you right click on any webpage and find elements by XPath.
  4. Charles Web Debugger - a simple [windows] application which lists all the HTTP traffic originating from your Firefox or IE browsers. Very useful for debugging web applications (especially with AJAX calls)

I cannot live without Eclipse and Mylyn

Komodo Edit, Cygwin (ssh, cat, less, sed, grep, etc.), Python, TortoiseSVN, TortoiseCVS

TextPad rocks! And CSSViewer (FF plug-in) is nice. Heard Firebug is even better, since it allows you to edit, too, but haven't tried it.

Also, virtual machines. I'm using using MS Virtual PC (w/ VM additions) right now for multiple projects and it suits my purposes well. I'm sure there are better vm solutions, too, I just haven't had to look into them.

CrossLoop and Skype for collaboration/pair programming (particularly for remote employees).

AgentRansak for text/file/foler searching. I haven't used this to it's full extent, since I'm new to it, so I don't know how robust it can be. It works well for what I use it for, though. I am much more familiar with TextPad's search/replace functionality (which rocks!).

  1. Another vote for notepad++
  2. Firebug or the dev toolbar in IE
  3. Lifehackers Texter (for text expansion)
  4. I couldn't live my life on a computer without humanized's Enso product

Notepadd++, Mercurial, FireFox, FireBug

Notepad2, e.TextEditor, Textmate

WinSplit Revolution

Google, Pandora

Synergy

FireBug

SVN

Visual Studio if .net app

A lot of it depends on the kind of work I'm doing. I use git or svn on pretty much everything I write these days. Github has raised the bar for ease of collaboration and generally what I expect from an SCM repository. TextMate always comes in useful for snippets, regex find and replace, and all sorts of little editing niceties; for most projects it's my primary text editor. For Java I'll spend a good bit of time in Eclipse, and back when I was did .NET work I'd use Visual Studio. If I'm scratching together a prototype design for a web site, I'll use Coda or something similar.

If you count libraries and frameworks as "development tools," Ruby's regexes take the cake for ease of use. Haskell's Parsec wins for doing serious parsing, followed very closely by Java's ANTLR. Hype be damned, I've yet to be as productive writing a web app than I am with Ruby on Rails, though Pylons in Python land is nice. Likewise with Visual Studio for doing client side GUI work, though I think Cocoa+XCode in Leopard could be very competitive if I ever get a good grasp on Objective-C. LLVM's IR is the new assembly if you're writing a compiler.

For Python stuff, a good text editor (TextMate on OS X, [g]vim on Linux, Programmers Notepad on Windows), VCS (I'm mainly using git currently).. That's about it..

A bit of a stretch to call it a dev-tool, but searching Google for "python [module name]" is incredibly useful (I use it even though I can put the cursor over the import abc module and be taken to the pydoc page, I always found the first-google-result much better than the PyDoc page TextMate invokes..

I use PyLint to check I've not done anything stupid, but I'd hardly consider it 'must have' (I mostly use it for keeping consistent white-spacing, after commands and around x = 123 statements and so on). I'm also considering learning pdb (python debugger), but I've always found the odd print statement, or the logging module (in larger scripts) more than adequate.

..that's about it.. Text editor, VCS, module documentation.

You can easily perform very good diff ing using Eclipse. See http://triviaatwork.blogspot.com/2008/09/comparing-two-folders-on.html

To manage the programming tasks, I've used ToDoList from time to time, although there are times when I prefer Joel's Excel sheet for managing tasks (I like the elegance of a simple flat list).

I use these tools:

ClipX for the clipboard.

UltraMon for multiple monitors.

RegexBuilder for for creating regular expressions in .NET.

Taskbar Shuffle for shuffling windows.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top