How is good software like good science?

I’m not one who believes mainstream large-scale software development really deserves the title of “computer science” (or “software engineering” for that matter).  However, I have been thinking lately that there is an interesting analogy between good software development and good scientific theories.  Here are some examples:   Software program Scientific theory What is it? A description of…

1

Customizing PDB lookup for source information in StackTrace

The System.Diagnostics.StackTrace class in .NET can be used to generate a textual representation of the current callstack.  This is used, for example, by Exception.ToString(). If requested by the caller, StackTrace can include source file locations (file names and line numbers, etc.) for each frame whose module has a PDB file available to the CLR.  PDB…

4

Code Sample – StackTrace with manual Symbol lookup

// Sample to demonstrate creating a stack trace with source location information while controlling // how PDB files are located. // Written by Rick Byers – http://blogs.msdn.com/rmbyers // 6/21/2007 – Initial version using System; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.SymbolStore; using System.Runtime.InteropServices; using System.Reflection; // Use MDbg’s managed wrappers over the corysm.idl (diasymreader.dll) COM APIs…

3

Using LINQ for Computational Genomics

I’ve been playing around a bit lately with computational genomics (I’m doing a project for my parallel computation class). I wanted to write some simple algorithms that operate on potentially large amounts of DNA data without using a ton of RAM. For example, the entire human genome is 3 billion base pairs – reading it…

2