while i am usually just frustrated by matlab (MATrix LABoratory, a programming language for linear algebra and numerical analysis), it does have its redeeming qualities.
one of the cool things about matlab is that you can embed your documentation in the source code. this is much easier to keep current than some ne'er updated separate document. to use it, you type ``help'' and then a function name, and the system spits out whatever commented text immediately follows the function declaration, up to a blank line. i use this heavily so i can keep track of which script is which and what it does and how it works.
here's an example, which includes a little bit of commentary (from one of those long long days)...
function [spc, loc, col] = findcolspc( B ) %FIND COLumn SPaCings % given an array B of blob objects describing a grid of dots, % FINDCOLSPC returns the incremental spacings between the % columns of dots in spc, and the locations of those columns % in loc. The locations are actually the average of the X % coordinates of the blobs that make up each column, and the % increments are the distances loc(2:n)-loc(1:n-1), where n % is length(loc), or, the number of columns. the algorithm for % determining which blobs make up which columns is ugly and % nasty and not fit to be explained to anyone. % % % this code is so alpha, its position in the alphabet is negative. % this code is heinous and untrustworthy. % this code is liable to break if you look at it sideways. % this code will step on a crack and break your mother's back. % do not taunt this code. % ....
Wed, 6 Oct 1999 18:47:46