Jump to content

Squeak: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
[[Image:Squeaklogo.png|right]]
[[Image:Squeaklogo.png|right]]
Squeak is a multi platform open source [[Smalltalk]] environment originally released in 1996 by [[Apple]] and based on the older "Smalltalk-80 for the Macintosh" that was an unofficial Apple product from 1985 onwards. The original Apple implementation was a little backward because it was based on Smalltalk-80 Release one that Apple had got a free redistribution licence for alongside a few other companies, later version however required a hefty licence fee from MIT and the company decided to stick with the outdated R1 language rather than cough up the licence fee. When Squeak was released as an open source software in 1995 it had an updated GUI but archaic language features.
'''Squeak''' is a rapid prototyping environment.


==History==
The multi platform open source [[Smalltalk]] environment originally released in 1996 by the [[Apple]] Research Labs (ARL) and based on the older "Smalltalk-80 for the Macintosh" that was an unofficial Apple product from 1985 onwards. The original Apple implementation was a little backward because it was based on [[Smalltalk-80]] Version 1 that Apple had got a free redistribution licence for alongside a few other companies. Later version however required a hefty licence fee from MIT and the company decided to stick with the outdated R1 language rather than cough up the licence fee. When Squeak was released as an open source software it had an updated GUI but archaic language features.
==Ports==
There exists three different ports of Squeak for OS/2:
There exists three different ports of Squeak for OS/2:
* Original Squeak port by [[Boris G. Chr. Shingarov]]
* Original Squeak port by [[Boris G. Chr. Shingarov]]
Line 8: Line 12:
: This port solves the problem of the display environment by using [[DIVE]], the game oriented display API from IBM, quite innovative and if you have a hardware accelerated DIVE on your machine the port is actually faster than the original Mac and [[MS Windows]] versions.
: This port solves the problem of the display environment by using [[DIVE]], the game oriented display API from IBM, quite innovative and if you have a hardware accelerated DIVE on your machine the port is actually faster than the original Mac and [[MS Windows]] versions.
* [[Cheese]] - A native [[PM]] port by Boris G. Chr. Shingarov
* [[Cheese]] - A native [[PM]] port by Boris G. Chr. Shingarov
Of the three the DIVE based port and Cheese are by far the most interesting. The DIVE based port imitates the original BitBlt Apple environment exactly by using DIVE which is quite an innovative approach that works well. It even interpolates the available colours to allow you to display a larger colour palette than you are actually using, useful if your version of DIVE shows a noticeable slowdown with larger colour palettes. Early versions lacked support for sound and networking but that had been remedied by version 3, however even the last version 3.5 still does not have support for MIDI, serial port or joysticks, but this is a non issue in 99.9% of cases.
Of the three the DIVE based port and Cheese are by far the most interesting. The DIVE based port imitates the original BitBlt Apple environment exactly by using DIVE which is quite an innovative approach that works well. It even interpolates the available colours to allow you to display a larger colour palette than you are actually using, useful if your version of DIVE shows a noticeable slowdown with larger colour palettes. Early versions lacked support for sound and networking but that had been remedied by version 3, however even the last version 3.5 still does not have support for MIDI, serial port or joysticks.
 
