SlideShare a Scribd company logo
1 of 53
Download to read offline
Smalltalk and business 
PhD. Mariano Martinez Peck 
marianopeck@gmail.com 
http://marianopeck.wordpress.com
Mariano Martinez Peck 
Academics 
Software Engineer at UTN-FRBA, Argentina. 
PhD in Computer Science at the Université de Lille. 
Open-Source 
Fuel, Pharo, DBXSuite (OpenDBX and Glorp), etc. 
Industry 
Previously, many years at different companies developing in different 
languages. 
Currently, Independent Software Consultant
Muchas Gracias!
Context
Engineering
“If all you have is a hammer everything looks like a 
nail.”
Smalltalk and Business
Things are changing
Smalltalk and Business
“I always knew that one day Smalltalk would replace 
Java. I just didn't know it would be called Ruby.” 
– Kent Beck
Why not Smalltalk?
Technically 
Popularity 
Inventions 
History 
Support 
Interoperability 
Productivity 
Costs 
Maduration 
Studies 
Power 
Flexibility
Smalltalk Overview
Smalltalk’s inventions 
Mouse. 
IDE concept and windows 
management. 
A large part of the OOP. 
Garbage collector (actually in 
Lisp). 
UnitTesting. 
Virtual Machine.
Main characteristics 
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… 
Web Frameworks. 
Desktop applications (native and own). 
Connection to different types of databases. 
IDE and development tools.
Multiple dialects 
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 
Squeak 
GNU Smalltalk 
Pharo 
Smalltalk X
Proprietary Dialects 
VSE Smalltalk
Smalltalk and Business
In a nutshell 
No template language, just plain Smalltalk. 
It is based on reusable and statefull components. 
Natural flow. 
Great developing, refactoring and debugging capabilities. 
Mature, documented and multiple-dialect support. 
Open sourced with MIT license.
Other characteristics 
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, 
etc…
An object database system. 
ACID transactions (atomic, consistent, isolation, durable). 
Multi-user. 
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 
Collection classes.
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.
http://www.pharo.org
A bit of history
Pharo 
MIT license 
Pure object language 
Great community of active doers 
Powerful 
Elegant and fun to program 
Living system under your fingers 
Mac, Linux, Android, iOS, Windows
The Pharo Stack is 
Gorgeous 
Compiler, Core classes (stream, collections, unicode,...) 
IDE (editor, inspector, debugger, code versioning,...) 
UI frameworks (widgets, theme) 
FFI 
Graphics (soon opengl) 
Fuel (Hyper fast object serializer) 
Network, HTTP, Zinc, Zodiac (SSL), Oauth
Web frameworks: Seaside, iliad, HTTP2, Rest, Zinc Rest, 
Aida, Reef, Amber 
Parsers and serializers: XML, HTML, JSON, STON 
Graphics frameworks: Roassal, Mondrian, EyeSee 
Tool builders: Glamour, Spec 
Databases: Voyage, DBXTalk, Mongo, Riak, CouchDB, 
GemStone 
Parser generators: Petit Parser, SmaCC 
Infrastructure: Proxy, Logging 
Units: Aconcagua, Units
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
Smalltalk and Business
Since may 2008 
Very High 
Activity 
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 
smalltalk?
Pharo characteristic for 
different uses 
Simplicity: Teaching and Academics. 
Flexibility: Research. 
Robustness: Enterprise and Business.
Proven Innovation!
www.moosetechnology.org/
Example: OpenCL in Pharo 
http://youtu.be/-2ida5Q1mbg
Proven Innovation!
Smalltalk and Business
International 
books 
Pharo by example 
translated to 
french, merci! 
translated to 
spanish, gracias! 
translated to 
japanese, ありがと
Pharo for the Entreprise 
Pharo web stack 
Fun with Pharo 
If you want to contribute...
Best of the two worlds…
http://consortium.pharo.org/
Who: companies, institutions, user groups 
Privileged access to the core development team 
Influence priorities of the next development 
Engineering support time 
Job posts 
Training/Conferences special prices
http://association.pharo.org/
Managed by the Pharo Association 
Individuals 
Premium 
Normal 
Join and participate what we do!
Conclusions…
Develop in 
With 
Deploy and persist in
Advantages 
Programmer happiness. 
Productivity. 
Efficiency. 
Flexibility. 
Power. 
Everything looks easier.
Disadvantages 
It is not mainstream. 
“Difficult” to sell. 
Difficult to show confidence to clients. 
There aren’t as many developed libs as for mainstream 
languages. 
No as much documentation as others.
Thanks! 
Questions? 
PhD. Mariano Martinez Peck 
marianopeck@gmail.com 
http://marianopeck.wordpress.com

