views:

1577

answers:

40

Apart from all the IDE's and their features or plugins (and lets skip version control systems too), what tools do you use which help you with development? This can be almost anything, but please keep it computer related. Not that i have something against your dog being very helpful with bug-fixing, but i do like cats more ;)

+2  A: 

A calculator which does hex<->dec conversion without needing 15 keystrokes

Will Dean
Only a single click in calc.exe.
Don Reba
Maybe he doesn't have a mouse ;)
Diego Pereyra
Sure, after you've launched calc, played z-order tennis with the other applications you're running, etc, etc. I use calc.exe when I can't find a calculator...
Will Dean
I've found that sometimes having a good old-fashioned hand-held calculator is the best bet. To all of the "in my day, we had to use slide-rules" people: I'm young; calculators are old-fashioned for me.
Tikhon Jelvis
+2  A: 

Things that help me:

  • Code analysis tools (such as NDepend)
  • Unit testing and coverage tools (xUnit, xCover)
  • StackOverflow & Google for Q&A and reference lookup
  • A good text editor (I use notepad++)
  • Calculator that converts dec and hex
  • Batch files for automating those pesky little repetitive tasks
Oded
A: 
  • VisualAssist from Tomato software - a plugin to VS. Brilliant, saves days of work
  • Reflector (.NET specific)
ULysses
+1  A: 

+Documentation.

relet
+37  A: 

Proper hardware. Your workstation should be able to keep up with your thinking process, instead of lagging behind.

Niels van der Rest
An interpreted language might be a better solution for that.
intuited
@intuited Sounds good. You get a new Python download, I get a new Dual Xeon, 64 GB memory workstation :-P
samoz
@samoz: I thought the goal was productivity, not graft.
intuited
But the answer above is encouraging productivity by making the point that if your machine can't keep up, no amount of tools will matter.
samoz
+1 Also multiple monitors.
Michał Piaskowski
@intuited I don't think, "rewrite the thing in Python," is a good answer to improving productivity.
Andres Jaan Tack
Is it seriously possible, even with the most blazingly fast of machines, to compile a sizable application in the time it takes to think? At compile time, your thinking process is usually "blocked", waiting to see the results of your most recent thoughts on the subject. So really, in order to keep up, the compile time effectively has to be nil. I don't think this answer's goal is realistically implementable through improved hardware. Also, given the scalability benefits of higher-level languages over something like C or C++, a rewrite may well provide an overall improvement to productivity.
intuited
I was more thinking in general terms, such as slow network drives that freeze the explorer or applications that take ages to launch. Such little annoyances can really derail my train of thought. Compile time isn't an unexpected interruption and it gives me extra time to think about the problem and define my expectations of the new build.
Niels van der Rest
You have no idea what pain it is to be running NetBeans and Java on a AMD XP 2000+ and 356 MB RAM. Only if I could get the Android emulator to run at a decent enough speed to make some money I might accomplish something.
TheLQ
+5  A: 

Some of mine are:

ClipX - clipboard manager. Makes it really easy to paste from history.

UnxUtils - to bring unix commands to Windows

xplorer2 - a powerful file manager

Textpad - for text manipulation (especially regex find/replace)

dogbane
ClipX is a great app, nice find.
01
I second ClipX - can't live without it
Ed Schembor
Love xplorer2!!
Ben
+20  A: 
Willem van Rumpt
+1 for Expresso. I love that tool
Chad
not all of these are language agnostic (as the question's tag suggests), but helpful, thanks.
gatoatigrado
@gatoatigrado: Just regard the .NET related ones as tools that target C#, VB.NET, Delphi Prism, and other .NET languages ;)
Willem van Rumpt
+11  A: 
  • VirtualBox and VMWare - for testing
  • Google - for search information
demas
A: 

DBWin32 (an external outputdebugstring catcher).
HexEdit (durrrr... hex editor)
IcoFX (icon editor)
WinDiff (file differ)
Depends.exe (dependency viewer)
GuidGen.exe (it generates GUIDs)
NotePad++ (for looking at log files etc)

Yeah, I'm just a native code dinosaur, basically.

Bob Moore
A: 

A spreadsheet can be a very useful tool. You can use it to model algorithms (operation and performance), debug complex algorithms, log bugs, analyse performance data, track "to do" items, etc.

Paul R
+1  A: 

Quicksilver makes it easy to do just about anything!

Mac only unfortunately..

Mongus Pong
A: 

A lot of Energy drinks for long nights :-)

