38
Smalltalk introduction RMod Ing. mariano martinez peck [email protected] Sunday, November 21, 2010

Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Smalltalk introduction

RMod

I n g . m a r i a n o m a r t i n e z p e c km a r i a n o p e c k @ g m a i l . c o m

Sunday, November 21, 2010

Page 2: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Acknowledgements

Sunday, November 21, 2010

Page 3: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Engineering

Sunday, November 21, 2010

Page 4: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Sunday, November 21, 2010

Page 5: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

"I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby."

-- Kent Beck

Sunday, November 21, 2010

Page 6: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Smalltalk’s inventions

Virtual Machine.

Mouse.

IDE concept and windows management.

A large part of the OOP.

Garbage collector.

UnitTesting.

Sunday, November 21, 2010

Page 7: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

But it also has...

Web Frameworks.

Desktop applications (native and own).

Different types of databases.

Several dialects.

IDE and development tools.

Sunday, November 21, 2010

Page 8: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Characteristics

Pure object oriented.

Invented in the 70’s (maduration).

Dynamically typed.

Virtual Machine.

Image based language.

Sunday, November 21, 2010

Page 9: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pure object oriented

Everything is an object (classes, methods, messages, loops).

There are no primitive types.

There is no special syntax.

Only 5 reserved words: nil, true, false, self and super.

Sunday, November 21, 2010

Page 10: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Sunday, November 21, 2010

Page 11: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Packages

Sunday, November 21, 2010

Page 12: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Packages

Classes

Sunday, November 21, 2010

Page 13: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Packages

Classes Categories

Sunday, November 21, 2010

Page 14: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Packages

Classes Categories Methods

Sunday, November 21, 2010

Page 15: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Packages

Classes Categories Methods

Method source code

Sunday, November 21, 2010

Page 16: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Advantages

PFC (programmer happiness coefficient).

Productive.

Efficient.

Flexible.

Powerful.

Everything looks easier.

Sunday, November 21, 2010

Page 17: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Disadvantages

It is not mainstream.

Difficult to “sell”.

Difficult to show confidence to the client.

Not so many developed libraries.

Less documentation.

Expensive (those which are not OS).

Sunday, November 21, 2010

Page 18: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

open-source dialects

Pharo/Squeak

GNU Smalltalk

Smalltalk X

Otros

Sunday, November 21, 2010

Page 19: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Paid dialects

VisualWorks

VisualAge

Gemstone

Dolphin

Sunday, November 21, 2010

Page 20: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Sunday, November 21, 2010

Page 22: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer tools and maintained releases, Pharo is an attractive platform to build and deploy mission critical Smalltalk applications.

Sunday, November 21, 2010

Page 23: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

architecture

Sunday, November 21, 2010

Page 24: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pharo?

We use our language every day

Teaching

Researc

h

Busin

ess

Sunday, November 21, 2010

Page 25: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pharo

A flexible environment to support the innovation in/of Smalltalk.

Sunday, November 21, 2010

Page 26: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pharo

A robust environment to support doing business in Smalltalk.

Sunday, November 21, 2010

Page 27: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Showcase

Sunday, November 21, 2010

Page 28: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pier

Sunday, November 21, 2010

Page 29: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pier

Sunday, November 21, 2010

Page 30: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Smalltalk with OO-Database

Pharo is the IDE

Sunday, November 21, 2010

Page 31: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Sunday, November 21, 2010

Page 32: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Pinesoft MBagger

Sunday, November 21, 2010

Page 33: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

iPhone

Sunday, November 21, 2010

Page 34: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Everybody can help

Reporting bugsConfirming bugsWriting testsWriting examplesWriting commentsSimple contributing fixesDeep discussion...

Sunday, November 21, 2010

Page 35: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Open Pharo SprintsMay 2008 BernJuly 2009 BernOctober 2009 LilleNovember 2009 Buenos AiresMarch 2010 BernMay 2010 Buenos AiresJune 2010 BernJune 2010 BruxellesJuly 2010 LondonSeptember 2010 BarcelonaSeptember 2010 LilleNovember 2010 Buenos Aires

Sunday, November 21, 2010

Page 36: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Books

Pharo by example vol. 1 is out

Pharo by example vol. 2 is on preparation

Sunday, November 21, 2010

Page 37: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Join us!

Creating good energy, software quality,

learning and having fun

http://pharo-project.org

Sunday, November 21, 2010

Page 38: Smalltalk introduction - InriaPharo's goal is to deliver a clean, innovative, free open-source Smalltalk environment. By providing a stable and small core system, excellent developer

Thanks!

Mariano Martinez [email protected]

RMod

Sunday, November 21, 2010