Jump to content

Smalltalk: Difference between revisions

From EDM2
No edit summary
Line 80: Line 80:
* [http://www.squeaksource.com/ST2JS/ ST2JS] - SmallTalkt to ECMAScript converter - Open source - Current.
* [http://www.squeaksource.com/ST2JS/ ST2JS] - SmallTalkt to ECMAScript converter - Open source - Current.


==Publications==
==Links and publications==
* David N. Smith: IBM Smalltalk: The Language - Paperback - 1995 - Benjamin/Cummings Publishing Company -  ISBN-13: 978-0805309089 - ISBN-10: 080530908X - In print.
For information on Smalltalk writings in print see the [[Smalltalk Bibliography]]
* Johannes Brauer: Programming Smalltalk / Object-Orientation from the Beginning: An introduction to the principles of programming - Paperback – 2015 - ISBN-10: 3658068221 - ISBN-13: 978-3658068226 - In print.
* Alec Sharp: Smalltalk by Example: The Developer's Guide Paperback – 1997 - ISBN-10: 0079130364 - ISBN-13: 978-0079130365 - Out of print.
: Although usable as a generic SmallTalk tutorial, this book is made for the [[VisualWorks]] systems and almost bang right on the last release that worked on OS/2. OOP but easily available.
* Chamond Liu: Smalltalk, Objects, and Design - Paperback – 2000 - ISBN-10: 1583484906 - ISBN-13: 978-1583484906 - In print.
: By some considered the best SmallTalk introduction and tutorial currently in print.
* Timothy Budd: A Little Smalltalk - Paperback – 1987 - ISBN-10: 0201106981 - ISBN-13: 978-0201106985 - Out of print.
: Something of a classic, introduces the reader to the language and object-oriented programming in general, but also describes a SmallTalk implementation and originally came with a DOS SmallTalk interpreter based on the code in the book.
* Sherman Alpert, Kyle Brown and Bobby Woolf:  The Design Patterns Smalltalk Companion - Paperback – 1998 - ISBN-10: 0201184621 - ISBN-13: 978-0201184624 - In print.
* Adele Goldberg and David Robson: Smalltalk 80: The Language - Paperback – 1989 - ISBN-10: 0201136880 - ISBN-13: 978-0201136883 - In print.
* Adele Goldberg: Smalltalk-80: The Interactive Programming Environment - Hardcover – 1983 - ISBN-10: 0201113724 - ISBN-13: 978-0201113723 - Out of print.
* by Glen Krasner (Editor). Smalltalk-80: Bits of History, Words of Advice - Paperback – 1983 - ISBN-10: 0201116693 - ISBN-13: 978-0201116694 - Out of print.
* by Suzanne Skublics, Edward J. Klimas, David A. Thomas and John Pugh: Smalltalk With Style - Paperback – 2002 - ISBN-10: 0131655493 - ISBN-13: 978-0131655492 - Out of print.
* Kent Beck: Smalltalk Best Practice Patterns - Paperback – 1996 - ISBN-10: 013476904X - ISBN-13: 978-0134769042 - In print
* Patrick Henry Winston: On to Smalltalk - Paperback – 1997 - ISBN-10: 0201498278 - ISBN-13: 978-0201498271 - Out of print.
* Simon Lewis: The Art and Science of Smalltalk - "Textbook" binding – 1995 - ISBN-10: 0133713458 - ISBN-13: 978-0133713459 - Out of print.
* Didier H. Besset: Object-Oriented Implementation of Numerical Methods: An Introduction with Java & Smalltalk - Hardcover – 2000 - ISBN-10: 1558606793 - ISBN-13: 978-1558606791 - Out of print.
* Caleb Drake: Object-Oriented Programming with C++ and Smalltalk - Paperback – 1997 - ISBN-10: 0131037978 - ISBN-13: 978-0131037977 - Out of print.
* John R. Bourne: Object-Oriented Engineering: Building Engineering Systems Using Smalltalk-80 - Hardcover – 1992 - ISBN-10: 025611210X - ISBN-13: 978-0256112108 - In print.
* [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.
: Source code from the book can be downloaded [http://github.com/SquareBracketAssociates/ from here].
* Stephane Ducasse: Squeak: Learn Programming with Robots - Paperback – 2006 - ISBN-10: 1590594916 - ISBN-13: 978-1590594919 - In Print.
* Gene Korienek, Tom Wrensch and Doug Dechow: Squeak: A Quick Trip to ObjectLand - Paperback – 2001 - ISBN-10: 0201731142 - ISBN-13: 978-0201731149 - In Print.
* Mark J. Guzdial and Kimberly M. Rose: Squeak: Open Personal Computing and Multimedia - Paperback – 2001 - ISBN-10: 0130280917 - ISBN-13: 978-0130280916 - In print.
* Mark J. Guzdial: Squeak: Object-Oriented Design with Multimedia Applications Paperback – December 30, 2000 - Out of print
* Wilf Lalonde and John Pugh: Smalltalk V: Practice and Experience - Paperback + floppy disk - 1994 - ISBN10: 0138140391 - ISBN13: 978-0138140397 - Out of print
* Adele Goldberg and David Robson: ''[http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf Smalltalk 80: The language and its implementation]'' - May 1983 - Addison-Wesley/Xerox - Hardcover, 714 pages - ISBN 0201113716 - ISBN 978-0201113716
: This book pretty much defines the Smalltalk-80 standard and is referred to in the Smalltalk world as ''The Blue Book''.
 
In the early to mid-90's there was also a regular magazine published called [[Smalltalk Report]].
 
====OS/2 specific articles====
* [[Greg Hendley]] and [[Eric Smith]]: ''Giving application windows dialog box functionality in Smalltalk/V PM'' - Published in [[Smalltalk Report]], part one appeared on page nine in [http://sdmeta.gforge.inria.fr/TheSmalltalkReport/91_95/SMAL0101.PDF Vol 1, Issue 1, September 1991] while part two appeared on page 16 in [http://esug.org/data/HistoricalDocuments/TheSmalltalkReport/91_95/SMAL0102.PDF Vol 1, Issue 2, October 1991].
 
====Related articles====
* [http://c2.com/cgi/wiki?WhyIsSmalltalkDead Why Is Smalltalk Dead?]
* Alan C. Kay: The Early History of Smalltalk - ACM SIGPLAN Notices, Volume 28, No 3, March 1993.
* [http://c2.com/cgi/wiki?JavaVsSmalltalk Java versus Smalltalk]
* Juanita Ewing: ''Should classes have owners?'' - Published in [[Smalltalk Report]] [http://sdmeta.gforge.inria.fr/TheSmalltalkReport/91_95/SMAL0101.PDF Vol 1, Issue 1, September 1991] - Page 7.
* Romain Robbes, Noury Bouraqadi and Serge Stinckwich: ''An Aspect-based Multi-Agent System'' - Published by Institut für Informatik und Angewandte Mathematik, University of Bern as part of [http://esug.org/data/ESUG2004/iam-04-008.pdf ESUG 2004 Research Track] page 68.
 
====Tutorials and other learning material====
* Harry Porter: ''[http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html Smalltalk: A White Paper Overview]'' - An introduction and tutorial suitable for those with some experience with squiggly brace languages such as [[C]] or [[Java]].
* Wilf LaLonde: ''[http://www.eli.sdsu.edu/courses/spring01/cs635/readingSmalltalk.pdf I Can Read C++ and Java But I Can’t Read Smalltalk]'' - Like the above tutorial it pretty much requires you to known a CPL branch language before you start.
 
====Research topics====
* Lodewijk Bergmans, Bedir Tekinerdogan & Mehmet Akşit: [http://doc.utwente.nl/18690/1/Bergmanss96modular.pdf Modular and Composable Extensions to Smalltalk using Composition Filters] - In PDF format
* Ralph Johnson: ''The Typed Smalltalk project at the University of Illinois'' - Published in [[Smalltalk Report]] [http://sdmeta.gforge.inria.fr/TheSmalltalkReport/91_95/SMAL0101.PDF Vol 1, Issue 1, September 1991] - Page 16.
*  J. Graver, L. Zurawski and Ralph Johnson: ''TS: An Optimizing Compiler for Smalltalk'' - Published in the Proceedings of the ACM OOPSLA '88 conference,    September 1988, pp. 18-26.
* Kim Mens and Tom Tourwé: ''Delving Source-code with Formal Concept Analysis'' - Published by Institut für Informatik und Angewandte Mathematik, University of Bern as part of [http://esug.org/data/ESUG2004/iam-04-008.pdf ESUG 2004 Research Track] page 7.
* Michele Marchesi, Sandro Pinna, Nicola Serra and Stefano Tuveri: ''Power Laws in Smalltalk'' - Published by Institut für Informatik und Angewandte Mathematik, University of Bern as part of [http://esug.org/data/ESUG2004/iam-04-008.pdf ESUG 2004 Research Track] page 30.
;Robotics
* Michaël Piel and Samir Saidani: ''DynaGraph : a Smalltalk Environment for Self-Reconfigurable Robots Simulation'' - Published by Institut für Informatik und Angewandte Mathematik, University of Bern as part of [http://esug.org/data/ESUG2004/iam-04-008.pdf ESUG 2004 Research Track] page 48.
 
==Links==
* [http://esug.org European Smalltalk User Group (ESUG)] - Smalltalk related news, articles, wiki etc.
* [http://esug.org European Smalltalk User Group (ESUG)] - Smalltalk related news, articles, wiki etc.
* [http://smalltalkhub.com/ Smalltalk Hub] - Open source hosting for Smalltalk related projects.
* [http://smalltalkhub.com/ Smalltalk Hub] - Open source hosting for Smalltalk related projects.

Revision as of 10:58, 1 August 2016

An Object-oriented, dynamically typed programming language that was the main development language used by IBM for the creation of application and development software from the late 1980's into the late 90's when Java took over. It is a development of Simula but features a dynamic typing system closer to LISP than to its Algol brethren and that has long been its Achilles heel, while simplifying programming somewhat it also cases a considerable execution slowdown in comparison to other languages in the Algol family.

The Smalltalk language suffered great setbacks in that latter half of the nineties when almost all of the companies building tools for the language turned their attention to Java and either mothballed or discontinued their Smalltalk offerings wholesale, in more recent years to the renewed interest in Eiffel has also contributed to an erosion of the Smalltalk mindshare, but the latter language has an even cleaner object orientation features and greatly improved execution speeds.

A list of OS/2 implementations of SmallTalk

Add-ons and utilities

Most Smalltalk add-ons are/were system specific and are therefore only listed on the page of the Smalltalk system that they support

Class libraries

  • Indelv XML Libary - Open source library under the Mozilla Public License - a VisualAge version compatible with OS/2 was supposedly available but the company actually never uploaded it to their site, neither the last 2.2 beta or the earlier 1.01, even though there were download links both of to them on their site for years.
  • Seaside - Web framework - Works on some OS/2 SmallTalk's with a little bit of massaging.
  • TOPLink - Database connection/persistence classes- Commercial - Discontinued
  • WidgetKit/BusinessGraphics - Graphics library - Commercial - Discontinued

Foreign libraries with Smalltalk bindings

  • Cairo - 2D graphics library - Open source - Current
  • LibcURL - Internet URL (WWW, FTP, etc) access - Open Source - Current.
  • LZ4 - Compression library - Open source - Current
  • Snappy - Compression lib. - Open Source - Current.

OS/2 text & programmers editors with Smalltalk support

  • jEdit - Java based editor - Smalltalk syntax highlighting built in - Current.

A list of DOS implementations of SmallTalk

A list of SmallTalk implementations that run under WinOS/2

WinOS/2 compatible Smalltalk add-ons, libraries and utilities

A list of SmallTalk implementations that run under Java

  • Athena - Open source - Current - Based on Small World (below) - intended for embedding.
  • Bistro - Open source - Discontinued.
  • Redline Smalltalk - Open source - Current
  • Smalltalk/JVM - Commercial - Discontinued - Was intended to help you migrate code from SmallTalk to Java rather than as an environment to develop in/for.
  • Small World - Open source - Discontinued.
  • Talks2 Smalltalk - Open source - Discontinued
  • VmxJava - Open source - Discontinued

A list of SmallTalk implementations in JavaScript

  • Amber - A Smalltalk like language that compiles to ECMAScript - Open source - Current.
  • Clamato - A Smalltalk interpreter for ECMAScript - Open source - Current.
  • Little Smallscript - Another Smalltalk to JS compiler - Open source - Current.
  • Quicksilver Smalltalk - SmallTalk-80 compatible interpreter in ECMAScript - Open source - Current.
  • SqueakJS - An interpreter that allows you to run Squeak Smalltalk inside a browser - Open source - Current.
  • ST2JS - SmallTalkt to ECMAScript converter - Open source - Current.

Links and publications

For information on Smalltalk writings in print see the Smalltalk Bibliography

USENET

Standards