Sometimes you need a sanity checker.
I've got over 3GB of binary data files to trudge through. The original code is in C++
-- there is an error somewhere in the code. Or, is the data just corrupted?
A surprising (for me) use for Tcl
: Sanity checking existing C++ code.
The approach is simple and can go two different ways:
- Cleanroom re-implementation of the code (based on understood data file format) to check correctness of original code and data file integrity
- A re-implementation using the original code as a guideline --- additional introspection and stepwise tweaks to check correctness of original code and data file integrity
The really interesting
end result: A reference implementation of the binary data file reader. (Change the file format or the C++ code and you need to validate it with the Tcl implementation).
Ah, the many uses...
- Tcl was very easy to bind to C based data decompression code
- Large file support seamless (compared to C/C++)
- binary is your friend
- Tclkit made it easy to deploy to remote machines (and share w/ co-workers)
-- Todd Coram