More Related Content

What's hot

Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...Julie Meloni
 
jQuery introduction
jQuery introductionjQuery introduction
jQuery introductionTomi Juhola
 
Building reusable components with generics and protocols
Building reusable components with generics and protocolsBuilding reusable components with generics and protocols
Building reusable components with generics and protocolsDonny Wals
 
Short notes of oop with java
Short notes of oop with javaShort notes of oop with java
Short notes of oop with javaMohamed Fathy
 

What's hot (6)

Javascript 01 (js)
Javascript 01 (js)Javascript 01 (js)
Javascript 01 (js)
 
Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...
 
jQuery introduction
jQuery introductionjQuery introduction
jQuery introduction
 
Building reusable components with generics and protocols
Building reusable components with generics and protocolsBuilding reusable components with generics and protocols
Building reusable components with generics and protocols
 
Short notes of oop with java
Short notes of oop with javaShort notes of oop with java
Short notes of oop with java
 
Future of Xtext
Future of XtextFuture of Xtext
Future of Xtext
 

Viewers also liked

Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...
Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...
Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...Gary Broils, DBA, PMP
 
Unsupervised Partial Parsing: Thesis defense
Unsupervised Partial Parsing: Thesis defenseUnsupervised Partial Parsing: Thesis defense
Unsupervised Partial Parsing: Thesis defenseElias Ponvert
 
Understanding design thinking in practice: a qualitative study of design led ...
Understanding design thinking in practice: a qualitative study of design led ...Understanding design thinking in practice: a qualitative study of design led ...
Understanding design thinking in practice: a qualitative study of design led ...Zaana Jaclyn
 
My Thesis Defense Presentation
My Thesis Defense PresentationMy Thesis Defense Presentation
My Thesis Defense PresentationDavid Onoue
 
Dissertation oral defense presentation
Dissertation   oral defense presentationDissertation   oral defense presentation
Dissertation oral defense presentationDr. Naomi Mangatu
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationChristian Glahn
 
Thesis Power Point Presentation
Thesis Power Point PresentationThesis Power Point Presentation
Thesis Power Point Presentationriddhikapandya1985
 

Viewers also liked (8)

PhD Thesis Defense Presentation
PhD Thesis Defense PresentationPhD Thesis Defense Presentation
PhD Thesis Defense Presentation
 
Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...
Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...
Gary Broils, D.B.A. - Dissertation Defense: Virtual Teaming and Collaboration...
 
Unsupervised Partial Parsing: Thesis defense
Unsupervised Partial Parsing: Thesis defenseUnsupervised Partial Parsing: Thesis defense
Unsupervised Partial Parsing: Thesis defense
 
Understanding design thinking in practice: a qualitative study of design led ...
Understanding design thinking in practice: a qualitative study of design led ...Understanding design thinking in practice: a qualitative study of design led ...
Understanding design thinking in practice: a qualitative study of design led ...
 
My Thesis Defense Presentation
My Thesis Defense PresentationMy Thesis Defense Presentation
My Thesis Defense Presentation
 
Dissertation oral defense presentation
Dissertation   oral defense presentationDissertation   oral defense presentation
Dissertation oral defense presentation
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense Presentation
 
Thesis Power Point Presentation
Thesis Power Point PresentationThesis Power Point Presentation
Thesis Power Point Presentation
 

Similar to Smalltalk and Business

Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!ESUG
 
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018FrenchTechCentral
 
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.Pharo
 
Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Pharo
 
Pharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcomePharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcomePharo
 
