Download PDF version of this article PDF

What's on Your Hard Drive?

The tools on our hard drives vary widely in how directly they allow us to access the underlying hardware. Accordingly, many of our readers are most comfortable working as close to the machine as possible. Sometimes called “bare metal” programmers, they prefer the fewest possible layers of abstraction separating their code from the hardware. Others prefer tools that specialize in tasks less directly tied to the machine, creating models or even coding in Java with nary a thought of bits and bytes. Despite their fundamental differences, both types of tools inspire equal amounts of love and hate in their users, some of whom love tools for the same reasons (such as having a command line interface) that others hate them. We would like to hear more about which ones you love and hate, whatever your bias, at

Who: Warren Young
What industry: Technology vendor (software, hardware, etc.)
Job title: Senior software engineer
Flavor: Develops on Linux for Linux
Tool I love! Subversion. It’s CVS (Concurrent Versions System) done right. Fred Brooks said, “Plan to throw one will, anyway.” CVS was a good prototype, and it served us well when we had nothing better. Now its inertia is holding us back; it’s time to throw it away.
Tool I hate! Delphi. They went and took a fine introductory language and turned it into C++ with different keywords. They brought over all the dangerous stuff and left a good deal of the power behind. If I want the real C++, I know where to get it.

Who: Jon E. Wright
What industry: Government/Military/Aerospace
Job title: Software engineer
Flavor: Develops on Solaris, Linux for Solaris, Linux, Web
Tool I love! IntelliJ IDEA. I have used many IDEs in my career, but this is the first one that I felt was helping and not hampering the development process. It is simple and intuitive to use.
Tool I hate! Makefiles. As a developer who graduated in 1999, I believe Make is a powerful tool, but since it is based on an older style of formatting (versus Ant build files), it is harder and more complex to use. I have used Makefiles for many applications, but I cannot build one from scratch, unlike Ant files.

Who: George Kasselakis
What industry: Education
Job title: Student
Flavor: Develops on Linux for Windows, Mac OS X, Linux
Tool I love! SharpDevelop. This IDE is modularized so it’s easy to find one’s way around to modify it or investigate design patterns. It integrates with Mono and has good typing savers such as custom class-creation blueprints, which Visual Studio .NET lacks. It also contains a build tool, profiler, and unit tester.
Tool I hate! Eclipse. Its code base is too complex to navigate. It gets slower with every version, even on newer equipment. Building seems to take longer than the equivalent console commands. It inherits the cluttered nature of Java libraries.

Who: Scott Jeslis
What industry: Technology vendor (software, hardware, etc.)
Job title: Senior software engineer
Flavor: Develops on Windows for Windows
Tool I love! Visual Studio .NET. Microsoft always seems to have a lot of debugging power in its IDEs. I especially like the XML-based comment feature and the +/- block, so code/comment blocks can be folded/unfolded.
Tool I hate! Visual SourceSafe. It seems to be an outdated SCM (source code management) system, even though I like its integration with Visual Studio. It seems to lack some of the SCM capabilities that would put it over the top.



Originally published in Queue vol. 3, no. 9
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.