Smalltalk and business
PhD. Mariano Martinez Peck
Mariano Martinez Peck
Software Engineer at UTN-FRBA, Argentina.
PhD in Computer Science at the Université de Lille.
Fuel, Pharo, DBXSuite (OpenDBX and Glorp), etc.
Previously, many years at different companies developing in different
Currently, Independent Software Consultant
IDE concept and windows
A large part of the OOP.
Garbage collector (actually in
Invented in the 70’s (maduration).
Simple language + Environment.
Pure object oriented, dynamically typed and reflective
Explore and change running systems
Run in a Virtual Machine.
Image based language.
Pure object oriented
Everything is an object (classes, methods, packages,
messages, closures, etc).
There are no primitive types.
There is no special syntax.
Only 5 reserved words: nil, true, false, self and super.
It also includes…
Desktop applications (native and own).
Connection to different types of databases.
IDE and development tools.
Open source: Pharo, Squeak, GNU Smalltalk, Smalltalk
X and many others.
None open source: VisualWorks, VisualAge, Dolphin,
GemStone, Visual Smalltalk and others.
Open Source Dialects
In a nutshell
No template language, just plain Smalltalk.
It is based on reusable and statefull components.
Great developing, refactoring and debugging capabilities.
Mature, documented and multiple-dialect support.
Open sourced with MIT license.
Very nice integration with JQuery, AJAX, Comet, etc.
We can use our preferred Web server.
It’s not tight to any persistency framework.
Tons of wrapped libs like Twitter Bootstrap, Highcharts,
An object database system.
ACID transactions (atomic, consistent, isolation, durable).
A Smalltalk dialect.
Complete set of kernel classes and libraries.
Virtual Machine with JIT.
An Application Server
Remote and distributed schemes (up to certain extent).
You have have literally hundreds of VMs running.
Supports indexed and reduce conflicts Smalltalk
When using GemStone…
No impedance mismatch (no need of ORM).
Very transparent persistency (just open and close transactions).
Everything is written in Smalltalk (no need of SQL, stored procedures or
any other language).
Ideal for web, mobile, web-services and service oriented applications.
You still can use your preferred Smalltalk for developing (.e.g Pharo).
Easy to learn (much easier than a full relational DB).
Saves around 60% to 90% of developer time to handle persistence.
Increase code reusability.
Pharo in numbers
282 000 downloads on the Inria gforge
40-60 active commiters
> 600 mailing-list members
200 license agreements
60 association members
11 industrial consortium members
around 400 external projects or more
Since may 2008
Pharo 3.0 - Apr 2014 ( around 2600 closed cases)
Pharo 2.0 - Apr 2013 (1657 closed cases)
Pharo 1.4 - Apr 2012 (988 closed cases)
Pharo 1.3 (736 closed cases)
Pharo 1.2 - mar 2011 (691 closed cases)
Pharo 1.1 - jul 2010 (918 closed cases)
Pharo 1.0 - oct 2009 (307 closed cases)
Why do you have interest in
a strong open-source
Pharo characteristic for
Simplicity: Teaching and Academics.
Robustness: Enterprise and Business.
Who: companies, institutions, user groups
Privileged access to the core development team
Influence priorities of the next development
Engineering support time
Training/Conferences special prices
It is not mainstream.
“Difficult” to sell.
Difficult to show confidence to clients.
There aren’t as many developed libs as for mainstream
No as much documentation as others.