Ten years ago when I did mainly C and C++ programming I used to think that tracking down memory problems was easy. I didn't understand why anyone had problems doing it and I was fairly good at it.
What I didn't realise was it's fine when working on a small system with the original programmers. As the system grows, different people come on board, or you maintain a code base written by someone else, then it becomes much harder. Tracking down double calls to 'free', overwritten memory, trashed stacks, etc is difficult without automated support.
It wasn't until I started using other languages like Dylan, Common Lisp and Smalltalk that I began to realise that for some languages, that class of problems doesn't even exist.
6:22:20 PM
|