Smalltalk Mark Colangelo CMSC-631, Fall 2002 10 December 2002.

Slides:



Advertisements
Similar presentations
INTRODUCTION Chapter 1 1. Java CPSC 1100 University of Tennessee at Chattanooga 2  Difference between Visual Logic & Java  Lots  Visual Logic Flowcharts.
Advertisements

The Web Warrior Guide to Web Design Technologies
CS 331 Programming LanguagesDate: 4/21/08 Object Oriented Programming Group Featuring: James Webber II Topics Include: OOPSmalltalk.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Week 9: Methods 1.  We have written lots of code so far  It has all been inside of the main() method  What about a big program?  The main() method.
Principles of Object-Oriented Software Development The language Smalltalk.
Celeste Carruth June 20, Why Make a New Website? We can present an overview of the K 0 TO experiment and the University of Michigan’s involvement.
Stéphane Ducasse 1 The Taste of Smalltalk.
13. A bit of Smalltalk. © Oscar Nierstrasz 2 Roadmap  The origins of Smalltalk  What is Smalltalk?  Syntax in a nutshell  Seaside — web development.
Exploring the iPhone SDK Toyin Adedokun & Daniel Laughlin.
PZ06BX Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ06BX - Introduction to Smalltalk Programming Language.
Principles of Object-oriented Programming Programming Language Paradigms August 26, 2002.
How to install the Zelle graphics package
Object-oriented programming and design 1 Smalltalk in a Nutshell Objects & classes Messages & methods Inheritance & metaclasses.
Stéphane Ducasse5.1 Smalltalk in a Nutshell OO Model in a Nutshell Syntax in a Nutshell.
12. A bit of Smalltalk. © O. Nierstrasz P2 — A bit of Smalltalk 11.2 Roadmap  Some history  Smalltalk syntax & object model  The Smalltalk environment.
Stéphane Ducasse 1 Smalltalk in a Nutshell.
S.Ducasse Stéphane Ducasse 1 The Taste of Smalltalk.
Basic Unix Dr Tim Cutts Team Leader Systems Support Group Infrastructure Management Team.
John Lloyd MEA582 Fall 2011 Final Project John Lloyd MEA582 Final Project1.
CMSC 104, Version 8/061L18Functions1.ppt Functions, Part 1 of 4 Topics Using Predefined Functions Programmer-Defined Functions Using Input Parameters Function.
Smalltalk Andy Ko Johnvic Dualan Aaron Israel John John Llenteng Jehrom Christian De Vera Carlo Alvarez Michael John Butuyan.
Android Apps: Look and Feel Module 6, Intro to I.T., Fall 2011 Sam Scott.
The Basics  Operating systems (OS) can help computer users do many things, like managing and manipulating files and folders.  Operating systems also.
3A-1 1 Introduction to Smalltalk History of Smalltalk The philosophy of Smalltalk:  “...we have a universe of well-behaved objects that courteously ask.
INTERNET APPLICATION DEVELOPMENT For More visit:
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
CSE 3302 Programming Languages Chengkai Li Spring 2008 Object-Oriented Programming Lecture 13 – OO Programming, Spring CSE3302 Programming Languages,
Introduction to Programming Workshop 1 PHYS1101 Discovery Skills in Physics Dr. Nigel Dipper Room 125d
QGIS (v2.2) Intro to QGIS What is QGIS? A free, open-source desktop geographic information system Runs on Linux, Mac OSX, Unix, and Windows Licensed.
CS 152: Programming Language Paradigms March 10 Class Meeting Department of Computer Science San Jose State University Spring 2014 Instructor: Ron Mak.
How to Run a Java Program CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
How to Run a Java Program CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
CS 403: Programming Languages Lecture 5 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
Smalltalk for Unix & W i n d o w s Dennis Smith Cherniak Software Development Corporation.
CS 403: Programming Languages Lecture 6 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
Animoto.com Visit: Sign up and wait for a promotional code. Your promotional code will be sent.
Smalltalk (and Squeak) Aida Dungan and Rick Shreve.
Introduction to Web Programming. Introduction to PHP What is PHP? What is a PHP File? What is MySQL? Why PHP? Where to Start?
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 20: Objects I invented the term Object-
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Squeak and Botkit-Port Jeff Forbes Joel Miller. Introduction ● Squeak is a pure OO language ● Based off of SmallTalk-80 – Designed at Xerox PARC by Alan.
Fall 2002CS 150: Intro. to Computing1 Streams and File I/O (That is, Input/Output) OR How you read data from files and write data to files.
1 Structure of a C Program (continued) Presentation original from Dr. Turner’s class USF - COP C for Engineers Summer 2008.
Introduction into JavaScript Java 1 JavaScript JavaScript programs run from within an HTML document The statements that make up a program in an HTML.
C++ LANGUAGE TUTORIAL LESSON 1 –WRITING YOUR FIRST PROGRAM.
Smalltalk Interpreted by Alan Frazier & Brian Sparks.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 22: Objects I invented the term Object-
S.Ducasse Stéphane Ducasse 1 Smalltalk in a Nutshell.
Higher Computing Science 2016 Prelim Revision. Topics to revise Computational Constructs parameter passing (value and reference, formal and actual) sub-programs/routines,
CSE 3302 Programming Languages Chengkai Li Fall 2007 Smalltalk Lecture 14 – Smalltalk, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai.
PHP Syntax You cannot view the PHP source code by selecting "View source" in the browser - you will only see the output from the PHP file, which is plain.
PHP Tutorial. What is PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
Alan Kay The Father of Object-Oriented Programming Chris Rees.
Debuggers. Errors in Computer Code Errors in computer programs are commonly known as bugs. Three types of errors in computer programs –Syntax errors –Runtime.
Class 22: Inheritance CS150: Computer Science University of Virginia
Compass Navigation Support for Back-in-Time Debugging
Aaron Bloomfield CS 415 Fall 2005
Introduction to Python
Smalltalk – a Pure (and first) OOPL
How to Run a Java Program
Compilers, Make and SubVersion
CSE3302 Programming Languages (new notes)
PHP.
How to Run a Java Program
CS 331 Principles of Programming Languages
Introduction to Smalltalk
CSE 3302 Programming Languages
Presentation transcript:

Smalltalk Mark Colangelo CMSC-631, Fall December 2002

History of Smalltalk Alan Kay designed and build the first OOP-based personal Computer called FLEX in 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 Financial – Chubb – Chrysler – Dunn and Bradstreet, several other Manufacturing and Engineering – Texas Instruments – Romax (Simulation Software)

Free Implemenations of Smalltalk Squeak (Smalltalk for Win, Mac and others) – GNU Smalltalk (Unix systems only) –

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

Squeak Desktop

Hello World

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

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 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 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 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 [: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 Smalltalk home page – Squeak home page – Smalltalk Industry Council home page –