Objective-Smalltalk

The architecture is the program.

Express your system's architecture directly rather than writing piles of implementation code. Keep that architecture explicit and coherent as the software evolves, whether changed by developers, agents, or users.

Less code to write. Less code to understand. Architecture that holds.

Objective-Smalltalk lets you express your system through its architectural components and their connections. That expression already is the implementation. By expressing the system at this higher level, you have less code to write, read, and maintain.

Hello World!

Three variations of the standard Hello World program provide a small taste of both the expressiveness and capabilities of the language.

standard I/O GUI Web server
stdout ! 'hello world'. #TextField{ value:'Hello World' } → stdout #HTTPServer{ port:8080 } → #DictStore{ hello: 'world' } .
Standard hello world that prints our greeting to the console. A text field connected to the console. It is seeded with our greeting, but we can enter any other text to print to the console. A web server connected to a dictionary that contains the string 'world' at the key 'hello'. The web-server will serve that string 'world' at the path 'hello'.
Connectng the pieces

The arrows in these examples are connections expressed directly in the language. A rich library of components, connectors, and ports supports different architectural styles within a common framework. A compact metaobject protocol defines how these parts fit together and how one can replace another while preserving the surrounding architecture.

Three connection models support the major activities of data processing: moving and transforming data, computing results, and storing information.

These connections let implementations change while retaining the architecture: a stream can connect objects or processes; a storage connection can access an in-memory collection or a remote service.

Beyond Hello World

More here.