[Cuis-dev] Cuis on Wikipedia

ken.dickey at whidbey.com ken.dickey at whidbey.com
Sun Jan 28 13:32:36 PST 2024


On 2024-01-28 07:16, Francisco Garau via Cuis-dev wrote:

> I can help.
> 
> To start I would say that it is a wild rodent quite similar to a rat 
> that lives in the South American pampas
> 
> Cuis-chico-Microcavia-australis-1024x683
> JPEG Image · 123 KB
> 

Spot on!

https://en.wikipedia.org/wiki/Southern_mountain_cavy

I used https://en.wikipedia.org/wiki/File:Microcavia_Australis.jpg as 
the picture in my attempts to get a Cuis page on  Wikipedia.

My experience in trying get acceptance is that the format is strict and 
Wikipedia wants a lot of references to Cuis which are not on the Cuis 
web site but, e.g. conference papers referencing Cuis.

I finally quit out of frustration and lack of time.

We may have a better outcome now.

Of particular note for Cuis (vs Squeak or Pharo):
   - Scalable Vector Graphics UI with floating point coordinates
   - Unified and abstracted support for Unicode
   - Packaged Features contain transitive, versioned requirements which 
must be satisfied to autoload the package.
   - Many fewer classes in base image (~700) than Squeak (~2700) or Pharo 
(~10,000), while full IDE including command completion, syntax 
highlighting, and all the usual browsers & other tools.

This last is because Cuis is continually refactored/re-engineered to 
remove muda https://en.wikipedia.org/wiki/Muda_(Japanese_term) features 
and code which do not carry their own weight.

[Old Draft Cruft attached]
-KenD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: preview.jpeg
Type: image/jpeg
Size: 122503 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20240128/02568027/attachment-0001.jpeg>
-------------- next part --------------
{{AFC submission|t||ts=20200210232523|u=MikeFillmore|ns=118|demo=}}<!-- Important, do not remove this line before article has been created. -->

