Anyone with an interest in the continuing role and development of Smalltalk has had lots to chew on over the past few days.

As part of  a series of investigations into the most widely-used programming languages, Computerworld Australia has published a conversation with Alan Kay about his role in the development of the “foundation of much of modern programming today: Smalltalk-80”, Object-Oriented Programming, and modern software development.

InfoQ is running a series of interviews recorded at QCon London. One of these is a session with Ralph Johnson and Joe Armstrong discussing the Future of OOP, including their take on what Smalltalk got wrong and right.

Finally, Gilad Bracha continues to lay out his vision for what he sees as Smalltalk’s successor, Newspeak. His latest post contains encouragement and advice for those interested in porting existing libraries and applications to Newspeak.

Aliens coming to Squeak

8 December, 2008

Aliens approaching Squeak

John McIntosh has ported Newspeak‘s Aliens FFI implementation to Squeak. John notes that the port is in its early days, and more work and support will be needed to implement Aliens support across the full range of Squeak platforms.

As a result of this interest in Aliens, Gilad Bracha has written a post giving an overview of Aliens, the thinking that went into it, and how it works. FFI allows a programming language to make use of services written in another language, and Gilad suggests that the lack of a standard, fully-featured FFI has been an ongoing problem for Smalltalk developers. In particular, John writes that “Squeak VM’S existing FFI has been found to be buggy bloated and slow” (though see Andreas’ comments on this below).

John’s code, under the Apache licence, is available at http://www.squeaksource.com/Alien.html, and more information on his implementation can be found at the Alien swiki page.

The video has now been posted of Gilad Bracha‘s talk on Newspeak that we mentioned last month. Newspeak is a new dynamic language being developed at Cadence, and is descended from Smalltalk and Self, with influences from E, Scala and Scheme, exploring ideas around combinatorial parsing, strict message-passing, reflectivity, capability-based security and actor-style concurrency.

Newspeak is being developed on top of Squeak, and the presentation makes a number of direct comparisons with Squeak, especially when discussing UI matters such as the Newspeak widget framework, application framework and Class Browser, and how they’ve improved on Squeak’s access to the operating system with a new FFI framework.

The roadmap for the future development of Newspeak is also laid out, including a discussion of when/whether the code will be published.

(If you’re having trouble viewing the video, see this thread for help).

[Edit – Gilad Bracha has a fascinating blog that records his ongoing development of Newspeak.]

Jens Lincke informed the mailing list that the Software Architecture Group at the University of Potsdam are hosting a talk today (11th March) by Gilad Bracha on Newspeak, described as a new dynamic language, descended from Smalltalk and Self.

From Jens’ note:

Newspeak is a new dynamic language, descended from Smalltalk
and Self. Like Self, Newspeak is a message based language: all
computation – even an object’s own access to its internal structure – is
performed by sending messages to objects. However, like Smalltalk,
Newspeak is class-based. Classes can be nested arbitrarily, as in Beta.
Since all names denote message sends, all classes are virtual; in
particular, superclasses are virtual, so all classes act as mixins.
There is no static state in Newspeak. Instead, top level classes act as
module definitions, which are independent, immutable, self-contained
parametric namespaces. They can be instantiated into modules which may
be stateful and mutually recursive. Naturally, like its predecessors,
Newspeak is reflective: a mirror library allows structured access to the
program meta-level. In this talk, we’ll expand on these topics,
illustrating interesting uses such as class hierarchy inheritance and
domain specific language support.

Gilad Bracha is a Distinguished Engineer at Cadence Design Systems.
Previously, he was a Computational Theologist and Distinguished Engineer
at Sun Microsystems. He is co-author of the Java Language Specification,
and a researcher in the area of object-oriented programming languages.
Prior to joining Sun, he worked on Strongtalk, the Animorphic Smalltalk
System. He received his B.Sc in Mathematics and Computer Science from
Ben Gurion University in Israel and a Ph.D. in Computer Science from the
University of Utah.

The talk is from 16:00-17:00, at the Hasso Plattner Institut, B-E.2 (library). Directions can be found at: http://www.hpi.uni-potsdam.de/hpi/campus/anfahrt.html