Site Contents

Intro & News

E-mail Contact

RSS 2.0 Feed

Development

Developer Books

Developer Links

Developer Tools

Microsoft Links

Check .NET Version

Comment Reflower

Region Tools

NDoc 2.0 Alpha

Miscellaneous

Other Links

Other Software

Subscriptions

Projects

Tektosyne

Hexkit

Star Chess

Civilization


Developer Tools

This page contains links to free and commercial development tools that I found useful, excluding those which are hosted by Microsoft. Please see Microsoft Links for the latter, Developer Books, for book reviews and Developer Links for general programming information.

There are three sections on this page:

Free Software for .NET and Visual Studio

  • Comment Reflower by Ian Nowland reflows block comments in multiple programming languages, including C# XML comments, to match a configurable line width and configurable regular expressions. An essential utility for painless management of XML comments!

    Sadly, this tool has not been updated since January 2006 but I’ve cobbled together a version for Visual Studio 2008 and 2010.

  • DPack by USysWare offers several helpful features, including browsers for solution files, types and members, and the entire BCL; solution backup and statistics; and various navigational aids.
  • I C# Code offers several tools and libraries for .NET developers. #develop is an IDE for C# and VB.NET, #cvslib is a CVS client library written in C#, #usblib provides low-level access to USB devices, and #ziplib implements the zip, gzip, tar, and bzip2 algorithms in C#.

    All programs are GPL’ed freeware but the authors have made a special exception so that programs using the libraries are not bound to the GPL as a whole.

  • Mole for Visual Studio 2005 & 2008 is a powerful general-purpose debug visualizer for all sorts of complex data structures, including the visual and logical trees of WPF applications. The current edition even allows runtime editing of property values. – A similar tool, the WPF Visualizer, is already built into Visual Studio 2010.
  • NAnt is a .NET build tool based on Ant for Java. NAnt is similar to the traditional make utility but processes XML files rather than line-oriented makefiles, and provides its own set of file processing commands instead of invoking shell commands. Since the release of MSBuild with .NET 2.0 this tool is essentially obsolete, though.
  • NDoc was a popular documentation generator for .NET programs. Using the /doc option, the C# compiler can extract XML comments embedded in C# source code and place them in separate XML files. NDoc reads these XML files and turns them into a variety of output formats, including compiled HTML Help, JavaDoc, and LaTeX.

    The NDoc project has been discontinued, and even the last alpha version is hopelessly outdated by now. Use Microsoft Sandcastle instead (see Microsoft Links).

  • NUnit is a unit-testing framework for all .NET languages. NUnit provides several attributes for your test methods so that they can be executed programmatically by the NUnit frontend, complete with result checking and execution timing. – Manfred Lange’s csUnit is a similar project that was independently created.
  • Reflector by Red Gate is a browser and decompiler for arbitrary .NET assemblies, including the Framework libraries. Enthusiastic users have created numerous add-ins for Reflector. – The original author of this tool, Lutz Roeder, also provides several other free .NET libraries and utilities.