====Add-ons, classes (libraries) and related software====
* [http://bertfreudenberg.github.io/SqueakJS/ SqueakJS] - An interpreter that allows you to run Squeak Smalltalk inside a browser - Open source


==Versions==
==Versions==
[[Image:SqueakonOS2.jpg|thumb|250px|'''Squeak DIVE 3.5 for OS/2''']]
[[Image:SqueakonOS2.jpg|thumb|250px|'''Squeak DIVE 3.5 for OS/2''']]
* '''Latest DIVE Version:''' 3.5 (2003/06/05) [http://hobbes.nmsu.edu/h-search.php?key=squeakos2vm.zip Hobbes]
* Latest DIVE Version: 3.5 (2003/06/05) [http://hobbes.nmsu.edu/h-search.php?key=squeakos2vm.zip Hobbes]
* Latest Cheese version: Cheese5
* Latest Cheese version: Cheese5
* Last known UNIX port: 1.3
* Last known UNIX port: 1.3
Line 31: Line 32:


==Publications==
==Publications==
* [http://www.squeakbyexample.org/ Squeak by Example] - Third edition - 2010 - Available as a downloadable [[PDF]] format file or as a softcover book, in French and Korean in addition to English. Written by Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou and Marcus Denker.
* Mark J. Guzdial: ''Squeak: Object-Oriented Design with Multimedia Applications'' - 2000
: Source code from the book can be downloaded [http://github.com/SquareBracketAssociates/ from here].
* Stephane Ducasse: ''Squeak: Learn Programming with Robots'' - 2006, ISBN 1590594916
* Gene Korienek; Tom Wrensch; Doug Dechow: ''Squeak: A Quick Trip to ObjectLand'' – 2001, ISBN  0-201-73114-2
* Gene Korienek; Tom Wrensch; Doug Dechow: ''Squeak: A Quick Trip to ObjectLand'' – 2001, ISBN  0-201-73114-2
* Mark J. Guzdial; Kimberly M. Rose: ''Squeak: Open Personal Computing and Multimedia'' – 2001, ISBN 0-13-028091-7
* Mark J. Guzdial; Kimberly M. Rose: ''Squeak: Open Personal Computing and Multimedia'' – 2001, ISBN 0-13-028091-7
* Mark J. Guzdial: ''Squeak: Object-Oriented Design with Multimedia Applications'' - 2000
* Stephane Ducasse: ''Squeak: Learn Programming with Robots'' - 2006, ISBN 1590594916
 
* Andrew P. Black; Stéphane Ducasse; Oscar Nierstrasz; Damien Pollet; Damien Cassou; Marcus Denker: ''[http://www.squeakbyexample.org/ Squeak by Example]'' - Third edition - 2010 ([http://github.com/SquareBracketAssociates/ Source code])
===Related Articles===
* [http://www.angelfire.com/tx4/cus/notes/smalltalk.html Terse Squeak] - All the Squeak keywords and options in one terse file.


==License==
==License==
* Open Source - [[MIT License]] and [[Apache Software License v2 ]]
* [[MIT License]] and [[Apache Software License v2]]
* Authors: Alan Kay, Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace ([[Apple Computer]])
* Authors: Alan Kay, Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace ([[Apple Computer]])
* Ports: [[Juan Manuel Vuletich]] (OS/2 DIVE port), [[Boris G. Chr. Shingarov]] (OS/2 port and Cheese)
* Ports: [[Juan Manuel Vuletich]] (OS/2 DIVE port), [[Boris G. Chr. Shingarov]] (OS/2 port and Cheese)


==Links==
==Links==
* [http://www.squeak.org Squeak]
* OS/2 Port web site [http://www.jvuletich.org/Squeak/SqueakForOS2/SqueakForOS2Eng.html]
* OS/2 Port web site [http://www.jvuletich.org/Squeak/SqueakForOS2/SqueakForOS2Eng.html]
* Squeak WebSite [http://www.squeak.org/]
* [http://www.kurtz-fernhout.com/squeak/ Embedded Squeak 1.0 (Squeak 2.2)] - For Win9x console, can be easily ported to DOS or OS/2.
* [http://www.kurtz-fernhout.com/squeak/ Embedded Squeak 1.0 (Squeak 2.2)] - For Win9x console, can be easily ported to DOS or OS/2 command line.
* [http://wiki.squeak.org/squeak Squeak Swiki]
* [http://wiki.squeak.org/squeak Squeak Swiki]
* [http://planet.squeak.org/ Planet Squeak] - News and links
* [http://planet.squeak.org/ Planet Squeak] - News and links
Line 55: Line 52:
* [http://pharo.org Pharo] - A fork of Squeak, no OS/2 version so far.
* [http://pharo.org Pharo] - A fork of Squeak, no OS/2 version so far.
* [http://www.cuis-smalltalk.org/ CUIS] - Another fork of Squeak, with emphasis on smaller more coherent system, no OS/2 version yet.
* [http://www.cuis-smalltalk.org/ CUIS] - Another fork of Squeak, with emphasis on smaller more coherent system, no OS/2 version yet.
* [https://squeak.js.org SqueakJS] - A Squeak VM in JavaScript
* [http://www.angelfire.com/tx4/cus/notes/smalltalk.html Terse Squeak] - All the Squeak keywords and options in one terse file.


[[Category:Smalltalk]][[Category:Open Source Software]]
[[Category:Smalltalk]][[Category:Open Source Software]]

Revision as of 03:15, 16 November 2019

Squeak is a rapid prototyping environment.

History

The multi platform open source Smalltalk environment originally released in 1996 by the Apple Research Labs (ARL) and based on the older "Smalltalk-80 for the Macintosh" that was an unofficial Apple product from 1985 onwards. The original Apple implementation was a little backward because it was based on Smalltalk-80 Version 1 that Apple had got a free redistribution licence for alongside a few other companies. Later version however required a hefty licence fee from MIT and the company decided to stick with the outdated R1 language rather than cough up the licence fee. When Squeak was released as an open source software it had an updated GUI but archaic language features.

Ports

There exists three different ports of Squeak for OS/2:

This is basically UNIX Squeak quickly ported to OS/2, as a text mode application it works correctly on OS/2, but for the graphics environment you will need an X11 server (although it will obviously work with a PM based X11 server if as well).
This port solves the problem of the display environment by using DIVE, the game oriented display API from IBM, quite innovative and if you have a hardware accelerated DIVE on your machine the port is actually faster than the original Mac and MS Windows versions.
  • Cheese - A native PM port by Boris G. Chr. Shingarov

Of the three the DIVE based port and Cheese are by far the most interesting. The DIVE based port imitates the original BitBlt Apple environment exactly by using DIVE which is quite an innovative approach that works well. It even interpolates the available colours to allow you to display a larger colour palette than you are actually using, useful if your version of DIVE shows a noticeable slowdown with larger colour palettes. Early versions lacked support for sound and networking but that had been remedied by version 3, however even the last version 3.5 still does not have support for MIDI, serial port or joysticks.

Versions

Squeak DIVE 3.5 for OS/2
  • Latest DIVE Version: 3.5 (2003/06/05) Hobbes
  • Latest Cheese version: Cheese5
  • Last known UNIX port: 1.3
  • Last known DOS version: 2.0 (Squeak 2.1)

Prerequisites

DIVE Squeak port
  • Long filename support (install Squeak on a HPFS or network drive)
  • DIVE video DLLs (Installed by default by OS/2 Warp 4 Multimedia Support, but can be added to any OS/2)
  • DART audio DLLs (Installed when installing an audio card, but can be added even without one)
  • Video mode with at least 256 colours, and support for DIVE (any driver should work)
UNIX Squeak port

Publications

  • Mark J. Guzdial: Squeak: Object-Oriented Design with Multimedia Applications - 2000
  • Gene Korienek; Tom Wrensch; Doug Dechow: Squeak: A Quick Trip to ObjectLand – 2001, ISBN 0-201-73114-2
  • Mark J. Guzdial; Kimberly M. Rose: Squeak: Open Personal Computing and Multimedia – 2001, ISBN 0-13-028091-7
  • Stephane Ducasse: Squeak: Learn Programming with Robots - 2006, ISBN 1590594916
  • Andrew P. Black; Stéphane Ducasse; Oscar Nierstrasz; Damien Pollet; Damien Cassou; Marcus Denker: Squeak by Example - Third edition - 2010 (Source code)

License

Links