Keep Ruby Weird Again [video]
I watched the whole thing. Quite entertaining, but the last 6 minutes is what matters. The strengths he mentions are:<p>- tools and culture that&#x27;s optimized for programmer happiness and productivity.<p>- Promoting obviousness via the path of least surprise.<p>- Consistency through well-considered conventions.<p>- Carefully-designed value-based test suites.<p>- Building long-term maintainable apps<p>I have to ask because I am being exposed to Ruby at work right now and I find it, to be quite honest, a terrible language. I&#x27;m not trying to start a flame war, I am writing this cause I want to be open minded and have some hard-core rubyists point me in the direction of where I can learn what is good about this language. Specifically:<p>1) What tools &#x2F; culture are optimized for programmer happiness &amp; productivity in ruby? 
- I don&#x27;t find anything special about ruby at all. Let me know what improves happiness &#x2F; productivity. I would like to dl whatever tools &#x2F; ide &#x2F; plugins &#x2F; gems or whatever and take a look into it.<p>2) Does ruby truly promote the path of least surprise? I am often surprised when looking at ruby code because I find traceability difficult in Ruby. Where does the function come from when looking at a ruby codebase? Is it from a gem? Is it from some parent class that this class has extended? I have no idea. How do people make Ruby &#x27;less surprising&#x27;?<p>3) I have no idea what is consistent well considered conventions. How do I know something is a well-considered convention? Just use a rubocop linter?<p>4) Carefully-designed value-based test suites: Please explain this. What makes testing in Ruby so much better than in other languages?<p>5) Building long-term maintainable apps: What makes Ruby apps more maintainable?