Smalltalk l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Smalltalk PowerPoint PPT Presentation


  • 218 Views
  • Updated On :
  • Presentation posted in: General

Smalltalk. Mark Colangelo CMSC-631, Fall 2002 10 December 2002. History of Smalltalk. Alan Kay designed and build the first OOP-based personal Computer called FLEX in 1967-68 In 1967 Simula 67 was designed

Download Presentation

Smalltalk

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Smalltalk l.jpg

Smalltalk

Mark Colangelo

CMSC-631, Fall 2002

10 December 2002


History of smalltalk l.jpg

History of Smalltalk

  • Alan Kay designed and build the first OOP-based personal Computer called FLEX in 1967-68

  • In 1967 Simula 67 was designed

  • In 1972 Alan Kay and other and XEROX PARC Created Smalltalk 72 with roots tied to Simula 67

  • Followed by Smalltalk 76 (Completely OOPL)

  • Followed by Smalltalk 80 which became available as the first commercial release of Smalltalk


Smalltalk in the real world l.jpg

Smalltalk in the Real World

  • Financial

    • Chubb

    • Chrysler

    • Dunn and Bradstreet, several other

  • Manufacturing and Engineering

    • Texas Instruments

    • Romax (Simulation Software)


Free implemenations of smalltalk l.jpg

Free Implemenations of Smalltalk

  • Squeak (Smalltalk for Win , Mac and others)

    • http://www.squeak.org/download/index.html

  • GNU Smalltalk (Unix systems only)

    • http://www.gnu.org/software/smalltalk/smalltalk.html


Installation of squeak l.jpg

Installation of Squeak

  • Installation of Squeak is trivial

  • Download zip file

    • Squeak3.2.image

    • Squeak3.2.changes

    • SqueakV3.sources

    • Squeak VM for your system, version 3.2

  • Doubleclick Squeak image. No other installation is required


Squeak install files l.jpg

Squeak Install Files


Squeak desktop l.jpg

Squeak Desktop


Hello world l.jpg

Hello World


Exending hello world l.jpg

Exending Hello World

hello

1 to: 3 do: [:i | (Transcript show: 'Hello World') cr]

Gives:

Hello World

Hello World

Hello World


Adding logic to hello world l.jpg

Adding Logic to Hello World

hello: times

(times > 100)

ifTrue: [ Transcript show: 'You will get bored!'] ifFalse: [1 to: times do: [:i | (Transcript show: 'Hello World') cr]]


Final hello world l.jpg

Final Hello World

hello: times say: text

(times > 100)

ifTrue: [ Transcript show: 'You will get bored!'] ifFalse: [1 to: times do: [:i | (Transcript show: text) cr]]


Syntax observations l.jpg

Syntax Observations

  • Any variable can store any object. Object keeps track of what it is.

  • Could pass an integer into the text parameter. No error until the Transcript tried to show it.


Messaging l.jpg

Messaging

  • Always pass messages to an object

  • the colon syntax for parameter passing looks a lot like the colon syntax for loops--and logic, for that matter. That's because it's exactly the same.

  • hello:say, ifTrue:ifFalse: and to:do are all messages.


Blocks of code are objects l.jpg

Blocks of Code are Objects

  • [:i | (Transcript show: text) cr] is an object

  • Code block can be passed as an argument to to:do:

  • Transcript is a global variable that contains an object which understands the show: message.

  • In addition to show:, the Transcript object understands the message cr, which puts a newline in the Transcript window.


References l.jpg

References

  • Smalltalk home page

    • www.smalltalk.org

  • Squeak home page

    • www.squeak.org

  • Smalltalk Industry Council home page

    • www.whysmalltalk.com


  • Login