Offiziell: Smalltalk zählt zu den coolen Sprachen

Da freut sich doch des Smalltalkers Herz: Das neue Sonderheft c’t kompakt Programmieren führt auf der Titelseite die Sprache Smalltalk unter der Überschrift “Coole Sprachen” – auf dem Titelblatt!Titelseite der c't kompakt Programmieren

Sicher nur ein kleines Zeichen, aber doch ein schönes: Smalltalk ist definitiv nicht mehr in der Schmuddelecke für alternde Bank-ITler angesiedelt, sondern ist eine moderne und interessante Sprache / IDE zur Umsetzung moderner Aufgaben.

Vermutlich ist der Artikel in dem Heft eine Wieder-Veröffentlichung des Smalltalk-Artikels aus einer der letzten c’t-Ausgaben, aber das tut der Sache ja keinen Abbruch.

Smalltalk Inspect Episode 20 zum Thema Smalltalk auf Android ist jetzt verfügbar

Ich hatte es ja vor ein paar Tagen nicht geschafft, die Füsse still zu halten, und deshalb schon alles verraten. Deshalb hier nur der Weckruf, dass unsere Episode 20 von Smalltalk Inspect nun endlich verfügbar ist!

Wie nicht anders zu erwarten ist die Folge wieder etwas länger als 45 Minuten geworden, aber dafür auch sehr spannend. Das ganze findet sich wie immer hier – oder bei iTunes ;-).

Smalltalk Inspect: Teaser für Folge 20 – Smalltalk auf Android

So, nun will ich mal wieder ein bisschen die Werbetrommel rühren.

Gestern haben wir die Episode 20 von Smalltalk Inspect aufgenommen. Diesmal ist es ein Interview mit Stefan Krecher, der uns in den letzten Wochen und Monaten durch einige interessante Blogposts aufgefallen war. Und zwar hat er in den letzten Monaten verschiedene Ansätze ausprobiert, Smalltalk als alleinige Programmiersprache für Anwendungen auf Android-Geräten zu nutzen. Ansätze, die zumindest prototypisch gut funktionieren, gibt es verschiedene:


Glorp and 1:n relationships: a word of advice

Regular readers may remember a post of mine about an issue with Glorp’s commitUnitOfWorkAndContinue method. When you delete objects that refer other objects in an exclusive 1:n relationship, Glorp currently re-inserts those deleted objects in a later transaction. In the process of building a small test application that makes the error transparent, I stumbled upon some strange problems that seemed to be caused by problem with auto-increment (or sequence) columns.

But let’s start at the beginning. The idea was that I’d build a tiny application with one model class called TreeNode. Such a Node can have a parent and zero or more children, besides a title. Should be easy, right?


First things first:


Is Smalltalk a secret rock star in the programming languages world?

So you thought Amber and Redline Smalltalk were the latest Smalltalk derivatives out there? Wrong.

Every week or so, somebody somewhere comes up with a new programming language. Most of the times, their makers reference Smalltalk as one of the most influential predecessors. And there is a steady flow of new Smalltalk implementations brewing in somebody’s basement. The last I’ve seen are Paul Gregory’s tumbleweed

A lightweight, image based, encapsulated development environment based around Smalltalk, specifically, “A Little Smalltalk” version 3.0 by Timothy A. Budd.

Martin McClure’s Mist project

Mist is a project to create a Smalltalk dialect (or possibly a very Smalltalk-like language) that is implemented without a virtual machine, is implemented without depending on any other language, is simple, and is reasonably fast.

Minori Yamashita’s LittleSmallScript

Little Smallscript is a dialect of Smalltalk that compiles into JavaScript. Hidden behind the huge Smalltalk Environment, Smalltalk always had a beautiful syntax that is fit for object oriented scripting. Little Smallscript is an attempt to let Smalltalk see the light of day again.

So what is it that makes people always come back to a programming language that is going to celebrate its 30th birthday of its publication next year?

My personal theses here are:

  • Nobody has come up with something substantially better than Smalltalk as an all-purpose-language yet
  • Dynamic typing shows its advantages in too many areas to make it irrelevant and Smalltalk still is one of the cleanest and most productive implementation of such a beast
  • The rich tool set (Inspectors, Browsers, and the Debugger) of SmalltalkIDEs still is among the best you can get, even if newer IDEs have great tools. This is especially true when it comes to navigating your code (or better: your object zoo)
  • Image based development is far better than it looks from the outside, once you’ve tried it. Don’t Eclipse and XCode emulate an image as close as they can?
  • The combination of these (and maybe more) makes Smalltalk one of the most productive and change-friendly environments available

Isn’t it funny that an industry that regards a period of 3 years as an eternity and where a computer that is 12 months old is considered helplessly outdated, runs in circles around dinosaurs like Smalltalk?

Seaside 3.0.7 (partially) and jQueryMobile 1.1.1 ported to VA Smalltalk

Marten’s been busy over the last few days and just released a new version of a partial Seaside 3.0.7 port (Instantiations ships VA 8.5.2 with Seaside 3.0.6), which he needed for the latest bels and whistles of Nick Ager’s Seaside integration for jQueryMobile V 1.1.1, which he also ported and released on VASTGoodies.

From the package comments of Marten’s Seaside version:

V 8.5.1 - with FileLibrary Addition from Seaside 3.0.7
  -> Caution: Not an official version. Use on your own risk.
  -> version needed for JQM 1.1.1 development  (Marten Feldtmann)

So it is not actually a full port of Seaside to VA ST 8.5.2, but the File Library additions that are important for jQM (I guess that means virtual file libraries).