Let’s Talk about… Smalltalk.

Slides:



Advertisements
Similar presentations
Chapter 1 Object-Oriented Concepts. A class consists of variables called fields together with functions called methods that act on those fields.
Advertisements

Lecture 10: Part 1: OO Issues CS 540 George Mason University.
1 COSC2767: Object-Oriented Programming Haibin Zhu, Ph. D. Associate Professor of CS, Nipissing University.
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.
SMALLTALK Presented By Kameron Ethridge Sheree Martin Cassandra Void Michael Williams.
Principles of Object-oriented Programming Programming Language Paradigms August 26, 2002.
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.
SMALLTALK Presented by Latasha Gibbs, Natasha Harrison, and Robert G. Lewis “Common languages are tools, Smalltalk is a piece of art.”
Stéphane Ducasse 1 Smalltalk in a Nutshell.
S.Ducasse Stéphane Ducasse 1 The Taste of Smalltalk.
C++ fundamentals.
OOP Languages: Java vs C++
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
CSM-Java Programming-I Spring,2005 Introduction to Objects and Classes Lesson - 1.
Object Orientation An Object oriented approach views systems and programs as a collection of interacting objects. An object is a thing in a computer system.
3A-1 1 Introduction to Smalltalk History of Smalltalk The philosophy of Smalltalk:  “...we have a universe of well-behaved objects that courteously ask.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Programming Languages and Paradigms Object-Oriented Programming (Part II)
OOP and Dynamic Method Binding Chapter 9. Object Oriented Programming Skipping most of this chapter Focus on 9.4, Dynamic method binding – Polymorphism.
Chapter 12 Support for Object oriented Programming.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 20: Objects I invented the term Object-
1 Programming Paradigms Object Orientated Programming Paradigm (OOP)
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
: Maha Sabri Altememe Lecturer : Maha Sabri Altememe Lecture :1 1.
Salman Marvasti Sharif University of Technology Winter 2015.
 Objects versus Class  Three main concepts of OOP ◦ Encapsulation ◦ Inheritance ◦ Polymorphism  Method ◦ Parameterized ◦ Value-Returning.
Tutorial 5 Introducing Code Programming. What is Class Building blocks of a program Provided by VB.Net Framework Class Library Template definition of.
Today… “Hello World” ritual. Brief History of Java & How Java Works. Introduction to Java class structure. But first, next slide shows Java is No. 1 programming.
S.Ducasse Stéphane Ducasse 1 Smalltalk in a Nutshell.
S.Ducasse Stéphane Ducasse savoie.fr e/ e/ 1 Smalltalk in a Nutshell.
OOP Basics Classes & Methods (c) IDMS/SQL News
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 22: Objectifying Objects.
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
PROGRAMMING USING PYTHON LANGUAGE ASSIGNMENT 1. INSTALLATION OF RASPBERRY NOOB First prepare the SD card provided in the kit by loading an Operating System.
Computer Software vs. Hardware. Topic: Java in the Computer World.
Learning Plan 6 Java Programming Intro to Object Oriented Programming.
Introduction to Java Chapter 1 - Introduction to Java1 Chapter 1 Introduction to Java.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Smalltalk Implementation Harry Porter, October 2009 Smalltalk Implementation: Optimization Techniques Prof. Harry Porter Portland State University 1.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Object-Oriented Concepts
Dept of Computer Science University of Maryland College Park
SmallTalk Done By: Nathalie Arzu Erienne Burgess Shanice Joseph.
LCC 2700: Intro to Computational Media
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
Programming Logic and Design Seventh Edition
Let’s Play Objects.
Introduction to the C programming language
Class 22: Inheritance CS150: Computer Science University of Virginia
Console and GUI Programs
OOP What is problem? Solution? OOP
Types of Programming Languages
Procedural Abstraction Object-Oriented Code
Building Java Programs
Aaron Bloomfield CS 415 Fall 2005
CSE3302 Programming Languages (new notes)
Procedural Programming
Parameter Passing Actual vs formal parameters
Java Programming Course
Programs and Classes A program is made up from classes
Java Programming Language
CSC 581: Mobile App Development
Presentation transcript:

Let’s Talk about… Smalltalk

History of Smalltalk Developed in the early 70’s (1969) in the Learning Research Group at Xerox’s Palo Alto Research Center Companies who invested in the research and development of Smalltalk: • Xerox • Object Technology Inc. (OTI) • Apple • IBM • Digitalk

Early Beginnings The Xerox Smalltalk Team developed the mouse technology and the bitmap • First graphical bit-map based • multi-windowing (window overlapping) • programming environment (debugger, complier, editor, browser) • with a pointing device

What is Smalltalk? • a TRUE object-oriented programming (OOP) language • Encapsulation • Polymorphism • Inheritance • Data Binding • Integrates a multi-windowed development environment • Simple and Compact Language

What is Smalltalk? • a large set of reusable classes (UI, sockets, basic data structures, etc) • a set of powerful development tools • Browsers • UIBulider • Inspector • Crash recovery • Project Management • A run-time environment based on virtual machine technology

Smalltalk language • Everything is an object (numbers, files, editors, compliers, points, tools, boolean) • All actions are done by sending a message to an object OR Objects communicate ONLY by message passing • Every object is an instance of a class (which is also an object)

Object, Class, Methods OBJECT • An object is a collection of data and code CLASS • A class is the definition of an object • The class of an object holds the code for the object • Each class defines data and a set of methods (the code) which operates that data METHODS • Methods always belong to a class • A method in Smalltalk is a subroutine • It takes at least one parameter and always returns one value

Object, Class, Methods Class  Object Data Methods (subroutine) to operate data Messages Messages Class  Object Class  Object Data Methods (subroutine) to operate data Data Methods (subroutine) to operate data Messages

Messages Objects communicate through messages… Message  1 + 2 • receiver: 1 (an instance of SmallInteger - Object) • selector: #+ • arguments: 2 (an instance of SmallInteger - Object) Message  Workstation withName= #mac • receiver: Workstation (a class) • selector: #withName • arguments: #mac

Syntax Differences C++ / Java SmallTalk Comments /*comments*/ Assignments int max=100; Variable := avalue Basic Types “string” ‘string’ Self Reference this this.getClass() self self class

Smalltalk vs Java & C++ Smalltalk • “Everything is an object” • Objects are passed by reference • Objects are the units of encapsulation C++ • “Everything is a structure” • Objects are passed by value (pointers) • Classes are the units of encapsulation Java • “Almost everything is an object” • Objects are passed by reference (no pointers) • Classes are the units of encapsulation (like C++)

Alan Kay Smalltalk addressed the need for a small, high- speed, PC-based product The major ideas in Smalltalk are credited to Alan Kay “making simple things very simple and complex things very possible” – Alan Kay

…..Thanks for listening…..