All programmers have their set of tools that keep them happy and moving ahead. I work with a lot of technologies: PHP, Java SE, Java ME, Drupal, Oracle, J2EE, .NET, and a few others. I get lots of questions from friends and colleagues about what tools I’m using. Over time I’ve put together a decent toolbox of goto tools that I keep around. Here’s my Top 10 tools and what I’m doing with them:
- Eclipse: Even if you are not a Java programmer, Eclipse is a must have. The plugin/RCP concept of Eclipse is a winner. Programming plugins for just about any language are available in Eclipse and usually are free. Besides Java I use Aptana for PHP and Python, and I also use the C++ plugins from time to time. Eclipse isn’t always good – for example you can get hassles with updating and there are better stand-alone programming tools (a great example is IntelliJ IDEA), but as a flexible and adaptable tool you have to give this project some real credit.
- Virtual CloneDrive: It seems like I’m constantly downloading ISO files for various reasons. Virtual CloneDrive is a free and reliable tool for mounting ISO files on your Windows machine. This tool works great, is small and compact, and best of all is free.
- Skype: you’re always either running a team or working with a team. I’ve used a lot of IM clients, but no client has all the features that Skype has: audio, video, chat, group versions of all of those things, saved history for chat, and free. Runs on all major OS’s as well. I guess gTalk is a close runner up here.
- Altova UModel: UML has never really achieved its hype, but I like class diagrams and sequence diagrams. If you are looking for a tool that can work with both Java and .NET and can both create code and reverse engineer diagrams from code then this is a good basic tool. This tool easily reverse engineers Java code to UML class models. There are tools with more features, but it is hard to find a better price/feature ratio.
- PuTTy: A must have package for copying files and securly logging into remote servers. no so much on Windows, but everywhere else this is a must have. Nearly every hosting provider for PHP and Python systems will require the use of this tool for something.
- ImgBurn: I’m always downloading stuff and giving it to other people. It would be great to not have to burn up (ha ha no pun intended) plastic on disks, but the reality is that you have to. ImgBurn is a great (free!) program to quickly create CD’s and DVD’s. Hands down better than the crap that is probably installed on your machine by the manufacturer (in my case the “RecordNow package…which usually means “RecordEventually if the sun, moon, venus ,and saturn align.).
- Tortoise/SVN: Subversion as a code management system is fantastic and tortiose add Windows desktop integration. A great fit, free, reliable, and supported. Both are a great combination.
- Firefox+Plugins (Firebug, Fireshot, DOMInspector): Ok we all know Firefox is a browser, but with the right plugins it becomes an indispensable tool for a developer debugging issues in a web site. I listed a few of my favorite plugins, but there are probably a lot more that I use when the occasion requires. I didn’t hyperlink these – its pretty easy to figure out if you know Firefox…
- Adobe Photoshop CS4: No doubt this is a big ticket item and there are some decent free/open source pacakges out there, but in my mind this is one tool to chuck some money at if you have the $$$ to spare. This is espeically true for the programmer. Most of us are graphically challenged so we need all the help we can get 🙂
- Notepad++: This is a new one for me, but this is really a gem. Notepad on steroids with a plugin model. That’s great. For me the ability to add in a hexadecimal editor that can display the hex, allow you to edit it, and also show you the ASCII equivalent. That’s priceless if you need to look at byte ‘s coming off sensors and/or debug issues with binary files. Cool – and free.
I kept this pretty focused on utility programs. If I missed something leave a comment.