{{Use mdy dates|date = January 2020}}
{{About|the Cuis programming environment}}
{{Infobox programming language
| name = Cuis Smalltalk
| title = Cuis Smalltalk
| logo = [[File:Microcavia_Australis.jpg|thumb|Cuis]]
| logo caption = Cuis (Microcavia Australis)
| collapsible = 
| screenshot = [[File:Cuis_environment.png|thumb|Screenshot]]
| released = {{Start date and age|2005}}
| developer = Cuis Community, project lead: Juan Vuletich
| latest release version = 5.0
| latest release date = {{Start date and age|2020|01|20}}
| latest preview version = 
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD}} -->
| influenced by = [[Smalltalk]] ([[Squeak]] [[Pharo]])
| influenced = [[Squeak]] [[Pharo]]
| programming language = [[Smalltalk]]
| platform = 
| operating system = [[Microsoft Windows|Windows]], [[Linux]], [[MacOS]], others
| license = [[MIT license]]
| website = {{URL|https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev}}
| frequently updated = <!-- DO NOT include this parameter unless you know what it does -->
| caption = Cuis Smalltalk
| AsOf = 
| standard = 
| alexa = 
| language footnote = 
| genre = [[Object-oriented programming]] language, [[Integrated development environment|IDE]]
| author = Juan Vuletich
| language count = <!-- DO NOT include this parameter unless you know what it does -->
| language = 
| size = 
| status = Active
}}
'''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<ref>[https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/CuisHistory.md "A short history of Cuis"]</ref>. 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'' <ref> [http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html "Design Principles Behind Smalltalk"] </ref>.

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.
{| class="wikitable" style="margin-left: 1em;"
!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)
|
|Pharo 7.0 (7867 Classes)
|-
|
|
|Pharo 8.0 (9084 Classes)
|}

Cuis uses external version control systems. <ref>{{cite book
 |last1=Hirschfeld
 |first1=Robert
 |last2=Reschke
 |first2=Jakob
 |date=2018
 |title=Towards version control in object-based systems
 |url=https://books.google.com/books?id=wclmDwAAQBAJ&lpg=PA100&ots=X3diOxskuK&dq=cuis%20smalltalk&pg=PA4#v=onepage&q=cuis&f=false
 |location=Hasso Plattner Institut, Posdam Germany
 |publisher=Universitätsverlag Potsdam, 2018
 |page=14 <!-- or pages= -->
 |isbn=386956430X
}}</ref>
Cuis was included in Comparative Programming Languages at [[Ryerson University]] <ref>[https://cps506.scs.ryerson.ca/Resources/smalltalk.html "CPS506 - Comparative Programming Languages - Winter 2019"]</ref>.
Cuis shares advanced [[Garbage collection (computer science)|garbage collector]] features such as [[memory barrier]]s with Squeak and Pharo<ref>[http://www.esug.org/data/ESUG2016/IWST/Papers/IWST_2016_paper_13.pdf "A low Overhead Per Object Write Barrier for Smalltalk"]</ref><ref>{{cite conference
 | first = Eliot Miranda 
 | last = Clément Béra
 | author-link =
 | title = "A Partial Read Barrier for Efficient Support of Live Object-oriented Programming"
 | book-title = "ISMM ’15 Proceedings of the 2015 International Symposium on Memory Management"
 | pages = 93-104
 | publisher = ACM
 | date = June 2015
 | location = Portland, OR, United States
 | url = https://www.researchgate.net/publication/280700144_A_Partial_Read_Barrier_for_Efficient_Support_of_Live_Object-oriented_Programming
 | doi = 10.1145/2887746.2754186
 | id = hal-01152610
 | access-date = }}
</ref> as well as the cross-platform evaluation simulator <ref>[https://hal.archives-ouvertes.fr/hal-01883380/document "Two Decades of Smalltalk VM Development"]</ref><ref>[https://www.researchgate.net/publication/328509577_Two_Decades_of_Smalltalk_VM_Development_Live_VM_Development_through_Simulation_Tools "Live VM Development through Simulation Tools"]</ref>.
Cuis is used for satellite image processing <ref>[https://news.squeak.org/2017/05/24/satellogic-hyperspectral-cameras-geometric-and-spectral-processing-software-written-in-cuis-smalltalk "Satellogic hyperspectral cameras geometric and spectral processing software written in Cuis Smalltalk"]</ref>.
The Cuis visual display is currently evolving toward scalable vector graphs with subpixel rendering <ref>[https://www.researchgate.net/publication/267152327_Prefiltering_Antialiasing_for_General_Vector_Graphics "Prefiltering Antialiasing for General Vector Graphics"]</ref> 

== History ==
{| class="wikitable" style="margin-left: 1em;"
!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
|}
<ref>[https://cuis-smalltalk.org/CuisReleaseNotes.html "Cuis Release Notes"]</ref>

== See also ==

* {{cite journal|date=August 1981|title=Special Issue on Smalltalk|url=https://archive.org/details/byte-magazine-1981-08|journal=[[Byte (magazine)|Byte]]|publisher=McGraw-Hill|volume=6|issue=8|access-date=2013-10-18}}
** {{cite journal|last=Ingalls|first=Dan|author-link=Dan Ingalls|date=August 1981|title=Design Principles Behind Smalltalk|url=https://archive.org/stream/byte-magazine-1981-08/1981_08_BYTE_06-08_Smalltalk#page/n299/mode/2up|journal=[[Byte (magazine)|Byte]]|publisher=McGraw-Hill|volume=6|issue=8|access-date=2011-11-11}}

== External links ==

* [http://stephane.ducasse.free.fr/FreeBooks.html Free Online Smalltalk Books]
* [https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev Cuis Smalltalk Development]
* [https://github.com/Cuis-Smalltalk/Learning-Cuis Cuis Tutorials]
* [https://github.com/Cuis-Smalltalk A sampling of Cuis package/feature repositoriess]
* [http://pharo-project.org Pharo Smalltalk]
* [http://squeak.org Squeak Smalltalk]
* [http://opensmalltalk.org/ OpenSmalltalk cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak]
{{Smalltalk programming language}}


== References ==
<!-- Inline citations added to your article will automatically display here. See en.wikipedia.org/wiki/WP:REFB for instructions on how to add citations. -->

<br />
{{reflist}}




More information about the Cuis-dev mailing list