"COMPUTER POWER TO THE PEOPLE! DOWN WITH CYBERCRUD!" - Theodor Nelson
Sunday, August 07, 2005
One Size Fits All
There has been discussion on the Squeak mailing list about Smalltalk vs. Ruby. It started out as a Rails vs. Seaside question and then turned broader. Personally, I think there is no comparison between Rails and Seaside. Rails includes a simple way to map objects to an OO relational database with a traditional request/response model. Seaside on the other hand does not have a persistence model (they let you decide) and has a more advant-garde yet easier flow model. They both share the simpler is better principle of design, but they have attacked it at different angles. Rails is easier to swallow for most programmers, since it is closer to what they are used to. But, I find Seaside to be the simplest way to build web applications. There are things to learn from both.
On to the broader question of Ruby vs. Smalltalk, there was a lot of discussion of image-based vs. file-based environments. But, I think the one we need to keep in mind is the following quote from Enrico Schwass:
I guess smalltalk and especially squeak get now the chance to spread
The key point is that we should understand that programmers are coming from other backgrounds. We should show them what Smalltalk has to offer and not why we think their language is inferior. We all have things to learn from one another. We need to embrace them with open arms. Smalltalk is cool because it is image-based, but it's a hard sell to a lot of programmers. It presents an alien world that is both strange and unfamiliar. Ruby allows most programmers to stay comfortable in their file-based world, yet take a peak into a pure OO world. One step at a time, I think Ruby prepares programmers for an image-based world. Also, I think they will come to Smalltalk with a different mindset and this will push boundaries. This is a good thing. I am continually amazed at how inventive and creative members of the Ruby comunity truly are. They will be a welcome addition to our community. Besides, who says one language has to rule them all? Let's embrace Ruby for what it's good for and do the same for Smalltalk. I enjoy programming in both and love being a part of their communities. Of course, I enjoy programming in a lot of different languages. Each one has it's pluses and minuses. So, instead of bickering about which one is better, let's learn what's great about each one.