I don't see how this is making things better. Of course people should disagree with DHH, he's one person and we don't have to all agree on everything. In fact it would be far more strange for a programming community to insist on orthodoxy when our problems and work styles certainly differ.
This isn't adding to intelligent dialogue about TDD or best practices any more than the writer is accusing DHH of being detrimental. In fact I thought DHH opened up an interesting dialogue about TDD while he was being the "Fox News of Ruby". There were interesting responses from Martin Fowler, Gary Bernhardt and Kent Beck among others. I felt like the articles and dialogue that I saw in response to DHH really helped me think about programming and the projects I work on. And that's not to dismiss DHH's own comments, which I also found valuable.
This meta DHH slamming seems far more like school yard gossip and mud slinging and "Fox News" than anything DHH actually says. At least even when he's being rude he's actually talking about programming. I've also seen DHH hop on HN threads and provide gists where he refactored code to make his point. That's seriously constructive in a way this talk isn't even aspiring to be.
I don't think there's anything wrong with the meta-commentary that the author provides. He is, after all, encouraging everyone to contribute their own commentary in the same way that Fowler, Bernhardt, and Beck did.
It's sort of like saying we shouldn't ever discuss or scrutinize the reporting done by news outlets. We should only discuss the news they report. I think that's a bit unrealistic.
I like DHH (and I've never written a line of Ruby).
He writes thoughtfully (and provocatively, "Fox News" mostly just has the provocatively) about things he likes and dislikes (even when I don't agree his pieces are worth a read).
He created an extremely influential framework (Laravel which keeps me sane working with PHP owes much to it).
All that said I'm really not sure what the point of this video was at all.
DHH is an intelligent and successful person. DHH invented rails. And now I can get paid for writing Ruby even though I enjoy it.
So thanks DHH (sincerely).
But. There's a problem. DHH is Ruby famous. Which means that DHH is extremely visible. Some might say disproportionately visible in the ruby community.
Why is that a problem? Because DHH is the Fox News of Ruby.
He's noisy, he's reactionary, he's anti-intellectual. He's very sure that he is right. And he enjoys being rude. (Photo of his famous "fuck you" slide.) That was eight years ago, but things haven't changed much.
Just like Fox News, DHH appeals to common sense and makes a show of being "fair and balanced" but in reality his arguments use aggressive rhetoric and rely on a fix viewpoint.
To pick a topical example: Is TDD hard in Rails apps because TDD is dead or because Rails makes TDD hard? Is TDD not worth the effort because TDD is dead or because the complexity of software can be more managed more effectively if you only work on one product for which you control the requirements? If we only listen to DHH, then we'll never know. Because DHH is just one person. And he only has DHH's experiences.
All I'm saying is the Ruby community is large, and diverse, and thoughtful, and that is why I love it. Please listen to DHH. His experiences are valuable. But DHH does not speak for me, and he probably doesn't speak for you. My personal preference is for a bit less of this ("fuck you" slide) and a bit more of this (slide: "What others do may be the stimulus of our feelings, but never the cause.").
Please give DHH's opinions the weight they deserve: They are what one man thinks. And if you disagree with him: please speak up. Write a blog post, give a talk. Create a web framework. So that we can all learn what the world looks like to you.
TDD is a non-issue for everyone except those using Rails. Be honest, if I had written a blog post saying the same thing, ya'll would have enjoyed trolling me all day, don't lie.
> Because DHH is just one person. And he only has DHH's experiences.
Yep. Uncle Bob is one person, too. tl;dr Think for yourself and don't listen to somebody just because they hurt your feelings.
> To pick a topical example: Is TDD hard in Rails apps because TDD is dead or because Rails makes TDD hard?
This is a misrepresentation of what DHH has said [1], which is that strict adherence to TDD can make your designs worse:
> Over the years, the test-first rhetoric got louder and angrier, though. More mean-spirited. And at times I got sucked into that fundamentalist vortex, feeling bad about not following the true gospel. Then I'd try test-first for a few weeks, only to drop it again when it started hurting my designs.
> Used as a hammer to beat down the nonbelievers, declare them unprofessional and unfit for writing software. A litmus test.
If you watch the conversations between DHH, Martin Fowler, and Kent Beck, it seems to me that they all agree: testing is good, test-driven design can be bad, and mocking everything is bad [2][3].
I took some time last week to re-read Uncle Bob's book, Agile Software Development, Principles, Patterns, and Practices [4], and Kent Beck's book on TDD [5]. There was a huge difference: Uncle Bob focuses on test-driven design, while Kent Beck focuses on test-driven development. Uncle Bob claims that test-driven development (especially through mocks) universally improves your design, because it reduces coupling and enables refactoring. Kent Beck talks about productivity, certainty, refactoring, and documentation. Uncle Bob says most of those things are just a side-benefit: the real point of TDD is decoupled design.
Uncle Bob's other book, The Clean Coder [6], berates people who do not strictly adhere to test-driven design: if you don't do it, you are unprofessional (he mentions this repeatedly). He says that TDD being universally good is a fact, and anybody who says otherwise is just ranting.
> Nowadays, however, they are just rants. The bottom line is that TDD works, and everybody needs to get over it.
> TDD is the professional option.
> It could be considered unprofessional not to use it.
The bottom line is that developers should listen to each opinion and use their head. Don't be hurt when somebody calls you unprofessional for not following the One True Gospel™ and mindlessly adopt practices. Don't be hurt when somebody says that mindlessly following those practices is counterproductive. Using your head is about the most professional thing you can do.
[+] [-] ritchiea|11 years ago|reply
This isn't adding to intelligent dialogue about TDD or best practices any more than the writer is accusing DHH of being detrimental. In fact I thought DHH opened up an interesting dialogue about TDD while he was being the "Fox News of Ruby". There were interesting responses from Martin Fowler, Gary Bernhardt and Kent Beck among others. I felt like the articles and dialogue that I saw in response to DHH really helped me think about programming and the projects I work on. And that's not to dismiss DHH's own comments, which I also found valuable.
This meta DHH slamming seems far more like school yard gossip and mud slinging and "Fox News" than anything DHH actually says. At least even when he's being rude he's actually talking about programming. I've also seen DHH hop on HN threads and provide gists where he refactored code to make his point. That's seriously constructive in a way this talk isn't even aspiring to be.
[+] [-] colinbartlett|11 years ago|reply
It's sort of like saying we shouldn't ever discuss or scrutinize the reporting done by news outlets. We should only discuss the news they report. I think that's a bit unrealistic.
[+] [-] noir_lord|11 years ago|reply
He writes thoughtfully (and provocatively, "Fox News" mostly just has the provocatively) about things he likes and dislikes (even when I don't agree his pieces are worth a read).
He created an extremely influential framework (Laravel which keeps me sane working with PHP owes much to it).
All that said I'm really not sure what the point of this video was at all.
[+] [-] _random_|11 years ago|reply
[+] [-] meistro|12 years ago|reply
[+] [-] colinbartlett|11 years ago|reply
DHH is an intelligent and successful person. DHH invented rails. And now I can get paid for writing Ruby even though I enjoy it.
So thanks DHH (sincerely).
But. There's a problem. DHH is Ruby famous. Which means that DHH is extremely visible. Some might say disproportionately visible in the ruby community.
Why is that a problem? Because DHH is the Fox News of Ruby.
He's noisy, he's reactionary, he's anti-intellectual. He's very sure that he is right. And he enjoys being rude. (Photo of his famous "fuck you" slide.) That was eight years ago, but things haven't changed much.
Just like Fox News, DHH appeals to common sense and makes a show of being "fair and balanced" but in reality his arguments use aggressive rhetoric and rely on a fix viewpoint.
To pick a topical example: Is TDD hard in Rails apps because TDD is dead or because Rails makes TDD hard? Is TDD not worth the effort because TDD is dead or because the complexity of software can be more managed more effectively if you only work on one product for which you control the requirements? If we only listen to DHH, then we'll never know. Because DHH is just one person. And he only has DHH's experiences.
All I'm saying is the Ruby community is large, and diverse, and thoughtful, and that is why I love it. Please listen to DHH. His experiences are valuable. But DHH does not speak for me, and he probably doesn't speak for you. My personal preference is for a bit less of this ("fuck you" slide) and a bit more of this (slide: "What others do may be the stimulus of our feelings, but never the cause.").
Please give DHH's opinions the weight they deserve: They are what one man thinks. And if you disagree with him: please speak up. Write a blog post, give a talk. Create a web framework. So that we can all learn what the world looks like to you.
[+] [-] ulisesrmzroche|11 years ago|reply
[+] [-] _random_|11 years ago|reply
[+] [-] ChrisGaudreau|11 years ago|reply
Yep. Uncle Bob is one person, too. tl;dr Think for yourself and don't listen to somebody just because they hurt your feelings.
> To pick a topical example: Is TDD hard in Rails apps because TDD is dead or because Rails makes TDD hard?
This is a misrepresentation of what DHH has said [1], which is that strict adherence to TDD can make your designs worse:
> Over the years, the test-first rhetoric got louder and angrier, though. More mean-spirited. And at times I got sucked into that fundamentalist vortex, feeling bad about not following the true gospel. Then I'd try test-first for a few weeks, only to drop it again when it started hurting my designs.
> Used as a hammer to beat down the nonbelievers, declare them unprofessional and unfit for writing software. A litmus test.
If you watch the conversations between DHH, Martin Fowler, and Kent Beck, it seems to me that they all agree: testing is good, test-driven design can be bad, and mocking everything is bad [2][3].
I took some time last week to re-read Uncle Bob's book, Agile Software Development, Principles, Patterns, and Practices [4], and Kent Beck's book on TDD [5]. There was a huge difference: Uncle Bob focuses on test-driven design, while Kent Beck focuses on test-driven development. Uncle Bob claims that test-driven development (especially through mocks) universally improves your design, because it reduces coupling and enables refactoring. Kent Beck talks about productivity, certainty, refactoring, and documentation. Uncle Bob says most of those things are just a side-benefit: the real point of TDD is decoupled design.
Uncle Bob's other book, The Clean Coder [6], berates people who do not strictly adhere to test-driven design: if you don't do it, you are unprofessional (he mentions this repeatedly). He says that TDD being universally good is a fact, and anybody who says otherwise is just ranting.
> Nowadays, however, they are just rants. The bottom line is that TDD works, and everybody needs to get over it.
> TDD is the professional option.
> It could be considered unprofessional not to use it.
The bottom line is that developers should listen to each opinion and use their head. Don't be hurt when somebody calls you unprofessional for not following the One True Gospel™ and mindlessly adopt practices. Don't be hurt when somebody says that mindlessly following those practices is counterproductive. Using your head is about the most professional thing you can do.
[1] TDD is dead. Long live testing. http://david.heinemeierhansson.com/2014/tdd-is-dead-long-liv... [2] Mockists Are Dead. Long Live Classicists. http://www.thoughtworks.com/insights/blog/mockists-are-dead-... [3] Is TDD Dead? https://www.youtube.com/watch?v=z9quxZsLcfo [4] Agile Software Development: Principles, Patterns, and Practices. http://www.amazon.com/Software-Development-Principles-Patter... [5] Test Driven Development By Example. http://www.amazon.com/Test-Driven-Development-By-Example/dp/... [6] The Clean Coder. http://www.amazon.com/Clean-Coder-Conduct-Professional-Progr...
[+] [-] digitalcraft|11 years ago|reply
[+] [-] joesb|11 years ago|reply
[+] [-] ch4s3|11 years ago|reply
When he posted that first 'TDD is Dead' article, I was like 'that's just like your opinion man.'