Download
alan kay n.
Skip this Video
Loading SlideShow in 5 Seconds..
Alan Kay PowerPoint Presentation

Alan Kay

363 Views Download Presentation
Download Presentation

Alan Kay

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
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