Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alan Kay The Father of Object-Oriented Programming Chris Rees.

Similar presentations


Presentation on theme: "Alan Kay The Father of Object-Oriented Programming Chris Rees."— Presentation transcript:

1 Alan Kay The Father of Object-Oriented Programming Chris Rees

2 Overview The Turing Award ACM Alan Kay Background Goals Early Work Awards Smalltalk

3 Turing Award ACM’s most prestigious award Who’s who of CS Named after Alan Mathison Turing Considered father of theoretical computer science and artificial intelligence Award comes with $250,000 as of 2007 Funded by IBM and Google

4 Turing Award Given out annually Since 1966 First recipient – Alan J. Perlis Given to individuals who contribute greatly to the CS field Groups working together also receive award Highest distinction in computing Nobel prize of computing

5 ACM Association for Computing Machinery Founded in 1947 World’s first scientific and education computing society HQ in NY Over 92,000 members Publications available online

6 Alan Kay May 17, 1940 Known for: Dynabook OO Programming, Smalltalk Etoys GUI “The best way to predict the future is to invent it”

7 About Alan Worked for Xerox PARC Pioneered many of the ideas at the root of contemporary object-oriented programming languages Conceived Smalltalk Led the team that programmed the langauge Worked on the math behind the language President of the Viewpoints Research Institute

8 Xerox PARC Palo Alto Research Center Founded 1970 Known for: WYSIWYG GUI Ethernet Smalltalk Three Turing Award recipients

9 Viewpoints Research Institute Nonprofit benefit organization Working to improve “powerful ideas education” to the world’s children Working to advance the state of systems research and personal computing Worked on Etoys – fully programmable graphical environment for teaching programming to children Worked on TileScript – Interactive JavaScript programming environment Worked on LYSP – tiny Lisp implementation

10 Goals Make computing/programming simple Make computing prominent in education Bring computing to children in general

11 Early Life/Work Bachelor’s in Mathematics and Molecular Biology University of Colorado at Boulder Master’s and Ph.D. University of Utah College of Engineering Worked with Ivan Sutherland Created Sketchpad Helped shape GUI Learned Logo Dialect of Lisp for Education

12 Awards UdK 01-Award for Pioneering GUI Turing Award for work on Smalltalk Led team that created Smalltalk Smalltalk helped create standard GUI Wrote math behind Smalltalk Dan Ingalls wrote basics of Smalltalk and how it should work Left lasting impression on Computer Science community

13 Main Work Dynabook Smalltalk GUI Etoys Focus on education and children

14 Dynabook Now a laptop, slate, tablet Near-eternal battery life Software for bringing digital media to children Usable by all age groups but designed for kids “A personal computer for children of all ages”

15 Etoys Built on Smalltalk Intended to teach children how to program Object-oriented language Developed at Disney Squeak implementation of Smalltalk Supports constructionist learning

16 Smalltalk Background First object-oriented language Development began 1969 Major releases: 1971, 1972, 1976, 1980 Version most often referred to is Smalltalk-80 Simplistic language, few reserved words Ex: C# - Printer.on();Smalltalk – Printer on. C# - Box.height(10);Smalltalk – Box height: 10.

17 Smalltalk History 1971 – Created as a bet Dan Ingalls Created because of a bet 1972 – Used for research Influenced development of the Actor model 1976 – Included most now-familiar tools Class library Code browser/editor 1980 – Metaclasses First variant of Smalltalk available outside PARC

18 Smalltalk Basics Dynamic typing Like PHP, Lisp Influenced by Lisp, Simula, Logo, Sketchpad Influenced future languages Objective-C, C++, Java, PHP, Python, Perl Language designed for educational use Made personal computing simpler/easier Included visual programming environment Revolutionary for its time

19 Smalltalk Unified objects and messages “Everything is an object” Used to develop Etoys Platform for teaching programming to children Variants: Squeak – Open source. Still very popular. Supported by large community/developers, mostly from original Smalltalk community VisualWorks – Widely used. Bought and supported by Cincom. New versions each year since 1999

20 Smalltalk Built to handle various programming styles Designed to be clear and understandable for children “Programming should be a matter of …” “Children should program in …” Named as a reaction against “IndoEuropean god theory” Odin, Zeus, Thor. Not functional “If Smalltalk ever did anything nice, people would be pleasantly surprised”

21 Code Basics Transcript show: ‘Hello World’. Prints string literal ‘Hello World’ to an open Transcript window result := a > b ifTrue:[ 'greater' ] ifFalse:[ 'less or equal' ] Prints if the value a is greater or less than/equal to the the value of b Variable Declaration Var := val or Var :=‘val’

22 Code Basics Strings ‘Hello world’ Characters $A Arrays #(1 2 3 4) ByteArray #[1 2 3 4]

23 Code Examples 2 raisedTo: 4 aBigNumber := 42 factorial Rectangle height: 100 width: 400 | window | window := Window new. window label: ‘Hello’. window open ‘Hello world’ indexOf: $o startingAt: 6


Download ppt "Alan Kay The Father of Object-Oriented Programming Chris Rees."

Similar presentations


Ads by Google