InfoQ

News

Article: Ruby's Roots: Smalltalk Comeback and Randal Schwartz on Smalltalk

Posted by Werner Schuster on Oct 27, 2008 07:59 AM

Community
Ruby
Topics
Runtimes ,
Scripting ,
Language ,
Language Design ,
Open Source ,
Dynamic Languages ,
Syntax
Tags
MagLev ,
Community ,
GemStone ,
Virtual Machines ,
ORM

Gartner analyst Mark Driver noted that Smalltalk might be on the verge of a comeback. One of the reasons, in his opinion:

It’s been said that a “rising tide lifts all ships”. I can see this clearly in the relationship between Smalltalk and hot topic languages such as Ruby and Python (to some degree PHP here as well). The significant growth that we see among these languages is also causing a few to take a second look at Smalltalk as well.

Mark continues with the recommendation:

If you are BIG fan of dynamics languages (closures, meta programming, and all that cool stuff) then consider giving Smalltalk a look. You might like what you see. Its like Ruby but with bigger muscles. You think Rails is cool? Check out seaside.

With this in mind, we took a closer look at Smalltalk, how it influenced Ruby, and what it offers over Ruby. We also talked to Randal L. Schwartz, who's been providing training for Smalltalk for some time and is on the leadership team of Squeak.

Read "Ruby's Roots: Smalltalk Comeback and Randal Schwartz on Smalltalk".

I don't think so by Dan Tines Posted Oct 27, 2008 12:53 PM
Re: I don't think so by Werner Schuster Posted Nov 4, 2008 2:10 PM
Re: I don't think so by Vaughn Vernon Posted Nov 13, 2008 1:41 PM
Correction Request by James Robertson Posted Oct 27, 2008 2:21 PM
Re: Correction Request by Werner Schuster Posted Nov 4, 2008 1:59 PM
  1. Back to top

    I don't think so

    Oct 27, 2008 12:53 PM by Dan Tines

    Smalltalk's keyword arguments can make APIs very english like, and Smalltalk environments really showed the productivity gains that are possible with a proper development environment. But I could also say that GW-BASIC is "on the verge of a comeback". How long does a verge last? Does the comeback have to happen in the next year for "the verge" to be real? It's all just a bunch of fanboy handwaving. I would expect Lisp to be "on the verge of a comeback" before Smalltalk anyway. And despite lots of predictions over the years, I never saw that happen either.

  2. Back to top

    Correction Request

    Oct 27, 2008 2:21 PM by James Robertson

    Hi, Where you link to me (James Robertson), could you link to my blog; http://www.cincomsmalltalk.com/blog/blogView You've linked to Gemstone. Thanks!

  3. Back to top

    Re: Correction Request

    Nov 4, 2008 1:59 PM by Werner Schuster

    @James: it's fixed now.

  4. Back to top

    Re: I don't think so

    Nov 4, 2008 2:10 PM by Werner Schuster

    Well, if someone in the huge GW-Basic community comes up with a web framework like Seaside or a OODB (or persistent heap) solution like Gemstone/S, then maybe... ;-) Also: this article is a look at the state of Smalltalk. No matter what'll happen in the future, Smalltalk has definitely profited from the interest in dynamic languages like Ruby. Deservedly in many cases, eg if you look at the reaction to Gemstone's announcement of MagLev (there's currently no equivalent of Gemstone/S in the Ruby space). Also: it depends on what we mean by 'comeback'. Smalltalk companies (the companies behind the Smalltalk products) have been profitable for years if not decades. One of them, ObjectArts, recently literally made a comeback: after announcing they'd stop their Dolphin product, they took that back and are now planning their future products again. Anyway: many of the current languages have a lot to learn from Smalltalk, so even if nothing happens any time soon, a look at Smalltalk can't hurt.

  5. Back to top

    Re: I don't think so

    Nov 13, 2008 1:41 PM by Vaughn Vernon

    > It's all just a bunch of fanboy handwaving. I am one old "fanboy" then. I was developing with Smalltalk almost 20 years ago, and so were a lot of the patterns and originating agile community. Many in the Smalltalk community were productive at something like 20:1 against C/C++ developers. One of the most disappointing realities was when Smalltalk started to lose momentum and environments such as MS Visual C++ and MFC started to gain ground. I didn't see productivity anywhere near what like I had in Smalltalk until Java came around. I don't have a good feel for comparing Java to Smalltalk, but I don't think Java is quite up there. While I can jump into the Eclipse debugger (even remotely debugging against an app/web server) it is not the same. I know Ruby on Rails development. I use RadRails, which is now under Aptana. To use a quotable quote, "I don't think so." I respect what RoR is and what I can do with it, but there is no way I can see Smalltalk types of productivity in Ruby the language or Rails. I am not necessarily in a position to jump back into Smalltalk, but I wish I was being force to ;) One of my big questions is, what are the issues with using Smalltalk on the desktop? Back in the days when I was using it evironments were highly client-server, with the rich client implemented in Smalltalk. The image was pretty big in those days, and if you wanted to "trim the blob" as we affectionately called it you had to invest in Envy Developer at $10K per seat. Obviously Smalltalk's entry point is drastically more affordable now, but what about image tuning tools? Of course, when doing web/enterprise development, image sizes are really not an issue since they live on the server. But is the entire answer "deploy to server and use AJAX rich client," or is there still life on the desktop for times when it matters? Thanks to those who can be involved, and here's to being force back into Smalltalk development :) Vaughn

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.