Skip to content

Mission Statement

“An interface is humane if it is responsive to human needs and considerate of human frailties.”
— Jef Raskin

Hammer is an object-oriented programming language whose ideas and basic syntax structure descend from the HyperTalk programming language. When Bill Atkinson and Dan Winkler designed HyperTalk back in the late 1980ies, they were constrained by the hardware of the time.

Hammer, while similar to HyperTalk, has been designed around 2014, for hardware of the era, and to support currently accepted programming practices. As such, the intention is to implement techniques and features in the language that are feasible now, but were prohibitively expensive back in HyperTalk’s day.

The main goal behind HyperCard, as the Stacksmith understands it, was to create a programming environment that can be understood by non-technical people. Not a language, but a whole infrastructure that uses real-life metaphors to enable less technical people to create software. As such, the language should take advantage of existing world knowledge and not expect the scripter to learn its model, and should be as forgiving as possible when it comes to requiring methodical or logical thinking.

From this perceived goal follows that the Hammer language, if it is to stay true to HyperTalk’s ideals, can be separated neither from Stacksmith’s object model, nor from the included IDE.

Especially the latter point is currently not fully realized in HyperCard. The IDE helps you check your syntax by indenting code according to a few simplified rules, you can set breakpoints and debug scripts easily, however, apart from that it is a plain, simple text editor instead of an editor specialized to generating HyperTalk code.

And maybe — just maybe — a programming language with a text editor is the completely wrong approach, and this should be a learning “action recorder” a la Automator meets AppleScript Recording.