Skip to content
hilaire edited this page May 5, 2024 · 18 revisions

Here the body of the article for Cuis Wikipedia entry. We collect the sources elsewhere (up) to make it easier for people to add sources independently of this content.


Cuis-Smalltalk -- Cuis in the remaining of the article -- is a free Smalltalk whose objective is to provide a programming system understandable by human. Complexity reduces the level of understanding a person might reach on a system, it limits the things that can be done. Reduction of complexity is an ideal which was enshrined in Design Principles Behind Smalltalk (source)and is featured as one of the main objective of the Cuis community.

Table of Contents

Overview

First version of Cuis was released in 2004 by Juan Vuletich. It was based on a forked version of Squeak 3.7 development image with several major changes: to make the IDE more comprehensible and to remove legacy frameworks rarely used in software development. The effort resulted in version Cuis 1.0 (2007) with 599 classes compared to 2321 classes in Squeak 3.8. This version also included high quality font rendering based on the Cuis' Vector Graphics framework.

Key features

Human understandable

As a programming environment, language and libraries of classes, Cuis aspires to encourage personal media literacy (source on media literacy and/or dynamic media needed). It presents itself as a system to serve the creative spirit and be entirely comprehensible to a single individual with every component accessible to the user and in a meaningful way for observation and manipulation (Design principles behind Smalltalk, Cuis Book Historical Context sources).

To achieve these goals, Cuis features:

  • a small kernel Smalltalk (~ 700 classes)
  • meta programming capabilities (source)
  • a set of tools to explore object: halo, inspector, explorer, debugger, workspace
  • live programming (source)
  • a library of packages to extend the system capabilities (source)
(screenshot with a graphic component, its surrounding halo, inspector, browser on its class)

Packaging

The Cuis packaging system does not depend on any specif Concurrent Versions System. The source code of a typical Cuis application or library all fit in a single source file with the extension .pck.st. Although it is possible to split it in several packages.

Each package comes with a version number and a list of dependent packages and version numbers. To install a given package, Cuis is instructed by the Smalltalk code Feature require: 'Cuis-NeoCSV', the dependents package will be searched and installed as well. It is also possible to install a package from the File List graphic tool.

The Feature require: instruction may be inserted in user defined method for package installation on the fly.

Morph 3

Vector Graphics

A vehicle to explore new ideas

Programming Language

Programming environment

Use cases

History


Ken's initial article

This is the content of the initial article Ken submitted to Wikipedia. It is there for copying and pasting the article above.

Cuis is an open source dialect of the programming language Smalltalk. It shares its cross-platform virtual machine with Squeak, Pharo, and NewSpeak. Cuis programs produced on one platform run on all major Operating System and CPU architectures.

Introduction

Cuis began as a project to reduce the size of the Squeak 3.7 development image to make the IDE more comprehensible[1]. Complexity puts a limit to the level of understanding of the system a person might reach, and therefore limits the things that can be done with it. Reduction of complexity is an ideal which was enshrined in Design Principles Behind Smalltalk [2].

The invocation to reduce complexity has led to a continual pruning of code in the base development image even as more features are added. This pervasive influence has led over time to a significant divergence from siblings Squeak and Pharo, a measure of which is the number of classes in the base development image.

The number of classes is obtained by evaluating Smalltalk allClasses size in a code workspace.

Cuis Squeak Pharo
Smalltalk-80 (236 Classes)
Squeak 1.1 (327 Classes)
Squeak 2.0 (509 Classes)
Squeak 3.0 (1545 Classes)
Cuis fork Squeak 3.7 Pharo fork
Cuis 1.0 (599 Classes) Squeak 3.8 (2321 Classes) Pharo 2.0 (3226 Classes)
Cuis 2.0 (644 Classes) Squeak 4.4 (2511 Classes) Pharo 3.0 (4020 Classes)
Cuis 3.0 (647 Classes) Squeak 4.5 (2175 Classes) Pharo 4.0 (4924 Classes)
Cuis 4.1 (655 Classes) Squeak 5.0 (2244 Classes) Pharo 5.0 (6170 Classes)
Cuis 4.2 (501 Classes) Squeak 5.2 (2713 Classes) Pharo 6.0 (6388 Classes)
Cuis 5.0 (480 Classes) Squeak 5.3 (2737 Classes) Pharo 7.0 (7867 Classes)
Cuis 6.0 (579 Classes) Squeak 6.0 (2832 Classes) Pharo 8.0 (9084 Classes)
Cuis 6.2 (680 Classes) Pharo 9.0 (10670 Classes)
Cuis 6.3 (677 Classes) Pharo 10.0 (9690 Classes)
Pharo 11.0 (9986 Classes)

Cuis uses external version control systems. [3] Cuis was included in Comparative Programming Languages at Ryerson University [4]. Cuis shares advanced garbage collector features such as memory barriers with Squeak and Pharo[5][6] as well as the cross-platform evaluation simulator [7][8]. Cuis is used for satellite image processing [9]. The Cuis visual display is currently evolving toward scalable vector graphs with subpixel rendering [10]

History

Version Release date Major features
Cuis 0 September, 2004 Etoys code removed from Morphic UI
Cuis 1.0 April 26, 2007 High Quality Fonts (later adapted by Squeak & Pharo)
Cuis 2.0 Jan 4, 2010 BlockClosures
Cuis 3.0 January 14, 2011 Modern Themes; Simplified UI Layout Algorithm
Cuis 4.0 April 21, 2012 Name Completion; Syntax Hilighting; Named Features as Code Packages autoload with requirements checking
Cuis 5.0 November 11, 2016 Support original and new 32 bit and 64 bit object image formats; TrueType Fonts; Scalable Graphic Containment Rendering
Cuis 6.0 December 31, 2021 VectorGraphics Engine; Morphic Refactor; Unicode text (UTF-8)
[11]

See also

External links

References