Saturday, October 07, 2006

What Makes Ruby Roll

Obie Fernandez reports from JAOO where he hosted the "What Makes Ruby Roll?" track. The following quotes are bitter pills to swallow though.
Kevlin Henney said...
Someone will have rewritten it by then. Yes, will succeed where Smalltalk failed because it's not bound up in the smalltalk environment (you can open up Ruby files in Notepad). Also, do not underestimate how important a 'normal' if statement is. The biggest problem with Smalltalk is Smalltalkers.

The first part of the quote is right. Smalltalk is too much change for most developers to accept. You have a new syntax to learn, a new environment to learn, and a completely different way of thinking. It's too much for a lot of developers. It's human nature. An image-less Smalltalk would have a nicer entry point since developers love their editors (you spend a lot of time there and well, when you learn one well, you don't want to leave it). The last part of the quote really hurt. I see myself as a lot of things. I see myself as rubyist, a smalltalker, a java programmer, and a bunch more. But, I can see where the arrogance of certain Smalltalkers can detract from the true message. It makes me sad. Smalltalk is a cool language to program in and I love talking about it. But, I know it has warts like anything else. I hope no one ever sees me as an arrogant Smalltalker. I want them to see me as passionate and thoughtful.

Dave Thomas said...
As long as the people who have big checks are running on the CLR and JVM Ruby will have to crossover to those platforms to succeed. Business and economics were the downfall of Smalltalk, not natural selection. The "arrogance of the smalltalk communities sealed the lid".

Another quote right on the money, but stings me in the heart. It's true. Marketing killed Smalltalk and the arrogance that their product was better. The sad fact was yes, Smalltalk was better than C++ and Java, but having a better product doesn't win. Java had a lower cost of entry (familiar syntax, could use any text editor, and a familiar work flow) and it was good enough. Maybe if Smalltalk had been marketed correctly, maybe the story would be different. And one more thing, yeah, the arrogance of some Smalltalkers didn't help our cause.

It's always interesting to see how the rest of the developer commounities see us. I feel like we get lumped in with the grumpy Lispers. We both have great languages with communities that can be intimidating. I hope that never happens with Ruby because right now their community is inviting.

2 comments:

Anonymous said...

Well said, and yes, very sad. Gush, as they say in the PLoP circles.

I love most things about Smalltalk and hate to see it lose its share of the market-place. Productivity, freedom, and joy are my general feelings when I get to create using that platform.

I'm unsure if I'm reading the energy patterns correctly, or (and most likely), I'm reading what I want into the situation. But... each of the progressive steps that language designers take, or have taken, that enjoy the most praise and excitement, appear to be standard features or concepts in the Smalltalk language. Meaning, perhaps or perhaps not, that indeed, folks are moving "back to the future" - back to Smalltalk. Groovy, Dynamic typing, closures, pure OO, MVC, et al. Even owing most of the credit for many of these great concepts to Lisp, Smalltalk is still my favorite. Lisp does intrigue my sense of creative sensibilities however.

The one thing that hasn't been reproduced, and in most cases cannot be reproduced due to language constraints, is the powerful image based browsers and debuggers found in a few Smalltalk flavors (VisualAge, VisualWorks, Squeak, et al).

I'm not smart enough to be arrogant about any of this, I only know that which I most enjoy. I wish more folks could come over to the bright side of the force :)

Still, Smalltalk remains a highly intellectual experience, ducking from pragmatism at most every turn. Perhaps one day I can assist with providing relief from this dogma :)

The comment about underestimating a normal/standard if statement kinda bother's me though. In solid OO systems, if/case statements are not generally needed. Then again, beginners to OO really do need these less abstract constructs to assist the bending of their minds.

Great topic.

Anonymous said...

Unlimited Earnings Potential - http://1greatfuture.com

Our company is rapidly growing and offers you an extraordinary income helping others succeed. The primary requirement is to follow up on client inquiries and point them in the right direction. It is stress free, rewarding and straightforward work.

For complete details: http://1greatfuture.com


(Please feel free to delete this post if you don't want it on your blog. Thanks for the informative blog and opportunity to post.)