Getting Started with Cuis Smalltalk

Post on 22-Nov-2014

1483 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

My talk in Smalltalks2013, UTN Rosario, October 31, 2013.

Transcript

Getting Started with Cuis Smalltalk

Getting Started with Cuis Smalltalk

"Yay, Juan. You GO, guy! ...a great example of malleable software (and a clever mind) at work." Dan Ingalls

"I like it... It's nice and clean and simple and pretty. Nice stuff!" Alan Kay "I think you have a very elegant design aesthetic." John Maloney

"Cuis represents the best of Squeak: Elegant simplicity, high quality, and a sense of vision... I really do appreciate Cuis.""It has a clean, crisp feel and is a pleasure to use." David T. Lewis

"It's one of the smallest, definitely the fastest, and probably the best structured (Squeak) kernel that has been built." Andreas Raab

"If you would like to see Morphic done beautifully, ...check out Cuis. ...I simply cannot rave enough about how wonderful an experience it's been to work with." Casey Ransberger

Getting Started with Cuis Smalltalk

Who I'm?

● Germán S. Arduino● Software Developer and Researcher● Focused in Information Security and Special Projects● Founder and Owner of Arduino Software● Chief of R&D at Grupo Sancor Seguros● Long time Smalltalker and loving it more each day● About.me/garduino

Getting Started with Cuis Smalltalk

What is Cuis Smalltalk?

● A complete development environment written in itself● A pure Object Oriented language● A Smalltalk-80 environment derived from Squeak● Simple, small, clean● Open source, free and multiplatform● Developed in Argentina by Juan Vuletich

http://www.jvuletich.org/aboutMe.html

Getting Started with Cuis Smalltalk

How Cuis is different?

● Active attitude towards system complexity

● Code Quality

● Simplicity

● Code Management

Getting Started with Cuis Smalltalk

How Cuis is different?

● Cuis evolves in a controlled way. I can follow it!2/3 mails / day are an average that permit me to keep updated with the Cuis progress and sometimes contribute!

Getting Started with Cuis Smalltalk

How Cuis is different?

● Cuis evolves in a controlled way. I can follow it!2/3 mails / day are an average that permit me to keep updated with the Cuis progress and sometimes contribute!

● CompactBelow 500 Classes, 100KLoC, 8MB base image (3,6MB after #reduceCuis)A comparison of number of classes:eToys 5.0: 2236 Squeak 4.4: 2511 Pharo 2.0: 3226 Cuis 4.2: 496

Getting Started with Cuis Smalltalk

Some of the main ideas and goals for Cuis:● Close to the ideas in Smalltalk-80 and "Design

Principles Behind Smalltalk"● Includes only kernel functionality + dev tools● Includes a greatly simplified and enhanced Morphic as

the main UI● Reasonably stable. Smalltalk kernel should not

change much

Getting Started with Cuis Smalltalk

Some of the main ideas and goals for Cuis:● Full support of Closures● It works with Cog or Stack VM

Getting Started with Cuis Smalltalk

What is the audience? ● Smalltalkers who want a simple and consistent

system they can really master● Teachers and students learning Smalltalk● Developers working for devices with little memory or

CPU power● People wanting to experiment with new directions in

language design, UI frameworks, etc

Getting Started with Cuis Smalltalk

What is the audience? ● People wanting a reasonable kernel on which to build

optional packages

● MicroISV programmers (See my talk “Smalltalk and MicroISV's”: http://www.slideshare.net/garduino1/smalltalk-and-microisvs)

Packages in Cuis

● The packages implementation in Cuis 4 is based in PackageInfo

● It uses Package names to prefix Classes and Methods categories

● More details in http://wiki.squeak.org/squeak/3329

● Extension is .pck.st

Code Management in Cuis

Packages ● Code that is not part of the core image should be

stored in packages (Examples: Applications, Frameworks, Libraries)

Cuis Code● Patches, fixes, code that is meant to be part of Cuis

and that do not belong to any package is automatically stored in Change Sets

Packages Dependency

● Packages implement provides / requires

● Packages can specify dependencies on features

● Include version / version.revision

● Automatically numbered by Cuis

● When a package is installed, its requirements are loaded in proper order

● A package may be installed using the FileList or from a workspace with

Feature require: 'Swazoo'

Code Management in Cuis

Code Management in Cuis

Code Management in Cuis

ChangeSets (Cuis core code)

● Manages only code of Cuis Core image

● Code not in packages is captured into changesets

● Named in the form:1827-CPUWatcherFix-GermanArduino-2013Sep19-09h20m-gsa.1.cs.st

● Managed automatically, not need of make them 'current' or 'active' (“make the changes goes to me”)

● Load changeset with 'FileIn' or 'Install'

Demo Time

Packages availables

Aida Web Swazoo Sport Yaxo

JSON RegEx Artefact WebClient

Crypto-NaCl Cryptography FFI Linear-Algebra

Styled Text Editor

Signal Processing

Network SandstoneDB

Simple Logger SQLite PetitParser Cypress

ContentPack Solitaire Interlingua Dict Ropes

Work in Progress

* Morphic 3 Referenceshttp://www.jvuletich.org/Morphic3/Morphic3-200911.htmlhttp://www.jvuletich.org/Morphic3/Morphic3-201006.htmlhttp://www.fast.org.ar/smalltalks2009/videos/Cuis+and+Morphic+3

Morphic 3 * OpenShift Comanche Iliad

UI Zinc

Community

● English Mailing List cuis@jvuletich.org● Spanish talks about Cuis also in

squeakros@gruposyahoo.com.ar● Cuis Web Site http://www.cuis-smalltalk.org● Juan's Place: http://www.jvuletich.org● GitHub Home of Cuis:

https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev

Community

● Author/Admin: Juan Vuletich● Contributors:

Bernhard Pieber Germán Arduino

Casey Ransberger Hannes Hirzel

Ken Dickey *** Your name here ***

Final Words

Questions?

Final Words

Thanks You!

top related