Agile Development with Smalltalk - Long
Agile Development with Smalltalk - LongAgile Development with Smalltalk - Long
Agile Development with Smalltalk - LongTomáš Kukol
 
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)IT Arena
 
Intro to Perfect - LA presentation
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentationTim Taplin
 
Fedora Overview
Fedora OverviewFedora Overview
Fedora Overvieweposthumus
 
Evolution Of Object Oriented Technology
Evolution Of Object Oriented TechnologyEvolution Of Object Oriented Technology
Evolution Of Object Oriented TechnologySharon Roberts
 
20 Years of Java - Story of HER life
20 Years of Java - Story of HER life20 Years of Java - Story of HER life
20 Years of Java - Story of HER lifeStojan Peshov
 
Django, What is it, Why is it cool?
Django, What is it, Why is it cool?Django, What is it, Why is it cool?
Django, What is it, Why is it cool?Tom Brander
 
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...OW2
 

Similar to Smalltalk and Business (20)

Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!
 
Pharo Status
Pharo StatusPharo Status
Pharo Status
 
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
 
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
 
Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!
 
Pharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcomePharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcome
 
Agile Development with Smalltalk - Long
Agile Development with Smalltalk - LongAgile Development with Smalltalk - Long
Agile Development with Smalltalk - Long
 
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
 
Intro to Perfect - LA presentation
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentation
 
Fedora Overview
Fedora OverviewFedora Overview
Fedora Overview
 
Niatalk24jan10
Niatalk24jan10Niatalk24jan10
Niatalk24jan10
 
Squeak
SqueakSqueak
Squeak
 
Scaling the (evolving) web data –at low cost-
Scaling the (evolving) web data –at low cost-Scaling the (evolving) web data –at low cost-
Scaling the (evolving) web data –at low cost-
 
Evolution Of Object Oriented Technology
Evolution Of Object Oriented TechnologyEvolution Of Object Oriented Technology
Evolution Of Object Oriented Technology
 
Research at RMOD
Research at RMODResearch at RMOD
Research at RMOD
 
20 Years of Java - Story of HER life
20 Years of Java - Story of HER life20 Years of Java - Story of HER life
20 Years of Java - Story of HER life
 
Django, What is it, Why is it cool?
Django, What is it, Why is it cool?Django, What is it, Why is it cool?
Django, What is it, Why is it cool?
 
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
 
Developer < eat love code >
Developer   < eat love code >Developer   < eat love code >
Developer < eat love code >
 
How to be a Developer
How to be a DeveloperHow to be a Developer
How to be a Developer
 

More from Mariano Martínez Peck

More from Mariano Martínez Peck (9)

Object garphs swapping
Object garphs swappingObject garphs swapping
Object garphs swapping
 
Metacello
MetacelloMetacello
Metacello
 
Efficient Proxies in Smalltalk
Efficient Proxies in SmalltalkEfficient Proxies in Smalltalk
Efficient Proxies in Smalltalk
 
DBXTalk: Smalltalk Relational Database Suite
DBXTalk: Smalltalk Relational Database SuiteDBXTalk: Smalltalk Relational Database Suite
DBXTalk: Smalltalk Relational Database Suite
 
Clustered Serialization with Fuel
Clustered Serialization with FuelClustered Serialization with Fuel
Clustered Serialization with Fuel
 
Building you own Pharo images with Metacello
Building you own Pharo images with Metacello Building you own Pharo images with Metacello
Building you own Pharo images with Metacello
 
Visualizing Objects and Memory Usage
Visualizing Objects and Memory UsageVisualizing Objects and Memory Usage
Visualizing Objects and Memory Usage
 
Object swapping issues and the imagesegment implementation
Object swapping issues and the imagesegment implementationObject swapping issues and the imagesegment implementation
Object swapping issues and the imagesegment implementation
 
SqueakDBX
SqueakDBXSqueakDBX
SqueakDBX
 

Recently uploaded

Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 

Recently uploaded (20)

Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 

