What is your single favorite development tool?
Kate, which I now use on both Linux and Windows and used on my Mac, when I still had one.
- VS 2005 for C#
- NotePad++ for short modification of XML
- VB6 for Visual Basic (old time but was amazed for the time)
- NotePad++ for PHP/Html/CSS
- Eclipse for Java
- Adobe Flash CS3 for ActionScript
Subversion
Being able to make changes to your code and revert them, or to be able to merge your changes painlessly with your co-workers, is worth its weight in gold. Also, you're backing up your code, which is nice when your computer goes all smokey.
Textmate for coding, git for its wonderful branching and (especially) easy merging, and Google for when I need to track down example code.
- Visual Studio 2005 and Resharper 4.0 - when I can use it
- SQL Server management studio with RedGate SQL Prompt - for T-SQL
- Notepad2 - for everything else
For .NET development: Visual Studio.
For Java: NetBeans.
For general development: good music.
Visual Studio 2008 TeamSystem with Resharper, GhostDoc and Reflector. This is actually all I need :)
Visual Assist X ... why hasn't anyone mentioned this yet? It's a wonderful "can't do without" tool.
Visual Studio 2008! For all the bitching (some) people do about Microsoft, I don't think they can honestly argue that the company hasn't produced some great (and affordable) development tools.
It's an incredibly powerful add-in for VS that speeds development.
Other than a compiler, I'd have a hard time without Toad for Oracle.
Firebug - the all-in-one JS debugger (and profiler), CSS analyzer (and inspector), DOM inspector (and manipulator), and more for Firefox.
You can guess that my job involves front end work for websites, can't you?
Notepad++; it's just an editor, but I use it so much that I think losing it would have the biggest impact.
I'm going to have to say Subversion again, although I really mean just about any revision control system. It's great to be able to try experiments and know that you can always go back to what worked before, or to reclaim a bit of code that was accidentally deleted three days ago.
Your question registered in my brain as "What's your favorite editor?" I have to answer Emacs.
Coffee, all ten of my fingers, and for the severe jam-ups, google & the internet, cause chances are someone else out there ran into the same wall you did
Probably my text editor... (that's SciTE). I can use another, of course, but I always pester not to have my favorite shortcuts.
eclipse (or: my IDE). I'd get totally nuts programming Java without an IDE.
IntelliJ IDEA
I wouldn't be "lost" without it, but I would surely be very grumpy in its absence.
I dont think there is any one I couldn't live without, or be lost without, as there is a replacement of some sort for pretty much everything. Obviously some are better than others. If i had to answer the question as what would pain me the most to live without, it would be...
VS.NET IDE and Resharper.
I consider them almost a package as one since they integrate so well.
I think it depends on the language you're using. Though, language independent tools such as Google are extremely valuable. Another excellent resource is a site like this :)
In no particular order, Emacs, Git, grep, and Firebug when I'm doing web dev.
WinDbg. Debugging, tracking down memory leaks (wherever they may lie), crash dumps... this is the development that I do most and that is the tool that I use most.
GNU Coreutils. I think this is what people who said "bash" actually mean.
And no, BSD userland is not a substitute.
My favorite editor SXEmacs (http://www.sxemacs.org), but I extend this to any Emacsen.
I use the heck out of HTML-Kit (http://www.htmlkit.com/) which is a Windows based HTML Editor that allows the use of plug-ins to make use of language specific templating and help files.
It also integrates nicely with external help such as the PHP online help.
Actually, it can't be one.
For Java development:
- Eclipse (or VS on Windows for MS technologies)
- FindBugs (A lint-like tool is what I mean here)
- An Eclipse plugin for your source control
- UNIX utils such as grep, find, ps, etc. while debugging outside IDE (Cygwin)
- ANT for automating the builds
- Testing frameworks such as TestNG or JUnit (or nUnit)
But if I have to choose only 1, then Eclipse :)
Firebug. Doing web development without it is like typing with one hand instead of two.
This lets you easily run (and debug) single NUnit tests from the IDE.
Subversion. Even if you're a solo programmer, version control is a vital tool. And WinZip is not a version control system. :-)
ReSharper is my #1 choice as well. This tool has so many time savers that I just can't code without it.
I would say #2 would be Reflector. This has given me a greater understanding of third party type systems including those in the .Net Framework.
Experience and knowledge. Seriously, tools can be immensely valuable to a skilled programmer. But despite all the marketing claims, the tool that can make up for a basic lack of skills hasn't been invented yet.
TestDriven.NET, ReSharper. You know, the usual suspects.
One tool, though, that I really like is VisualSVN. Being able to use Subversion from the IDE and letting it handle all the redundant tasks (such as adding, renaming, etc..) is really valuable. Zero friction. Is it most valuable? Not sure.
My tops are Google (including MSDN and the MSDN's of each language like php.net) and a great IDE (like Visual Studio).
VIM, definitely.
With freely available, or custom-written plugins it get's all the features of the big IDEs with none of the slowness and bloat.
And it is cross-platform and can be used to develop with any language.
Features
Refactoring: Bicycle Repair Man (bike.vim), Rope (rope.vim)
Autocompletion: Omnicomplete, Supertab.vim
Anything Else: Python bindings
Any modern IDE. Where would I be without one? Not sure I'd even remember System.out.print()...
I don't think the value is always just in the tool. Rather I think the value is using the tools to their fullest capabilities.
You have found value in Resharper, other may not see that same value, until they understand what it is capable of.
I personally have found value in the DevExpress Addins (already mentioned), as well as the DPack Addin. Those two help enhance my effectiveness in VS.
I have taken the time, and continue to take time to learn new/interesting ways of using them.
For me, it would be Emacs.
Even when I'm using VisualStudio for compiling, Emacs is my editor, and I spend nearly all day in there.
Rubber duck.
"Place a rubber duck on your monitor and describe your problems to it. There’s something magical about stating your problems aloud that makes the solution more clear." -- from the Pragmatic Programmer
I am going to have to go with my computer on this one.
After that, and on a more serious note, I'd have to say the community we work in. I know I couldn't get much done without other smart, inventive, saavy, and helpful people to bounce ideas off.
GIT.
Git adds all the features I need and can interact easily with svn (git-svn).
Despite the advances in high level languages, we still manually string code together line by line. Resharper definitely helps automate that process.
Reflector is more of a knowledge tool, and I only crack it open when I want insights to debugging.
I often encourage colleagues to think in Notepad++, and spell out there thoughts without having to be bound to namespaces, references, etc.
Technically, tools that cost money should not be considered as answers. You can't beat the infinite value of free tools.
A debugger with the ability(when a break is sent) to view the values of variables/pointers and that can print out the call stack.
If I can view the value of a function and how the program got into the scope it did, I can debug pretty much anything with some time and patience.
Headphones and gangster rap.
I don't even listen to rap when I'm not programming...maybe it's the "violence" in the lyrics or the bass keeping me on track, but it seems to heighten the senses and I swear I make less mistakes when I'm listening to old-school Tupac or Eazy-E.
I know it's not normal, but try it.
Another pair of eyes...
Getting someone else to look at your code - whether it is to break a blocking issue you have with what you are developing or doing a code-review before a critical check-in, other peoples' input into your thought process can be invaluable.
Visual Studio by far. It works, bottom line. I've used a gawd awful amount of IDEs for different languages, platforms, etc before, but nothing puts everything so nicely into one package -- yet simple.
It's like a car, you can have all the bling on the outside, or you can have it under the hood. Visual Studio puts it all where it matters, under the hood -- where you can tweak it and have it do what you want it to do, and its not just some shotty thing that looks cool.
I tried Resharper, but found it a little odd. I guess I have gotten used to Code Rush and the way it does things.
NUnit and Rhino Mocks for me
Resharper is also my #1. I also couldn't get by without TestDriven.NET. SlickEdit's free SlickEdit Gadgets for Visual Studio also adds some nice formatting options.
Source control is a must. I use SVN on a Linux server, but if you have a Windows server, check out the free VisualSVN Server and buy the VisualSVN source control plugin for Visual Studio.
Visual Assist anyone?
I would have picked source control first but that's already been mentioned.
A white board - I am such a visual thinker that I have to draw everything. I prefer a white board because I can share with many people, quickly erase and redraw, and even leave it on my wall for a while as a reminder.
Notepad++ - advanced free text
editor with lots of functionality;
VisualSVN Server as SVN server
RapidSVN as SVN client;
DebugView for capturing System.Diagnostics output.
Reflector for inspecting managed libraries/applications.
Intellij IDEA and Eclipse as IDEs for Java;
For the moment, I think R# is really slowing down Visual Studio, will not use it for the moment.
And finally Visual Studio 2008 SP1. Could not live without it.
Coffee. And I'm dead serious when I say this - a walk down to the breakroom for a cup of coffee provides me enough time to get away from my desk and muse over any problems I might be running into.
Instead of using VS.NET for testing some pieces of code Snippet Compiler is the best http://tech.wowkhmer.com/post/2008/10/29/Compile-and-Test-NET-Code-Snippet-Without-Saving.aspx
Favorite development tool?
- VS2008 for C#
- Subversion through AnkhSVN and TortoiseSVN (I just can't live without them)
So many features, exactly where I expect them to be -- and I'm always discovering more new and useful features.
A whiteboard and a few markers are the best tool when coding. It is invaluable for figuring out flow and structure and relaying those ideas to co-workers.
I'm a web app developer, and my favourite tools are:
Editors:
- Eclipse with PHP Development Tools at work on Linux
- Textpad at home on Windows
Database:
Souce Control:
- Subversion, all the way
Testing:
But my top favourite dev tool has to be Firefox with a few addons:
1) Google Code Search (saves me unbelievable amounts of time)
2) ThinkingRock (http://www.thinkingrock.com.au/). It's a free tool that allows me to create my todo lists using the GTD ('Getting Things Done') system. Initially I thought it was overkill (compared to my trusty paper and pencil) but I've kinda gotten used to the system forcing me to think through my task rather than just taking a crack at some random task that's been floating around in my head.
3) GOOD sleep. I've often been stumped by design decisions and slept on them only to wake up with the "Oh that's just so obvious" thought.
Geany I think. I use it to write my code, to think my code and I use is interface to compile my code. So what can I want more?
My state of the art quad core computer with dual monitors.
ProGuard Java code obfuscator/shrinker.
Shameless self plug: I also find my own RefactorBuddy invaluable.
Keyboard.
Seriously! Development software which makes me keep reaching for the mouse is a productivity haemorrhage.
My coffee machine. Without it, my mind doesn't work.
In all seriousness, my single favorite development tool is my mind. I can develop software using a plain text editor and a compiler. It might suck, but I can. But I can't develop software without the ability to think, and think clearly.
The Apple Developer performance tools such as Shark, Instruments, etc. Incredible tools.
You can knock out screen layouts so quickly that you can get an idea of how a month's worth of coding will look an afternoon and find mistakes before you spend hours developing them.
ViEmu for me. Combined with Resharper and Visual Studio, it's incredible.
MS Access: does everything quickly, and allows easy migration to a more powerfull back-end if required.
Multi-monitors... or a really high-res monitor.
It's so hard to develop with limited screen space.
absolutely eclipse is my favorioute development tool.it has the best plugin support ide within ide's i used before(visual studio,kdevelop,anjuta,vim,emacs,.if you look at yoxos site you can have idea about plugins.but other IDEs have good features too if i make sorting
- eclipse
- visual studio
- kdevelop
- anjuta
- emacs(actually emacs could be in higher place but i am not good at using it efficiently)
- vim
- a good editor e.g. Emacs
- some tools like gcc (or java or ...) which work well with emacs
- a lot of good coffee
and depending on the work some good music to hold the noise on a low level
Omnifocus - I wouldn't know how to manage bugs fixes and slate them for releases without it.
A Kinesys split keyboard and handshake mouse. I quite literally can't do sustained work without something to help my wrists.
A close second is a second monitor. I can use textpad, Eclipse, VS.NET, Netbeans, or any other IDE, but without two monitors, I'm slower.
My hands! Seriously, if there was a mind-reader that can read my thoughts on code then I'm all for it, until then we have to stick with the old fashioned method!!! :)
RockScroll for VisualStudio. Ok so it's a plugin but it's so simple and is such a boost.
For a serious project, I need a comfortable work environment. Is that a tool? OK, then consider the tools required to create an environment free from freezing drafts, blasts of hot air, and ear-splitting noise. The single most important tool is a proper enclosure - a building. Even on the nicest day, I could only work outside for a short period.
In case the question was referring to software tools, I would have to say some sort of IDE like XCode. Again, this is for a serious project. The most important aspect of the IDE is the ease of access to a comprehensive set of libraries and documentation. XCode is somewhat lacking in the documentation department, but it's usable. Anything less would be impossible.
Marijuana.
The best way for me to focus is to turn off all the damn chatter.
My fingers. I have learned to type up to 120wpm with 100% accuracy because of programming, and with that I can make well written, fully documented code quickly.
A boss who:
- is responsive
- doesn't mind answering questions
- doesn't mind repeating himself, especially to someone who's new and still learning the business
- is clear about his expectations
In my current job I have my own office, with a door that closes, a fast laptop, two monitors, and a reasonably comfortable chair. But I don't have a boss that fits the description above.
I wouldn't have guessed what a productivity hit it is until working under these conditions.
It only took a few snide repetitions of "As I already told you..." before I decided that, since apparently I don't have photographic recollection of what I've already asked him and what I haven't, and since apparently it's a really big deal to ask something twice, I should quit asking questions at all.
Eclipse IDE (and its multitudinous plug-ins) - does that count as just one tool?
Maybe not my most used, but when I need it, it's a life saver - DDD http://www.gnu.org/software/ddd/all.png
Look at that picture in the top pane. DDD is indispensable when you have complex strcutres with lots of pointers, lists, etc ...
a picture is worth a thousand curses!
In a .NET environment, the winning trio is:
Visual Studio + Reflector + NDepend
NDepend is integrated in Visual Studio and Reflector, and Reflector integrates with Visual Studio.
A powerful tool like NDepend that allows you in a few clicks to visualize the structure of your code. This kind of tool quickly become necessary when the size of your code base is growing.
The compiler for your language? Everybody forgets this bit of technology, and yet it is both a spectacular bit of engineering and allows you to completely avoid write assembler code.
Beer.
Beer helps slow me down. I don't get carried away with perfection, and my mind doesn't race. When the project is working satisfactorily, I can stop thinking about coding, and come back another day with a fresh mind for the next development iteration.
I also use eclipse, but the more i use eclipse, the more I appreciate the elegance of IntelliJ.
I find Object Dock to be very useful for my work PC but I don't use it on my own windows machine. Somehow being able to drag and drop any file onto notepad or winzip is very essential.
The objective is to finish faster.
Visual Studio and JDeveloper for Desktop EXE
Ruby On Rails for websites
Microsoft Access is fast too.
That's all! Thank you.
For webdev Coda on OS X. For 'proper' .Net dev Visual Studio 2010 + MSDN For 'proper' Java dev Eclipse.
Visual Studio 2010 with Resharper 5.0
Can't have one without the other!!
For .NET development LINQPad is indispensable.
Test your .NET code before answering a Stack Overflow question. (That is just one use.)
Erm... My brain. And the brains of my colleagues and ex- and current co-workers ;)