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...
 
How to be a Developer
How to be a DeveloperHow to be a Developer
How to be a Developer
 
Developer < eat love code >
Developer   < eat love code >Developer   < eat love code >
Developer < eat love code >
 

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

Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...telebusocialmarketin
 
BusinessGPT - SECURITY AND GOVERNANCE FOR GENERATIVE AI.pptx
BusinessGPT  - SECURITY AND GOVERNANCE  FOR GENERATIVE AI.pptxBusinessGPT  - SECURITY AND GOVERNANCE  FOR GENERATIVE AI.pptx
BusinessGPT - SECURITY AND GOVERNANCE FOR GENERATIVE AI.pptxAGATSoftware
 
Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easymichealwillson701
 
User Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeUser Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeKaylee Miller
 
Mobile App Development process | Expert Tips
Mobile App Development process | Expert TipsMobile App Development process | Expert Tips
Mobile App Development process | Expert Tipsmichealwillson701
 
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...jackiepotts6
 
Steps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic DevelopersSteps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic Developersmichealwillson701
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdfOffsiteNOC
 
Enterprise Content Managements Solutions
Enterprise Content Managements SolutionsEnterprise Content Managements Solutions
Enterprise Content Managements SolutionsIQBG inc
 
VuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckVuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckNaval Singh
 
Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfICS
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfMind IT Systems
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfCloudMetic
 
Unlocking AI: Navigating Open Source vs. Commercial Frontiers
Unlocking AI:Navigating Open Source vs. Commercial FrontiersUnlocking AI:Navigating Open Source vs. Commercial Frontiers
Unlocking AI: Navigating Open Source vs. Commercial FrontiersRaphaël Semeteys
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startMaxim Salnikov
 
Mobile App Development company Houston
Mobile  App  Development  company HoustonMobile  App  Development  company Houston
Mobile App Development company Houstonjennysmithusa549
 
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsMUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsUniversity of Antwerp
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityRandy Shoup
 

Recently uploaded (20)

Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
 
BusinessGPT - SECURITY AND GOVERNANCE FOR GENERATIVE AI.pptx
BusinessGPT  - SECURITY AND GOVERNANCE  FOR GENERATIVE AI.pptxBusinessGPT  - SECURITY AND GOVERNANCE  FOR GENERATIVE AI.pptx
BusinessGPT - SECURITY AND GOVERNANCE FOR GENERATIVE AI.pptx
 
Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easy
 
User Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeUser Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller Resume
 
Mobile App Development process | Expert Tips
Mobile App Development process | Expert TipsMobile App Development process | Expert Tips
Mobile App Development process | Expert Tips
 
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
 
Steps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic DevelopersSteps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic Developers
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf
 
Enterprise Content Managements Solutions
Enterprise Content Managements SolutionsEnterprise Content Managements Solutions
Enterprise Content Managements Solutions
 
VuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckVuNet software organisation powerpoint deck
VuNet software organisation powerpoint deck
 
Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdf
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdf
 
20140812 - OBD2 Solution
20140812 - OBD2 Solution20140812 - OBD2 Solution
20140812 - OBD2 Solution
 
Unlocking AI: Navigating Open Source vs. Commercial Frontiers
Unlocking AI:Navigating Open Source vs. Commercial FrontiersUnlocking AI:Navigating Open Source vs. Commercial Frontiers
Unlocking AI: Navigating Open Source vs. Commercial Frontiers
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to start
 
Mobile App Development company Houston
Mobile  App  Development  company HoustonMobile  App  Development  company Houston
Mobile App Development company Houston
 
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsMUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data Mesh
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
 

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