Tools of the Trade Icon

Welcome to Tools of the Trade

This podcast of an ongoing IEEE Software column explores the interplay between you, the software practitioner, and the tools you apply to the development problems you face. Skilled craftsmen set themselves apart from amateurs by the tools they use and the way they employ them. As a professional, I feel I'm getting a tremendous boost in my productivity by appropriately applying tools to the software construction problems I face every day. I also often find myself developing new tools, both for my personal use and for wider distribution. Column installments will discuss specific software construction activities from the standpoint of the tools we can employ — the tools of our trade. Future topics include editing, compiling, documentation, debugging, testing, configuration management, issue tracking, the development environment, tool building, and domain-specific tools. Of course, your suggestions are always welcome; email me at dds@aueb.gr. Diomidis Spinellis

This podcast is brought to you by IEEE Software.

Subscribe iTunes | Google | RSS

Open Source and Professional Advancement

Open source software development efforts offer professionals a new and valuable way to obtain significant experience in a wide range of areas as an alternative to existing certification schemes.

Listen:

Choosing a Programming Language

There's no language suitable for all tasks, and there probably won't ever be one. When choosing a programming language, you have to balance programmer productivity, maintainability, efficiency, portability, tool support, and software and hardware interfaces. Often, one of these factors will shape your decision. In other cases, the choice depends on the productivity you gain from certain language features, such as modularity and type checking, or external factors, such as integrated development environment support. Finally, for some tasks, adopting an existing domain-specific language, building a new one, or using a general-purpose declarative language can be the right choice.

Listen:

Debuggers and Logging Frameworks

Debuggers are cheap and effective tools. Typically we use them in a bottom-up fashion starting from the problem going to its source, but when this strategy fails, we might have to resort to a more tedious top-down breadth-first search.

Listen:

Bug Busters

Stringent quality control helps eliminate bugs. Tools can help prevent them from ending up in production code. We can use type-safe languages, heed compiler warnings, adopt specialized bug-finding tools, and adjust our code to locate bugs during testing.

Listen:

Showing 13 - 16 of 23 results.
Items per Page 4
of 6

About the Speaker

Diomidis SpinellisDiomidis Spinellis is a professor in the Department of Management Science and Technology at the Athens University of Economics and Business and the author of Code Quality: The Open Source Perspective (Addison-Wesley, 2006). Contact him at dds@aueb.gr.