2013-03-31

pythonic software construction

2.2: news.addx/pythonic software construction:

Fred Brooks` Mythical Man Month:
. Brooks suggested we plan to throw one away
because we will throw the first attempt anyway;
10years later he noted that incremental development
can reduce much of that loss;
nevertheless,
what he said still applies on a smaller scale:

while the design should be documented before coding,
don't be overly concerned with self-documenting code
until you see a working prototype;
then pythonically* refactor modules, and the skeleton;
adding the implementer's full documentation
and improving the efficiency .
. as for the design doc's, you might need to
change the spec's or even the req's after seeing
what you can do with the available resources .
*: 3.31:
. pythonic refers to the Python programming language
which encourages rapid prototyping with scripting,
and then lets you incrementally replace scripted modules
with more efficient modules coded in C .