Developer's Tool-chest
Lately, I've been getting a lot of questions from fellow developers about the various tools I use in the course of writing and maintaining software. Throughout the years I've tried a lot of software, liked a lot of software, hated a lot of software, and ultimately found a good set of scripts, plugins and applications which really facilitate getting the job of programming done. Here is a list of some of the software I'm currently using...
Text Editor:
To be sure, the most important tool in my tool-chest is the simple text editor - Notepad just won't do... As a web developer I spend all day editing text. Whether it is Java, C#, PHP, XQuery, XHMTL, JavaScript, CSS, XML or some archaic server configuration dialect, 99% of the work I do is in a text file. To me, this is kind of like owning the right bed - if you are going to spend a significant amount of time in it, you really want the right one...
- Windows: UEStudio by IDM Computer Solutions, Inc. ($$)
This is the upscale version of their flagship UltraEdit editor. The lifetime upgrade option was the best purchase I ever made, I wish I'd done it the first year. - Linux: UEx by IDM Computer Solutions, Inc. ($$)
This is brand new, and isn't really feature complete, but it is already better than gedit, and starting to get the feel of the UltraEdit I love on Windows. I paid $40 for a year's license (mostly to encourage the effort), we'll see how it shapes up...
XML Editor:
I spend enough time working with XML and related technologies that it really justifies having a dedicated piece of software.
- Windows & Linux: oXygen XML Editor by SyncRO Soft Ltd. ($$)
Beyond the general XML features, I particularly appreciate the XSLT & XQuery processing and MarkLogic/eXist/Saxon integration. It works as both a stand-alone application, or as an Eclipse plugin. SyncRO Soft is also generous in providing a number of extra tools which have proven covenient such as an XML diff tool and a stand-alone Subversion client.
Diff Tool:
The process of comparing files and directories is far too painful a process to do manually, having the right tool can really save the day.
- Windows: UltraCompare by IDM Computer Solutions, Inc. ($$)
I picked this up bundled with UEStudio primarily because TortoiseCVS lacks a decent diff tool, and it has really been very useful. The directory compare and binary compare functionality really set it apart from other diff tools I've seen. Note, a "lite" version is included with UEStudio, and either version is fully integrated with the editor. - Linux: I'm looking for the right tool, any suggestions?
Code Formatter:
Source code from various places can often be a bit messy - in the case of JavaScript, it is often crunched and obfuscated - being able to orderly format source code can be indispensable to understanding it.
- Windows: Polystyle ($$)
This tool integrates nicely with UEStudio and handles a variety of languages. - Linux: I'm looking for the right tool, any suggestions? Eclipse does work to a degree, but I'd like something that integrates with UEx (picky, I know).
FTP/WebDav Client:
Much of my time is spent moving files from place to place, and having a tool which remembers the myriad of connection info/credentials is a BIG time saver.
- Windows: BitKinex by Barad-Dur, LLC. (Freeware)
I actually paid ($20-$30) for this before they started giving it away, but it has not been updated since it became freeware. It is pretty solid software, but it looks like there won't be future releases. - Linux: I'm looking for a decent WebDav tool for Linux, FTP seems pretty well covered by FileZilla.
Command Line Interface:
Often times the good old command line is still the best (if not only) way of accomplishing a particular task.
- Windows: Console (Freeware)
This is a nice tabbed command console application, definitely worth the download. Be sure to get recent version for x64 bit OS. - Linux: The Gnome Terminal which comes with Ubuntu suffices for now, but I'm open to suggestions.
Tail:
As ridiculous as it seems, Windows does not include a file-tailing utility such as *nix's tail.
- Windows: Tail for Win32 (Freeware)
This is a clunky old program I found years ago. It's certainly not ideal, and some features flat out don't work, but for now it is my preferred solution. - Linux: tail -f works just fine.
Screenshot:
I don't know that it is always true, but they say a picture is worth a thousand words. Without a doubt, screenshots are often helpful in conveying problem scenarios, and frequently can be useful as conversation starters and brain-storming tools. While all OSs I use provide some sort print-screen functionality there are certainly better options.
- Windows: Snagit by TechSmith Corporation ($$)
Screen Capture:
If the picture is really worth a thousand words, then screen captures are worth millions.
- Windows: Camtasia Studio by TechSmith Corportation ($$)