FLAWED: Why we use SOLID in static languages and how we get the same functionality for cheap in dynamic languages
I know that dynamic languages like Ruby and Python give you things that you can't get with languages like C#, and as a SOLID advocate those things seem important, but... why do I go cross-eyed when I read Python and Ruby examples?
via lostechies.com
The quote right there is from the first comment on the article.
The article is actually decent and well-written. It's just the flaw is that it's advocating dynamic languages. I get how "monkey patching" is great for testing. But having to read and understand a large project in Python would make me go cross-eyed too. Dynamic languages are anything but well-defined.
Dynamic for test: YES
Dynamic for real world projects: NO