On Prototyping
Clearly, application prototyping uses a different set of technologies than production-grade development. Even though they overlap - and in fact the same framework can be used for both - it is often preferable to write quick-and-dirty code in one way, and "permanent" production code in another. In fact, when iterating quickly, it makes sense to write a component with the expectation that it will be thrown away. Write it in order to rewrite it from scratch later - and that is still faster and higher quality than writing it "well" the first time.
Case in point: test-driven development (TDD) may be unnecessary and detrimental during quick development. There is also the converse side of the argument: if you get stuck... write some tests. Or if the code became completely unmanageable, un-twine it by writing tests. The tester mentality is a good one, and it helps to get one un-stuck, and it definitely helps writing long-term maintainable code. However if you know the code may be thrown out or rewritten, or even rewritten more than once - than test-driven may be ineffective and should be abandoned.