cRichter
A: 

This is what I use daily (except IDEs like Visual Studio & Delphi and programming libraries & components):

  • Mediawiki - for knowledge base
  • TortoiseSVN & MS SourceSafe - for source code control
  • Mantis - for bug & tasks tracking
  • Dr.Explain - for help files & documentation manual writing
  • TheBat - email & communication
  • 7-Zip - file compression
  • FAR - file & FTP manager & colored text editor
  • Skype, GMail, ICQ - for instant communication
  • Truecrypt - for data encryption
  • MS Virtual PC
  • MS Office - ... you know :)

Occasionally:

  • GIMP
  • Paint.Net
  • Group Mail
  • Inkscape
  • and tones of utilities for specific tasks
Dennis Crane
Sourcesafe? really? There are better source control systems out there, that dont break and that have better workflows and allow for better team working. Suggesting sourcesafe is counterproductive hence my down vote sorry
Miau
Miau,I know many developers don't like SS. However we use SourceSafe for several huge Visual C++ projects (that don't require remote access to code via Internet) for 6 years and we have no troubles with it. For other projects, that are developed by a distributed remote engineers, we use Subversion+TortoiseSVN.
Dennis Crane
"not like" is an understatement, from what I read here: http://www.highprogrammer.com/alan/windev/sourcesafe.html and here: http://www.developsense.com/testing/VSSDefects.html
Marco Mariani
its not about not liking, its about a tool that is not reliable. By the way you can also set up your own local repositories if you dont have a reliable internet connection, Dennis If I was you I would start looking at improving your tooling, I m pretty sure you will see a lot of improvement in productivity of your team if you do. Also I hope your VSS repo never gets corrupted or that you are backing up everyday Cheers
Miau
+4  A: 

Good tools are saving time and do not block me in any way:

e.G.

Source Code Tools

Test Tools

Continuous Integration

Build Tools

  • good old make, rake whatever
  • msbuild
Andreas Rehm
+1 for mentioning CI and build tools. Nevertheless, I am missing maven in the later one (and maybe ant+ivy). Saved me sooo much pain.
Nils Schmidt
+2  A: 
passing by
A: 

Dev Express Code Rush
Notepad++
XML Notepad 2007
My Generation
RED GATE SQL data compare
Reflector

joe
+1  A: 

Version Controlling System

Dhana
Do you use a Programming Language too?
Mark Rushakoff
Although this should be default for everyone, students just leaving college would not know this, so for them, VCS is a good thing to know.
earlNameless
@Mark: I used to use cvs with raw binary files. Your suggestion has improved my productivity immensely.
Tikhon Jelvis
A: 

Ch Interpreter, which includes many *nix commands & utilities not found on Windows.

Joe Internet
+1  A: 

Red Gate SQL Toolbelt - Auto complete/Intellisense features in particular speed things up

C# to VB Code convertor

Not specifically a development tool but:

Slick Run - To quickly launch apps (All those seconds will add up over the years)

Sometimes you just can't beat a good book relating to your primary coding language.

Dan Harris
Wow, Slick Run is really great.
Jesse Aldridge
+5  A: 

Notepad++

Resharper

LINQPad

True Crypt

Paint.Net - It's free!

I use these almost every day while developing .Net Solutions.

Mechamonkey
+3  A: 

Emacs.

Even when working in Visual Studio, sometimes it's quicker to copy a block of text into Emacs, run a macro or two on it, then copy it back.

chris
I still can't believe how people get some things done without emacs. :)
wasatz
I can't believe that there's still nothing in Visual Studio that can come close to the macros in emacs!
chris
@wasatz: I could say the exact reverse of that. =DAnyway, VS has a macro-recorder too.
Nailer
which is pretty bad, when compared to emacs.
chris
+24  A: 

Multiple monitors help immensely. It's great to have an IDE maximized in one monitor and use the other(s) for various tools or browsing resources, rather than having to constantly ALT+TAB back and forth. Jeff Atwood has written a lot about this topic.

Also, check out Terminator. Having multiple terminals open and connected to each other can be quite handy. A terminal for Emacs, one for man pages, and one for compiling programs and seeing output or running scripts -- all in one window. That's an essential setup for me when coding in C or Perl on my laptop.

