Possible Duplicate:
As a programmer what single discovery has given you the greatest boost in productivity?

This is a community wiki to get a list of resources, that you consider helped you, to do faster programming, such as macros, intellisense, autotext replacer etc...

I will start the list with the following:

  • using two monitors (one for specs the other for coding)
  • using PhaseExpress to autocomplete short recognized tags like .cfori into C for cycle using variable i
  • Sticky notes on Windows
  • using stackoverflow.com to get my questions answered

When you enumerate your resources specific for a programming language mention the programming languages you used for.
If you find this or answers helpful, vote it.

15 accepted
  • Colleagues that understand what are they doing
  • Manager that isn't eager to "help" you

On a serious note:

  • Whiteboard or two
  • IDE that fits your needs the best
  • Versioning system (CVS, SVN, Git)
  • Notepad
  • Total Commander
  • Books! (Code Complete is on my desk all the time)

And generally a friendly environment. The worst thing is to have someone behind you asking "when is it going to be finished?".


Simple: A paper notebook that has the plan, objects and methods written down. I find it easer to reference paper and make annotations than to fumble around in software.


A whiteboard to use in thinking about what it is that I actually want to program. I always program faster when I know what I'm doing.

  • A fast computer. Your mind drifts when you are compiling so the less you have to wait the better.
  • More than 1 monitor. I like 4. 1 for my web browser, 1 for my IDE, 1 for my database, 1 for Skype, Email, and the overrun of toolbars from my IDE and database
  • A quiet distraction free area to code.
  • A couple of good book for referencing. Code Complete is a great choice.
  • Good tools like Firebug, YSlow, anything for Firefox that helps you find issues quickly in your code.
  • A notebook to write goals in. Without goals and specific time lines that are in minutes and hours I find I wander. I need to set goals every day. Without them I fail big time. Read 4 Hour Work Week for a good understanding why. There are a ton of books that basically say the same thing. The Mythical Man Month and Peopleware are awesome at helping you get it.

I think you are searching for answers and this book Productive Programmer can answer your queries. Its really nice book it has exactly what you are looking for and that too with examples.

alt text

Before everything else in the list i think Freeze Requirements before development is most important thing :).

Beside this there are few good things one should have,

  1. Have some hold on technology you are working on (at least basics using books by reading good authors and some practice)
  2. Should be well aware how to Google
  3. Should have some stress busters whether cup of coffee, music or sports ..
  4. Have nice tools which includes IDE and all stuff.
  5. Have milestones where progress can be measured by looking back and estimates can be corrected by looking forward.
  6. And yes place where experts can answer queries like stackoverflow as you have mentioned.

I think with all this programming is fun

  • Lisp macros: once you get know them, you'll wish all languages had them.
  • Parrot VM: so I can write a text parsing module in Perl and have it run with my Python app.
  • Emacs (or any other advanced editor)

Smart pointers ! :-) [1]

[1] When I was coding in C++


Visual form designers. I specifically use the one in Visual Studio, but generally speaking, I find that creating UIs in pure code is slow and painful.


Like kruczowski, I also find Paper and Pen quite valuable. When I'm in meetings, giving demos, walking through prototypes or just using the applications I work on, I jot down notes about pain points, things to fix, etc... Then, as I'm working, I go through that list. I would do this in text files or whatever, but I often find myself with 15 TODO files. Obviously, after the application is released, many of those things go into a bug tracking tool (like FogBugz, which I found quite valuable at my last company.)


An office room without telephone.

And a working plus-sign (brainfuck).

  • Visual Assist X (for C++)
  • A decent VCS
  • Music :)

Currently, I have 2 24" monitors that I use for development. An addition of an 17" monitor, to see what the end user will see is something I have requested. This will give me the ability to develop on the large displays & actually see what the end users will see on the 17".....just a suggestion.


@Ondrej Slinták answer plus what I have been lacking lately: a quiet working environment..


Google!! Can't imagine working without Google.

SO now for getting the trouble causing issues answered within minutes.

Good IDE with a good compiler.

Tools like PC-Lint, KLOC for finding static issues quickly.

Above all the mood to program which really perks up one's speed.

Though many may not agree, a good playlist of my favourite songs playing helps me to ignore the outside noise and concentrate on my coding.


I think the thing that makes me code faster more than anything is code ownership. The ability to do whatever you want to your section of code w/o worrying that your going to break your cube-mates code definitely makes me faster.


If prefer a text editor to an IDE, ctags is superb. It effectively 'hyperlinks' all your function calls to their definitions. You can jump between function and method calls and their definitions in 41 languages.

It's simple to use, and very lightweight (creates a single index file for your text editor to read). Most serious programming editors support it.


Just plain being left alone and being able to listen to music(softly) helps me focus. My mind can focus better when listening to music.. not quite sure why.

Having all the caffeine you want.

Having 2 monitors.

  • I keep a text file "info.txt" of all the little bits of information that I infrequently use again and again, but seem to somehow forget every time (like the names of the registry keys that fusion logger uses, as well as a couple of magic numbers used in your app)
  • I've also set up a symbol store which makes things easier no-end when debugging the many many different builds that we have.
  • Launchy
  • Notepad++
  • Having an index assisted search of the source code is also very handy for any source code bases of any reasonable size.

When it comes to .NET coding, particularly C#, you can't leave out ReSharper.


Editor/IDE based keyboard shortcuts would be a handy resource to be banked upon once mastered.