--
Best regards,
Dennis Schetinin
� I've forgot to explicitly mention that TDD-ing in Pharo I spent most of time in debugger and inspectors: I see live objects there, I can investigate and find roots of troubles, I code there� That's why TDD is most productive in Smalltalk environment for me, and another reason why I think a good debugger (in an alive environment) doesn't make TDD unnecessary (or inversely) but rather complement and empower each other.
--
Best regards,
Dennis Schetinin
2013/6/6 Dennis Schetinin <chaetal@gmail.com>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 <frank.shearar@gmail.com>On 6 June 2013 14:44, Dennis Schetinin <chaetal@gmail.com> wrote:Why do you think Smalltalk environments aren't "TDD oriented"? What
> 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.
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