Smalltalk and Business

  • 1. Smalltalk and business PhD. Mariano Martinez Peck marianopeck@gmail.com http://marianopeck.wordpress.com
  • 2. Mariano Martinez Peck Academics Software Engineer at UTN-FRBA, Argentina. PhD in Computer Science at the Université de Lille. Open-Source Fuel, Pharo, DBXSuite (OpenDBX and Glorp), etc. Industry Previously, many years at different companies developing in different languages. Currently, Independent Software Consultant
  • 6. “If all you have is a hammer everything looks like a nail.”
  • 10. “I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby.” – Kent Beck
  • 12. Technically Popularity Inventions History Support Interoperability Productivity Costs Maduration Studies Power Flexibility
  • 14. Smalltalk’s inventions Mouse. IDE concept and windows management. A large part of the OOP. Garbage collector (actually in Lisp). UnitTesting. Virtual Machine.
  • 15. Main characteristics 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.
  • 16. 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.
  • 17. It also includes… Web Frameworks. Desktop applications (native and own). Connection to different types of databases. IDE and development tools.
  • 18. Multiple dialects Open source: Pharo, Squeak, GNU Smalltalk, Smalltalk X and many others. None open source: VisualWorks, VisualAge, Dolphin, GemStone, Visual Smalltalk and others.
  • 19. Open Source Dialects Squeak GNU Smalltalk Pharo Smalltalk X
  • 22. In a nutshell No template language, just plain Smalltalk. It is based on reusable and statefull components. Natural flow. Great developing, refactoring and debugging capabilities. Mature, documented and multiple-dialect support. Open sourced with MIT license.
  • 23. Other characteristics 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, etc…
  • 24. An object database system. ACID transactions (atomic, consistent, isolation, durable). Multi-user. A Smalltalk dialect. Complete set of kernel classes and libraries. Virtual Machine with JIT. An Application Server
  • 25. Remote and distributed schemes (up to certain extent). You have have literally hundreds of VMs running. Supports indexed and reduce conflicts Smalltalk Collection classes.
  • 26. 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.
  • 28. A bit of history
  • 29. Pharo MIT license Pure object language Great community of active doers Powerful Elegant and fun to program Living system under your fingers Mac, Linux, Android, iOS, Windows
  • 30. The Pharo Stack is Gorgeous Compiler, Core classes (stream, collections, unicode,...) IDE (editor, inspector, debugger, code versioning,...) UI frameworks (widgets, theme) FFI Graphics (soon opengl) Fuel (Hyper fast object serializer) Network, HTTP, Zinc, Zodiac (SSL), Oauth
  • 31. Web frameworks: Seaside, iliad, HTTP2, Rest, Zinc Rest, Aida, Reef, Amber Parsers and serializers: XML, HTML, JSON, STON Graphics frameworks: Roassal, Mondrian, EyeSee Tool builders: Glamour, Spec Databases: Voyage, DBXTalk, Mongo, Riak, CouchDB, GemStone Parser generators: Petit Parser, SmaCC Infrastructure: Proxy, Logging Units: Aconcagua, Units
  • 32. 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
  • 34. Since may 2008 Very High Activity 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)
  • 35. Why do you have interest in a strong open-source smalltalk?
  • 36. Pharo characteristic for different uses Simplicity: Teaching and Academics. Flexibility: Research. Robustness: Enterprise and Business.
  • 39. Example: OpenCL in Pharo http://youtu.be/-2ida5Q1mbg
  • 42. International books Pharo by example translated to french, merci! translated to spanish, gracias! translated to japanese, ありがと
  • 43. Pharo for the Entreprise Pharo web stack Fun with Pharo If you want to contribute...
  • 44. Best of the two worlds…
  • 46. Who: companies, institutions, user groups Privileged access to the core development team Influence priorities of the next development Engineering support time Job posts Training/Conferences special prices
  • 48. Managed by the Pharo Association Individuals Premium Normal Join and participate what we do!
  • 50. Develop in With Deploy and persist in
  • 51. Advantages Programmer happiness. Productivity. Efficiency. Flexibility. Power. Everything looks easier.
  • 52. Disadvantages It is not mainstream. “Difficult” to sell. Difficult to show confidence to clients. There aren’t as many developed libs as for mainstream languages. No as much documentation as others.
  • 53. Thanks! Questions? PhD. Mariano Martinez Peck marianopeck@gmail.com http://marianopeck.wordpress.com