mocybin
+1 for multiple monitors. Very useful for debugging and coding.
PeterK
for windows there is WinSplit Revolution http://www.winsplit-revolution.com/
Daniel Moura
+1 for Terminator recommendation. I've been using it for a while, and it's the best terminal I've ever used.
Gilead
+8  A: 

Beyond Compare by Scooter Software. Invaluable comparison and merge tool. Have it linked to the version control system in favour of the diff and merge that comes with that. Would hate to develop without it.

Marjan Venema
+2  A: 

Resharper Great coding assistance
NDepend Great static code analyzer
Reflector Great disassembler
NCover Great tool for code coverage by tests
TestDriven.NET Great VS addin for all test related task
DotTrace Great memory and performance profiler

Patrick Smacchia - NDepend dev
A: 

A few not yet mentioned. Must haves for me working on Windows 7

  • FileZilla - FTP manager
  • Qttabbar - explorer enhancement (adds tabs!)
  • FileLocatorPro - blazing fast search through source files (especially not your own). Comes with a free version called Agent Ransack
  • Ditto - best (multi-)clipboard manager
  • Notepad2 - as notepad replacement for blazing fast code previews
  • Power Menu - for setting windows on top or making them transparent (eg. for overlaying two windows and comparing changes)
  • PHP Storm - best PHP IDE
Raveren
Is it really "balzing fast"? That's fast!
intuited
can't you edit instead of being a wise guy?
Raveren
+1  A: 

Ultra Edit - My favorite text editor

Dependency Walker - Valuble for seeing what is in your native binary.

C Johnson
+1  A: 

nWire: a code exploration Eclipse plugin for Java and PHP. It is a great time saver when it comes to diving into large, unfamiliar code.

zvikico
A: 

For file comparison's, I use Compare It!. It's feature rich and also has a companion program called Synchronize It! that let's you compare, synchronize, etc. the contents of two directories.

Dave M
A: 

The absolutely essential for me, apart from editors (read: vim), IDEs etc., is "meld", a diff and merge tool.

http://meld.sourceforge.net/

When you use it just once, you won't be able to live without it.

Avel
A: 

A couple other tools that help where I work:

  • Storyboard & Post-its - tracking stories and progress in a sprint.

  • Excel spreadsheet to hold the backlog and monitor priority of stories.

JB King
A: 

Bugzilla - open-source defect tracking software

Mercurial - Version control.

CPAN- used for getting perl modules

FireBug - used for debugging javascript css et cetera

Google Chrome Inspect Elements - used for debugging javascript css et cetera

Alos
A: 

Java web development:

Git - The BEST open source version control system
JUnit - For unit tests
JMock - Indispensible for mocking components. Once you know how to use it it's hard to give it up.
Eclipse - An excellent IDE

brendan
A: 

notepad

coffee

skype -- chat with other to get inspirations :)

Catherine
A: 
  • vim (clipboards -- called registers, etc. all there)
  • Jinja2 -- a Python macro system. It makes it a lot easier to deal with redundant languages, and is a quick metaprogramming language. I made a script so everything "name.jinja2" gets codegenned into "name" when I hit F1 in vim. You can also call Python logic from Jinja2 templates for more intense metaprogramming.
  • google codesearch
  • stack overflow, when answers cannot be easily found
  • avoiding work whenever possible. Learning to be satisfied with libraries is hard. For example, I think many GUI libraries are littered with asynchronities, low-level details and thread difficulties. But unless your goal is to write a GUI library, use them.

(I'm still looking for a good DSL generator -- Python's SPARK works, but was too much of a pain for me to recommend).

gatoatigrado
A: 

On OS X my setup is generally something like:

  • IDE: Netbeans/Eclipse/XCode
  • Text/Quick coding: TextMate
  • FTP: Filezilla
  • VCS: Versions, Changes
  • Office: Thunderbird, OpenOffice.org
Joe
+1  A: 

Cygwin on Windows.

Michał Piaskowski
A: 

All of the useful tools I use have already been mentioned except wingrep

Bring those grep powers to your windows machine with an easy to use UI for those who are terminal(ly) impaired.

Nailer
+1  A: 

Headphones (with or without music) - people bug me less when I have them on.

Jay
+1  A: 

Balsamiq Mockups.... for the most important stage of any development project..

Matt
A: 

If you debugging websites, you cannot work properly without Fiddler (http://www.fiddler2.com/fiddler2/version.asp), and also Firebug.

Alan