. .

smalltalk

What Smalltalk can Learn from Ruby

March 15, 2011 11:38:42.389

First talk of the morning - Stephen Baker's "What Smalltalk can learn from Ruby". He's starting with a brief overview of how we got from the state of the industry in the early 90's to where we are now. I have my own notions on this topic, as many of you already know :)

Anyway, here he is getting started:

So if Smalltalk is so great, why do we have so many problems getting traction? Here's what Ruby has:

  • Low barriers to entry
  • A blog in 15 minutes
  • Community - so screencasts (etc) got immediate traction

I think the main take away from this talk is that we have great tools and web frameworks in Smalltalk, but we don't make it easy enough for people to get into the community.

Technorati Tags: ,

posted by James Robertson

Comments

Re: What Smalltalk can Learn from Ruby

[Dave] March 15, 2011 13:31:12.578

Part of the problem is the "irregular" toolchain, in that it's a relatively unfamiliar environment to those used to working from the command line.

Re: What Smalltalk can Learn from Ruby

[Hentai] March 16, 2011 5:48:45.201

> Part of the problem is the "irregular" toolchain, in that it's a relatively

> unfamiliar environment to those used to working from the command line.

While that is certainly true, it are also other problems which can be more easily corrected:

1) Ruby provides that it-just-works sense of accomplishment because the language and libraries are so highly standardized. When I load something from Monticello into Squeak or Pharo, I often have to fight with other libraries and dependencies to get it to run. The Gofer configuration utilities help out a great deal, but I find that I still have to fiddle with the code a bit

VisualWorks is a little better in this regard, because Store is maintained more centrally, so people make sure that dependencies and conflicts are worked out. Nonetheless, appointing gatekeepers to make sure that ST code has that it-just-works finesse goes a long way to getting others to explore some libraries in the repository.

2) Ruby doesn't have a great GUI builder (that I know of), but what it offers in providing bindings to GUI toolkits and libraries is straightforward and simple. Here ST, I think, has lost an opportunity. VW, Squeak, Pharo, and Dolphin have all opted for GUI frameworks that are a little more complex than necessary.

The lowest barrier-to-entry GUI framework, I've found, is Mac OS X's Cocoa. Interface Builder is the most advanced graphical layout tool of its kind, capable of quickly developing beautiful UIs with a minimum of effort. The visual programming paradigm of graphically wiring Outlets and Actions to source code is brilliantly conceived. Just seeing it demonstrated once or twice is enough to convince a programmer to switch to this type of environment.

Of course, more complex GUIs that exhibit a great deal of dynamic behavior will still require a great deal of effort to pull off, even in Mac OS X, but Cocoa's design makes difficult GUI projects less difficult, and moderately difficult GUI projects very simple, in the same way that ST makes difficult programming projects less difficult and moderately difficult projects very simple.

3) Finally, in books, tutorials, and other learning resources, Ruby just clobbers ST. This is a well-known problem, but very little seems to be done about it. Has anyone thought of writing a book showing how to develop a set of simple tools and utilities in Smalltalk (ie, intermediate-level books that leverage ST's extra-ordinary environment to write simple but useful things like an SMTP mailer, a screenscraping utility, an automated phone dialer or SMS notifier that can be run as a cron job)?

Perhaps part of the problem in writing books that really show off ST's power is that many aspects of ST are related to interacting with its browser and inspector, which are difficult and cumbersome to explain in text. So how about writing an E-Book (with a companion paper-based book) which has embedded videos that describe how to do things a la James Robertson's Smalltalk Screencasts?

 Share Tweet This