I didn't mean to start a big discussion so I'm not ready to state or develop my vision right now fully and logically… But let's try to start little-by-little.
Considering Pharo as an example… there are few minor issues like lack of some code-producing features in debugger… the one I can remember right now is lack of code formatting there, but there are few more. Fixing such issues would be a first step towards TDD-oriented environment. Next steps would be about some more serious improvements: Test Runner improvements, auto-test running (it's already is implemented I think?), test annotations (expressing ideas behind every tests, relations between them, etc.), better test navigation and, perhaps, a "TDD-oriented" browser. Then, there should be introspection tools that for example silently save all the history and allow to review, analyze the development process regarding the idea-test-implementation triplets… …Sure, I rather have a "feeling" of the TDD-oriented environment then a good proposal right now. The feeling grows to something almost reasonable when I code, but I didn't have such chance for few months already, so I'm kinda caught off base :) -- Best regards, Dennis Schetinin 2013/6/6 Frank Shearar <[email protected]> > On 6 June 2013 14:44, Dennis Schetinin <[email protected]> wrote: > > TDD is not about tests (as a bug-finding/debugger tool) at all. And the > > anti-regression feature of TDD is just the secondary one. > > > > First of all, TDD is about structuring thinking/creation process. And > "test" > > here is a tool that allows and makes developer to formalize requirements > and > > to translate them to the language they will be implemented in. This > starts > > and really drives coding. Thus, a programmer that really masters TDD > (really > > means an ability to apply "pure" TDD for all programming activities: both > > top-down and bottom-up design activities) is expected to produce much > better > > architecture/design/code. > > > > … So, I don't think TDD is somehow obsolete by Smalltalk. Vice versa, TDD > > should be really efficient here. And it's a great pity TDD is not > actually > > popular in Smalltalk society. One of the dire consequences is that modern > > Smalltalk environments are not "TDD-oriented" and don't advantage from > good > > TDD methodology. > > Why do you think Smalltalk environments aren't "TDD oriented"? What > would an IDE need to be TDD oriented? (I can think of something like > Ruby's guard, which runs tests every time you save a file.) > > frank > >