Other Free Software

  • 7-Zip by Igor Pavlov is an open-source file packer that offers an extremely compact native compression scheme, but can also produce standard ZIP/GZip/BZip2 archives and unpack most other formats. The distribution comprises a command-line executable and a GUI with Explorer integration, and the separate LZMA SDK (C/C++/C#/Java) allows you to use 7-Zip’s native format in your own applications.
  • Boost.org is a website dedicated to providing “free peer-reviewed portable C++ source libraries.” Their repository covers many common programming tasks, ranging from STL compliant containers and function objects to graph algorithms to regular expressions.
  • GnuWin is a SourceForge project dedicated to bringing the well-known GNU utilities to Windows. Unlike similar efforts, these high-quality ports don’t require an emulated Unix environment, don’t trip over backslashes in directory paths, and come with nicely formatted PDF documentation instead of raw troff source code. Unless you need cross-system development capabilities, the GnuWin programs are a viable alternative to the powerful but very expensive MKS Toolkit.
  • Info-ZIP is an open-source implementation of the popular ZIP packing algorithm, comprising a packer, unpacker, and graphical front-end. The programs are based on the free zlib compression library. Sadly, there are no precompiled executables for the current release, so you should use 7-Zip if you just need a file packer.
  • Inno Setup by Jordan Russell creates self-installing Windows executables to deploy your software packages, similar to InstallShield except that Inno Setup is much smaller and free! Common installation actions can be defined by simple variables, and a Pascal scripting facility allows the execution of more complex operations.

    If you want to use Inno Setup to install a .NET application, take a look at Check .NET Version with Inno Setup.

  • The Netlib Repository is a vast collection of mathematical software, papers, and databases, made accessible by convenient browse and search features. This is the place to go for standard benchmarks, matrix algorithms, numerical test data, and the like.
  • Perforce is a commercial multi-platform source code control system based on RCS. This fairly expensive software is designed to handle large teams, but Perforce Systems offers an otherwise unrestricted two-user version as a free download that is more than sufficient for managing projects on a single machine. The setup can be a bit cumbersome but the actual operation is very convenient, thanks to the best GUI tools I’ve seen for any SCCS.

    You should also consider buying Practical Perforce (O’Reilly Media 2006, ISBN 0-596-10185-6) by Laura Wingerd, VP of Technology at Perforce Systems. This well-written book offers detailed background information and lots of practical advice on common Perforce tasks, from basic file management to branching and integration.

  • Silicon Graphics now maintains the C++ Standard Template Library created by Hewlett-Packard. You can access on-line documentation and download the STL source code, but there’s no guarantee it will actually compile on your system. Check out the STLport website for ready-made ports of this library to a large variety of systems, including even a version with a run-time debug mode.

    Note that the STL is part of the C++ Standard Library which means you’ll get an up-to-date STL implementation specifically adapted to MS Visual C++ if you either buy a copy of Dinkumware’s C++ Library for VC++ 5.0/6.0 (see Commercial Software) or update to Visual C++ 7.0 or later (which comes with current Dinkumware libraries).

Commercial Software

  • CodeSmith by Eric J. Smith is a powerful template expansion utility for .NET that replaces ASP-style placeholders with arbitrary text values. I found this tool very useful for the creation of strongly-typed collections in .NET 1.1 but have since switched to .NET 2.0 generics. CodeSmith remains popular among database programmers, though.
  • Dinkumware offers implementations of the C and C++ standard libraries as well as handy library references and tools to check for standard conformance. The C++ Standard Library included with MS Visual C++ 6.0 is in fact a Dinkumware product but due to legal quarrels, Microsoft has never updated this library until the release of Visual C++ 7.0 (which comes with current Dinkumware libraries). Meanwhile, Dinkumware has continued to improve the library and adapted it to the C++ standard released in 1998. Inexpensive download copies of the Dinkum C++ Library are available for various compilers, including a customised version for Visual C++ 5.0 and 6.0 whose makefiles let you build any desired library configuration.
  • EmEditor by Emurasoft is a small and fast programmer’s text editor with full internal Unicode support and a large selection of predefined language scanners, ranging from C++ and C# to HTML and XML, JavaScript, and even TeX. The current EmEditor version also supports multi-file projects and outline views.
  • Enterprise Architect by Sparx Systems is the best way to do UML modelling without overcharging your credit card. Much cheaper than the competition, EA is remarkably complete in its support for the UML standard, and even offers code import & export in the Professional version. The low-cost approach does show through in the byzantine user interface and the skimpy documentation, but that’s just a minor drawback given the utter lack of competition in this price range.
  • ExamDiff Pro by PrestoSoft is a powerful and easy-to-use file comparison tool. You can compare text files, binary files, or entire directories, and differences can be noted by line, by word, or by individual characters. ExamDiff Pro provides limited file manipulation and text editing features to resolve differences on the fly. Comparison results can be printed in Unix diff format. A freeware version with reduced functionality is also available. – Beyond Compare by Scooter Software appears to have a very similar feature set but I’ve only tested it briefly.
  • FileLocator Pro by MythicSoft is a powerful text search utility that supports regular expressions, archives (CAB, ZIP) and PDF files, and scriptable search functions. Search results are shown with a few surrounding lines for context. The program is inexpensive enough, but you can also download an older version for free, under the name of Agent Ransack.
  • Registry Workshop by TorchSoft is a greatly enhanced registry editor that offers very fast search & replace, multiple undo & redo, and many other features. An essential tool if you want to go spelunking in the registry.
  • WinRAR by RarLab used to be the best Windows packer in existence, until 7-Zip came along. Compression rates are very high for Solid archives while maintaining acceptable packing speed. Registered users can enable an optional security envelope that detects tampering. Command-line versions are available for MS-DOS, Mac OS-X, Linux, FreeBSD, and even OS/2, and you can download free UnRAR programs for all supported platforms.

This page was last updated on 26 May 2010.
Current version available at http://www.kynosarges.de