SlideShare a Scribd company logo
You Can’t Do That With Smalltalk! - Can You?
Lessons From The Past – Challenges For
             The Future

                  Dave Thomas

     Bedarra Corporation (Canada and Anguilla)
   Carleton University (Canada) and University Of
               Queensland (Australia)
                 dave@bedarra.com


                      © Bedarra Corp 2002
About The Talk


•  Brief History Of Commercial Smalltalk
•  Yes You Can! – The OTI Smalltalk
   Experience
•  Opportunities For Smalltalk
•  In Search of Sapphire –
   ScriptingSmallatalk
•  Summary
                 © Bedarra Corp 2002
Commercial Smalltalk The Early Years
            1984 - 1994
•  PPS Smalltalk Dynamic Translation – Peter
   Deutsch
•  Tektronix AI Workstation
•  Digitalk Methods and Smalltalk/V
•  Apple Lisa Smalltalk
•  Berkeley Smalltlak - Generation Scavenging
•  Gemstone
•  ST/VMac Digitalk and OTI
•  OTI Envy/Developer
•  Tektronix Oscilloscopes and OTI
   Embedded Smalltalk/V, CRC, RDD
                  © Bedarra Corp 2002
Commercial Smalltalk The Early years
            1984 - 1995
•  Instantiations TeamV, KSC mentoring,
   Object People - Toplink, Objectshare
   WindowBuilder
•  Digitalk VisualSmalltalk, PPS Visualworks,
   Envy Smalltalk, Smalltalk/X
•  ANSI ST, IBM VisualAge/Smalltalk and
   Mainframe Smalltalk
•  QKS Smalltalk Agents, Dolphin Smalltalk,
   MTS Smalltalk
•  Optimizations – Polymorphic Inline Cache
•  Namespaces and Packages
                   © Bedarra Corp 2002
Commercial Smalltalk Research and
      Development Post 1995
•  StrongTalk, OTI Uvm, Smalltalk/X
   Java Extensions, PPS Jigsaw (last
   major commercial R&D)
•  Circa 95/96 – Dolphin, Smalltalk MT,
   Squeak




                © Bedarra Corp 2002
Once Upon A Time A Long Long Time Ago
•  A small new CS department with 3 Professors wanted to use
   to understand OOP
•  We had 1 Sun 2 workstation and 3 Apple LISA and many PCs
   and Macs
•  We introduced Smalltalk into first year, and we performed
   world class research with few resources
•  We just set out to find the best tools for our work and
   focused on interesting industrial applications
•  We sought a long-term research agenda called Object
   Utopia
•  We liked the technology so much we started a company
•  We seeded OTI, Object People, Object Time as well as
   several other companies and participated in enabling an
   industry
                          © Bedarra Corp 2002
The Wall Street Journal - June 17,
                2000

"Today Utopia Inc.. announced the
long awaited OU/200000, the
world's first fully object-oriented
computer system. The development
language for OU/200000 system
software/ firmware as well as the                      Object Utopia
end user 5GL programming
language are dialects of Lavatalk.
The machine uses custom VLIW
technology to directly implement
the object management 5GL
architecture. “

                                 © Bedarra Corp 2002
How Can Virtual Machines Be Efficient
       for Real Applications?
·  Migrate Application “case tests” into
   message dispatch
·  Uniform Representation of Descriptions
   and Programs
·  Highly Optimized Application Oriented
   Instructions
·  Exploit On-Chip Resources - Memory or
   Registers
·  Exploit Software Locality - Cache
·  Efficient Memory Management - SGC
                 © Bedarra Corp 2002
OTI Virtual Machine Technology

·    Widest range of supported platforms:
      ·  iX86, 370, PowerPC, PA-RISC, SPARC, MIPS, Alpha,
         68K...
      ·  Windows, NT, MVS, OS/2, AIX, HP/UX, Solaris,
         Mac, OS/400..
      ·  RTOS such as VxWorks, OSOpen, OS/9, QNX...
·    VMs built with advanced Meta-VM generator
     technology
·    Designed for embedded - in low memory applications
     the RTOS is not required and can be eliminated (“bare
     metal”)
·    Designed to be Re-entrant (thread able for SMP, MPP)
     and Rumble
·    Extensive interfaces to other languages
      ·  Call-outs, Call-ins & Call-backs
·    Dynamically loadable “applets”
                        © Bedarra Corp 2002
Virtual Machine Development Process
   Generic VM                Processor
   Framework                 Description
                 Meta
                  VM
                 Builder




           Processor Specific VM
Scaling Up?   "But Can You Run It Under CICS?"


· Support for transaction based
  applications
· Mainframe
· Multi-processor SMP and MPP
· Distributed
· Security
                 © Bedarra Corp 2002
Scaling Up To Today's Legacy
                  Systems
        Urgent HTTP message from Jurassic Park
...locating host .... connect ... waiting ...
     “The Dinosaurs are back check the stock price!!!”



       · MVS CICS/DB2, IMS, Batch
       · AS/400 RISC
       · Mixed COBOL/PLI/RPG/C +
         VM
       · Terminals and Thin Clients
                      © Bedarra Corp 2002
JCL For Building CICS TP Image App




              © Bedarra Corp 2002
Scaling Up To Servers


· Support for heterogeneous
  transaction based applications
· Distributed and SMP
· Huge Memory and Massively Parallel




               © Bedarra Corp 2002
Conventional SMPs
              (4-64 Processors)


                                          Clients

                                          Servers
    Actors
Lightweight tasks                         Workers

                                          Couriers

                                          Notifiers
                    © Bedarra Corp 2002
Persistent Transaction Framework
                         (PTF)
   Application                                              Data Access
             (Use                ODMG
   Programmer                                               Programmer (IDL/SQL)
                Cases)
                 Transactors                                                    Data Store
Dialogs                        Object Model              Transaction Services
           launch                                                     access

          call-back
                                                         store
               access
                                                         retrieve
           launch                                                     access
          call-back


                                   © Bedarra Corp 2002
Actors - Active Objects
·  Anthropomorphic Programming - Clients,
   Servers, Agents, Managers, Secretaries,
   Couriers, Workers, Notifiers ...
·  First Class Active Components which
   encapsulates a set of state and behaviour
   together with a thread of control
·  Transactors = Active Transactions with
   atomic behaviour
·  Business Processes = Workflow + Rules +
   Control (e.g.. Taylor engines)
·  Agents = Actor where methods are rules
·  Avatar = Actor where method is script
   and displayOn: uses VRML
                  © Bedarra Corp 2002
Server VMs

·    Communications Middleware
·    Object Marshalling and Transmission
·    Async Call-in Callout
·    Integration with TP Monitors
·    Multi-tasking (threading) and Multi-processing ( e.g..
     SMP) shared memory, VM & GC
·    Concurrent Debug and Performance Tools
·    Concurrent Programming Model(s)
       ·  e.g.. Actra, Concurrent Smalltalk, Linda, Simula ...
·    Thread Safe Libraries
·    Large Memorys and Object/Relational Persistence


                            © Bedarra Corp 2002
Distributed VMs

·  Server plus ...
·  Distributed VM and GC support
·  Distributed Debug and Performance
   Tools
·  Distributed Programming Model(s)
    ·  communicating images (SCI, RMI or
       ORB)
    ·  proxies and transparent forwarders
    ·  distributed virtual memory with
       logical processes

                © Bedarra Corp 2002
Working in the MUD - Jupiter/
            Worlds

   Places and Spaces -
    Supporting Virtual
      Organizations



            © Bedarra Corp 2002
Working in the MUD
·  Large Memory Server (10GB -1000GB)
·  Variable Bandwidth Connections (3270 to
   VRML)
·  Complete Simulation of Business Processes
·  Simulation Model = Image
·  Multi-user Shared Image
·  Image is up to date and database is backup
·  Thread Safe and Persistent Libraries
·  Federated Business Objects
·  Business to Business Communication =
   Interacting MUDs
                   © Bedarra Corp 2002
Security - Trusted VM



·  Capability protection within the virtual
   machine

·  Garbage collector is security aware
·  Virtual machine (VM) is verified
·  Security policies are behaviors

                      © Bedarra Corp 2002
Fine Grained
     (4K-64K Processors)


·  visibleStars do: [:star |
   star twinkle]

      Applications
     +  Behaviour investigation (N-Body)
     +  Execution domain changes (ENVY/
        Expert)
     +  System design and construction
        (Vibes)
     +  Executable Business Models
            © Bedarra Corp 2002
CodA - ENVY/Expert Implementation

·  Implemented in Smalltalk on 512
   processor Fujitsu MPP
·  Integrated with full environment
·  Reuse entire Smalltalk class library
·  18 methods annotated
·  16 methods added
·  Only 34 of 1000 methods affected
·  Lazy and transparent
                © Bedarra Corp 2002
Applications Oriented “Thinking Machine”
 ·  high performance reliable fibre and serial
    buses
 ·  simple processors with private reliable flash
    or CMOS memory
 ·  distributed shared memory for some
    applications
 ·  fault tolerant distributed middleware
 ·  message and object oriented programming
 ·  one or more objects multiplexed to a
    processor/VM giving a processor per
    business object
 ·  computer system models system it simulates
                     © Bedarra Corp 2002
MPP Applications
       Every Object has a Processor
·  Every airplane has a processor and keeps track
   of it’s flights
·  Every customer has a processor which keeps
   track of their bank accounts
·  Every business process has a processor
·  Every airplane component has a processor and
   keeps track of it’s self
·  Every industrial process has a processor which
   monitors it’s progress
·  Every room has a processor which keeps track
   of the room       © Bedarra Corp 2002
NYC
        Components
        Everywhere!                                        Reusable
                                                          Component
                                                 Zurich                Tokyo




            Subscribe to a component

             Versions                                             Subsystem


              Publish identity, changes
Publisher
                                                     Subscriber
                           © Bedarra Corp 2002
Example Software                              = Subsystem

      Bill of Materials                            = Component
                                                     Library
                      O-O Hotels
                         Inc.




Round and Beautiful                            Lodging Inc. Hotel
Hotel Management                             Management Library
System                                          IBM Good Buddy
LOB Framework                                 LOB Library (Retail)
(Retail POS)

Communications                               hw/sw encapsulation
( RPC/RMI)                                       ( APPC, TCP/IP)

                       © Bedarra Corp 2002
Component Publishing
  Experience with ENVY/Packager, Swapper and App


·  component publisher must be able to select
  ·  granularity method, class, component, library
  ·  package format (.exe; shared library; rom; ocx, app,
     ssl)
  ·  visibility of source, object, interfaces, partial
  ·  binding time from shrink wrap to load on demand
  ·  package for multiple platform
  ·  package for multiple countries
  ·  package for specific customers
  ·  include/exclude associated materials such as
     initialized data, help, icons
                       © Bedarra Corp 2002
Scaling Down to Embedded Systems - NCC,
        PDA and Internet Appliance

   ·  Compact virtual machine
   ·  Interrupts
   ·  Minimal image
   ·  ROM, Flash, PCMCIA based
      applications
   ·  Separate development and target
      environments
                 © Bedarra Corp 2002
Tektronix TDS 500 Series
      Oscilloscope




        © Bedarra Corp 2002
Texas Instruments Integrated
      Wafer Fabrication Facility

•  Goal - reduce fabrication costs and cycle
   times by 10
•  High level factory management tasks -
   planning, scheduling, production tracking
•  Low level tasks - process control and
   diagnostics, performance monitoring, intra-
   machine scheduling, quality control
•  Smalltalk initially used to construct a
   simulation of the system architecture and
   the user interface
                   © Bedarra Corp 2002
Application Example
             Embedded PBX

·  8 line PBX/Voice Mail System w/- T1 interface
·  Based on Motorola 68360 micro controller
·  500 classes
·  < 2 Megabytes of ROM and 1 Megabyte of
   RAM
·  To field testing in 9 months
·  Ready to ship in 12 months

                    © Bedarra Corp 2002
Application Example Gas Analyzer
·  Based on Intel i386 processor
·  Embedded DOS with 32 bit
   extender
·  1 megabyte of ROM 1 megabyte of
   RAM
·  < 6 man months


               © Bedarra Corp 2002
PDA Framework




     DTO

            © Bedarra Corp 2002
VisualAge Embedded Tools

·  Development Workstations - WinTel; AIX,
   OS/2, HP-UX, Solaris, QNX
·  Target Processors - PowerPC, 68K , x86,
   MIPS, Alpha, ARM
·  RTOS - QNX, OS/9 ,OSOpen, VxWorks,
   JavaOS
·  Bare-metal - In many space demanding
   applications where the RTOS can be
   eliminated.
·  PowerPC 403GA - Uses the OS Open RTOS.
   Provides a basis for customer evaluation and
   early application development
                     © Bedarra Corp 2002
The Smalltalk Opportunity Today

•  Tools for research
•  Tools for reverse engineering
•  Grid and MPP Computing
•  Meta-modeling and Meta-
   Programming environments
•  Simulation Environments For
   eLearning
•  Searching For Sapphire?
                 © Bedarra Corp 2002
In Search of Sapphire - ScriptingSmalltalk
•  Perl, Javascript, PHP, Python, Ruby … needs
   competition – bad design, too complex, too
   slow
•  TTY Smalltalk with friendly Publication
   Language and ASCII Syntax
•  Java like class and package structure
•  Proper Modules, Namespaces and Components
•  Multiple IDE Support – Smalltalk-80, Eclipse,
   Visual Studio.Net
•  Proper lexical closures and continuations
•  Don’t Ignore Functional and Vector Languages
                     © Bedarra Corp 2002
In Search of Sapphire - ScriptingSmalltalk
•  Bindings to Windows and Linux platforms C
   APIs (internet programming)
•  Better support for strings, XML, threads
   (persistent CGI)
•  SapphireWeblog – Smalltalk's own vision of
   Zope which combines, Wiki, Web server
•  Improved Libraries – Simplified (VB) and better
   Algorithms
•  Image disappears and reappears as a cache
•  Smallscript.net and F-Script are exemplars, we
   need more
                     © Bedarra Corp 2002
Summary
 Respect The Best – Embrace The Future
•  The path to widespread use or commercial
   success is never clear – follow the customer
•  Customers keep you honest and should force you
   to simplify
•  Smalltalk is a much better language for modeling
   the world
•  Smalltalk is a much better language for modeling
   than UML
•  Smalltalk is a much better language for
   scripting than Python, Ruby, PHP etc. but needs
   to meet them on their own terms
                     © Bedarra Corp 2002
© Bedarra Corp 2002
© Bedarra Corp 2002
© Bedarra Corp 2002
© Bedarra Corp 2002
© Bedarra Corp 2002
© Bedarra Corp 2002
© Bedarra Corp 2002

More Related Content

What's hot

2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf
2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf
2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf
sureshsamineni1
 
EUROPEAN MEDICINE AGENCY.pptx
EUROPEAN MEDICINE AGENCY.pptxEUROPEAN MEDICINE AGENCY.pptx
EUROPEAN MEDICINE AGENCY.pptx
PrachiSharma575050
 
Drug master file ppt [autosaved]
Drug master file ppt [autosaved]Drug master file ppt [autosaved]
Drug master file ppt [autosaved]
AlkaDiwakar
 
The drug and cosmetic act and rules
The drug and cosmetic act and rulesThe drug and cosmetic act and rules
The drug and cosmetic act and rules
Jobin Kunjumon Vilapurathuu
 
Ich q8
Ich q8Ich q8
FDA Guidance on Facing Manufacturing Inspections
FDA Guidance on Facing Manufacturing InspectionsFDA Guidance on Facing Manufacturing Inspections
FDA Guidance on Facing Manufacturing Inspections
GMP EDUCATION : Not for Profit Organization
 
Labeling in india
Labeling in indiaLabeling in india
Labeling in india
bdvfgbdhg
 
Overview of gqp and gvp
Overview of gqp and gvpOverview of gqp and gvp
Overview of gqp and gvp
japan-rs
 
D & C ACT 1940 AND RULES 1945
D & C ACT 1940 AND RULES 1945D & C ACT 1940 AND RULES 1945
D & C ACT 1940 AND RULES 1945
Suvarta Maru
 
master formula record
master formula recordmaster formula record
master formula record
Rohit K.
 
Documentation in Pharmaceutical Industry Part I
Documentation in Pharmaceutical Industry Part I Documentation in Pharmaceutical Industry Part I
Documentation in Pharmaceutical Industry Part I
Tarif Hussian
 
THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945
THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945
THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945
Milan Dajjuka
 
Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955
Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955
Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955
Dr. Ambekar Abdul Wahid
 
Herbal regulation
Herbal regulationHerbal regulation
Herbal regulation
Rabeah Lookyoung
 
Drug and Cosmetic Act 1940 and Rules 1945
Drug and Cosmetic Act 1940 and Rules 1945Drug and Cosmetic Act 1940 and Rules 1945
Drug and Cosmetic Act 1940 and Rules 1945
Dr. Ambekar Abdul Wahid
 
Presentation on-change-control
Presentation on-change-controlPresentation on-change-control
Presentation on-change-control
sachin kumar
 
Pharmacovigilance
Pharmacovigilance Pharmacovigilance
Pharmacovigilance
Jamia Hamdard New Delhi
 
Second Party Audit and External Third Party Audit
Second Party Audit and External Third Party AuditSecond Party Audit and External Third Party Audit
Second Party Audit and External Third Party Audit
ShantanuThakre3
 
MDSAP
MDSAPMDSAP
National gmp 2072
National gmp 2072National gmp 2072
National gmp 2072
sobit poudel
 

What's hot (20)

2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf
2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf
2.RecentAdvancements_IndianDrugRegulationsDraft_ScheduleM.pdf
 
EUROPEAN MEDICINE AGENCY.pptx
EUROPEAN MEDICINE AGENCY.pptxEUROPEAN MEDICINE AGENCY.pptx
EUROPEAN MEDICINE AGENCY.pptx
 
Drug master file ppt [autosaved]
Drug master file ppt [autosaved]Drug master file ppt [autosaved]
Drug master file ppt [autosaved]
 
The drug and cosmetic act and rules
The drug and cosmetic act and rulesThe drug and cosmetic act and rules
The drug and cosmetic act and rules
 
Ich q8
Ich q8Ich q8
Ich q8
 
FDA Guidance on Facing Manufacturing Inspections
FDA Guidance on Facing Manufacturing InspectionsFDA Guidance on Facing Manufacturing Inspections
FDA Guidance on Facing Manufacturing Inspections
 
Labeling in india
Labeling in indiaLabeling in india
Labeling in india
 
Overview of gqp and gvp
Overview of gqp and gvpOverview of gqp and gvp
Overview of gqp and gvp
 
D & C ACT 1940 AND RULES 1945
D & C ACT 1940 AND RULES 1945D & C ACT 1940 AND RULES 1945
D & C ACT 1940 AND RULES 1945
 
master formula record
master formula recordmaster formula record
master formula record
 
Documentation in Pharmaceutical Industry Part I
Documentation in Pharmaceutical Industry Part I Documentation in Pharmaceutical Industry Part I
Documentation in Pharmaceutical Industry Part I
 
THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945
THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945
THE DRUGS AND COSMETICS ACT 1940 AND RULES 1945
 
Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955
Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955
Drug and magic remedies (objectionable advertisement) act 1954 and rules 1955
 
Herbal regulation
Herbal regulationHerbal regulation
Herbal regulation
 
Drug and Cosmetic Act 1940 and Rules 1945
Drug and Cosmetic Act 1940 and Rules 1945Drug and Cosmetic Act 1940 and Rules 1945
Drug and Cosmetic Act 1940 and Rules 1945
 
Presentation on-change-control
Presentation on-change-controlPresentation on-change-control
Presentation on-change-control
 
Pharmacovigilance
Pharmacovigilance Pharmacovigilance
Pharmacovigilance
 
Second Party Audit and External Third Party Audit
Second Party Audit and External Third Party AuditSecond Party Audit and External Third Party Audit
Second Party Audit and External Third Party Audit
 
MDSAP
MDSAPMDSAP
MDSAP
 
National gmp 2072
National gmp 2072National gmp 2072
National gmp 2072
 

Viewers also liked

Pharo: Objects at your Fingertips
Pharo: Objects at your FingertipsPharo: Objects at your Fingertips
Pharo: Objects at your Fingertips
Pharo
 
Pharo4: Plans and Dreams
Pharo4: Plans and DreamsPharo4: Plans and Dreams
Pharo4: Plans and Dreams
Pharo
 
Pharo Status Fosdem 2015
Pharo Status Fosdem 2015Pharo Status Fosdem 2015
Pharo Status Fosdem 2015
Marcus Denker
 
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond SmalltakReflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
 
The Pharo Programming Language
The Pharo Programming LanguageThe Pharo Programming Language
The Pharo Programming Language
bergel
 
Squeak & Pharo @ NYC Smalltalk
Squeak & Pharo @ NYC SmalltalkSqueak & Pharo @ NYC Smalltalk
Squeak & Pharo @ NYC Smalltalk
SeanDeNigris
 
Pharo: Objects at your Fingertips
Pharo: Objects at your FingertipsPharo: Objects at your Fingertips
Pharo: Objects at your Fingertips
Marcus Denker
 
2008 Sccc Smalltalk
2008 Sccc Smalltalk2008 Sccc Smalltalk
2008 Sccc Smalltalk
bergel
 
Pharo devnology20150401
Pharo devnology20150401Pharo devnology20150401
Pharo devnology20150401
Stephan Eggermont
 
Pharo Hands-On: 02 syntax
Pharo Hands-On: 02 syntaxPharo Hands-On: 02 syntax
Pharo Hands-On: 02 syntax
Pharo
 
Pharo tutorial at ECOOP 2013
Pharo tutorial at ECOOP 2013Pharo tutorial at ECOOP 2013
Pharo tutorial at ECOOP 2013
Pharo
 
Pharo Roadmap
Pharo RoadmapPharo Roadmap
Pharo Roadmap
ESUG
 
Pharo Hands-on: 05 object model
Pharo Hands-on: 05 object modelPharo Hands-on: 05 object model
Pharo Hands-on: 05 object model
Pharo
 
Haskell vs. F# vs. Scala
Haskell vs. F# vs. ScalaHaskell vs. F# vs. Scala
Haskell vs. F# vs. Scala
pt114
 
Stoop 432-singleton
Stoop 432-singletonStoop 432-singleton
Stoop 432-singleton
The World of Smalltalk
 

Viewers also liked (16)

Pharo: Objects at your Fingertips
Pharo: Objects at your FingertipsPharo: Objects at your Fingertips
Pharo: Objects at your Fingertips
 
Pharo4: Plans and Dreams
Pharo4: Plans and DreamsPharo4: Plans and Dreams
Pharo4: Plans and Dreams
 
Pharo Status Fosdem 2015
Pharo Status Fosdem 2015Pharo Status Fosdem 2015
Pharo Status Fosdem 2015
 
Arduinoで出来ること
Arduinoで出来ることArduinoで出来ること
Arduinoで出来ること
 
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond SmalltakReflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
 
The Pharo Programming Language
The Pharo Programming LanguageThe Pharo Programming Language
The Pharo Programming Language
 
Squeak & Pharo @ NYC Smalltalk
Squeak & Pharo @ NYC SmalltalkSqueak & Pharo @ NYC Smalltalk
Squeak & Pharo @ NYC Smalltalk
 
Pharo: Objects at your Fingertips
Pharo: Objects at your FingertipsPharo: Objects at your Fingertips
Pharo: Objects at your Fingertips
 
2008 Sccc Smalltalk
2008 Sccc Smalltalk2008 Sccc Smalltalk
2008 Sccc Smalltalk
 
Pharo devnology20150401
Pharo devnology20150401Pharo devnology20150401
Pharo devnology20150401
 
Pharo Hands-On: 02 syntax
Pharo Hands-On: 02 syntaxPharo Hands-On: 02 syntax
Pharo Hands-On: 02 syntax
 
Pharo tutorial at ECOOP 2013
Pharo tutorial at ECOOP 2013Pharo tutorial at ECOOP 2013
Pharo tutorial at ECOOP 2013
 
Pharo Roadmap
Pharo RoadmapPharo Roadmap
Pharo Roadmap
 
Pharo Hands-on: 05 object model
Pharo Hands-on: 05 object modelPharo Hands-on: 05 object model
Pharo Hands-on: 05 object model
 
Haskell vs. F# vs. Scala
Haskell vs. F# vs. ScalaHaskell vs. F# vs. Scala
Haskell vs. F# vs. Scala
 
Stoop 432-singleton
Stoop 432-singletonStoop 432-singleton
Stoop 432-singleton
 

Similar to You Can’t Do That With Smalltalk!

Oracle Cloud Infrastructure
Oracle Cloud InfrastructureOracle Cloud Infrastructure
Oracle Cloud Infrastructure
MarketingArrowECS_CZ
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
Isaac Chiang
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Igor De Souza
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge Clouds
Jay Bryant
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
Fran Navarro
 
Senthilnadhan K_Resume
Senthilnadhan K_ResumeSenthilnadhan K_Resume
Senthilnadhan K_Resume
senthilnadhan k
 
Containers and microservices create new performance challenges kowall - app...
Containers and microservices create new performance challenges   kowall - app...Containers and microservices create new performance challenges   kowall - app...
Containers and microservices create new performance challenges kowall - app...
Jonah Kowall
 
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppDynamics
 
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applicationsDockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
Docker, Inc.
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
CV it infrastructure - shahnawaz ali
CV  it infrastructure - shahnawaz aliCV  it infrastructure - shahnawaz ali
CV it infrastructure - shahnawaz ali
Shahnawaz Ali, ☁VMware / Microsoft ☁
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
VirtualTech Japan Inc.
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
makker_nl
 
Rajnish_tyagi Profile
Rajnish_tyagi ProfileRajnish_tyagi Profile
Rajnish_tyagi Profile
Rajnish Tyagi
 
Resume_Achhar_Kalia
Resume_Achhar_KaliaResume_Achhar_Kalia
Resume_Achhar_Kalia
Achhar Kalia
 
Smart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDB
Smart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDBSmart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDB
Smart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDB
Manuel Daza
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
IDERA Software
 

Similar to You Can’t Do That With Smalltalk! (20)

Oracle Cloud Infrastructure
Oracle Cloud InfrastructureOracle Cloud Infrastructure
Oracle Cloud Infrastructure
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
 
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge Clouds
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
 
Senthilnadhan K_Resume
Senthilnadhan K_ResumeSenthilnadhan K_Resume
Senthilnadhan K_Resume
 
Containers and microservices create new performance challenges kowall - app...
Containers and microservices create new performance challenges   kowall - app...Containers and microservices create new performance challenges   kowall - app...
Containers and microservices create new performance challenges kowall - app...
 
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance Challenges
 
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applicationsDockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
CV it infrastructure - shahnawaz ali
CV  it infrastructure - shahnawaz aliCV  it infrastructure - shahnawaz ali
CV it infrastructure - shahnawaz ali
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
 
Rajnish_tyagi Profile
Rajnish_tyagi ProfileRajnish_tyagi Profile
Rajnish_tyagi Profile
 
Resume_Achhar_Kalia
Resume_Achhar_KaliaResume_Achhar_Kalia
Resume_Achhar_Kalia
 
Smart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDB
Smart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDBSmart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDB
Smart Cloud Webinar 2014-02-13 Introduction to Softlayer IaaS MDB
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 

Recently uploaded (20)

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 

You Can’t Do That With Smalltalk!

  • 1. You Can’t Do That With Smalltalk! - Can You? Lessons From The Past – Challenges For The Future Dave Thomas Bedarra Corporation (Canada and Anguilla) Carleton University (Canada) and University Of Queensland (Australia) dave@bedarra.com © Bedarra Corp 2002
  • 2. About The Talk •  Brief History Of Commercial Smalltalk •  Yes You Can! – The OTI Smalltalk Experience •  Opportunities For Smalltalk •  In Search of Sapphire – ScriptingSmallatalk •  Summary © Bedarra Corp 2002
  • 3. Commercial Smalltalk The Early Years 1984 - 1994 •  PPS Smalltalk Dynamic Translation – Peter Deutsch •  Tektronix AI Workstation •  Digitalk Methods and Smalltalk/V •  Apple Lisa Smalltalk •  Berkeley Smalltlak - Generation Scavenging •  Gemstone •  ST/VMac Digitalk and OTI •  OTI Envy/Developer •  Tektronix Oscilloscopes and OTI Embedded Smalltalk/V, CRC, RDD © Bedarra Corp 2002
  • 4. Commercial Smalltalk The Early years 1984 - 1995 •  Instantiations TeamV, KSC mentoring, Object People - Toplink, Objectshare WindowBuilder •  Digitalk VisualSmalltalk, PPS Visualworks, Envy Smalltalk, Smalltalk/X •  ANSI ST, IBM VisualAge/Smalltalk and Mainframe Smalltalk •  QKS Smalltalk Agents, Dolphin Smalltalk, MTS Smalltalk •  Optimizations – Polymorphic Inline Cache •  Namespaces and Packages © Bedarra Corp 2002
  • 5. Commercial Smalltalk Research and Development Post 1995 •  StrongTalk, OTI Uvm, Smalltalk/X Java Extensions, PPS Jigsaw (last major commercial R&D) •  Circa 95/96 – Dolphin, Smalltalk MT, Squeak © Bedarra Corp 2002
  • 6. Once Upon A Time A Long Long Time Ago •  A small new CS department with 3 Professors wanted to use to understand OOP •  We had 1 Sun 2 workstation and 3 Apple LISA and many PCs and Macs •  We introduced Smalltalk into first year, and we performed world class research with few resources •  We just set out to find the best tools for our work and focused on interesting industrial applications •  We sought a long-term research agenda called Object Utopia •  We liked the technology so much we started a company •  We seeded OTI, Object People, Object Time as well as several other companies and participated in enabling an industry © Bedarra Corp 2002
  • 7. The Wall Street Journal - June 17, 2000 "Today Utopia Inc.. announced the long awaited OU/200000, the world's first fully object-oriented computer system. The development language for OU/200000 system software/ firmware as well as the Object Utopia end user 5GL programming language are dialects of Lavatalk. The machine uses custom VLIW technology to directly implement the object management 5GL architecture. “ © Bedarra Corp 2002
  • 8. How Can Virtual Machines Be Efficient for Real Applications? ·  Migrate Application “case tests” into message dispatch ·  Uniform Representation of Descriptions and Programs ·  Highly Optimized Application Oriented Instructions ·  Exploit On-Chip Resources - Memory or Registers ·  Exploit Software Locality - Cache ·  Efficient Memory Management - SGC © Bedarra Corp 2002
  • 9. OTI Virtual Machine Technology ·  Widest range of supported platforms: ·  iX86, 370, PowerPC, PA-RISC, SPARC, MIPS, Alpha, 68K... ·  Windows, NT, MVS, OS/2, AIX, HP/UX, Solaris, Mac, OS/400.. ·  RTOS such as VxWorks, OSOpen, OS/9, QNX... ·  VMs built with advanced Meta-VM generator technology ·  Designed for embedded - in low memory applications the RTOS is not required and can be eliminated (“bare metal”) ·  Designed to be Re-entrant (thread able for SMP, MPP) and Rumble ·  Extensive interfaces to other languages ·  Call-outs, Call-ins & Call-backs ·  Dynamically loadable “applets” © Bedarra Corp 2002
  • 10. Virtual Machine Development Process Generic VM Processor Framework Description Meta VM Builder Processor Specific VM
  • 11. Scaling Up? "But Can You Run It Under CICS?" · Support for transaction based applications · Mainframe · Multi-processor SMP and MPP · Distributed · Security © Bedarra Corp 2002
  • 12. Scaling Up To Today's Legacy Systems Urgent HTTP message from Jurassic Park ...locating host .... connect ... waiting ... “The Dinosaurs are back check the stock price!!!” · MVS CICS/DB2, IMS, Batch · AS/400 RISC · Mixed COBOL/PLI/RPG/C + VM · Terminals and Thin Clients © Bedarra Corp 2002
  • 13. JCL For Building CICS TP Image App © Bedarra Corp 2002
  • 14. Scaling Up To Servers · Support for heterogeneous transaction based applications · Distributed and SMP · Huge Memory and Massively Parallel © Bedarra Corp 2002
  • 15. Conventional SMPs (4-64 Processors) Clients Servers Actors Lightweight tasks Workers Couriers Notifiers © Bedarra Corp 2002
  • 16. Persistent Transaction Framework (PTF) Application Data Access (Use ODMG Programmer Programmer (IDL/SQL) Cases) Transactors Data Store Dialogs Object Model Transaction Services launch access call-back store access retrieve launch access call-back © Bedarra Corp 2002
  • 17. Actors - Active Objects ·  Anthropomorphic Programming - Clients, Servers, Agents, Managers, Secretaries, Couriers, Workers, Notifiers ... ·  First Class Active Components which encapsulates a set of state and behaviour together with a thread of control ·  Transactors = Active Transactions with atomic behaviour ·  Business Processes = Workflow + Rules + Control (e.g.. Taylor engines) ·  Agents = Actor where methods are rules ·  Avatar = Actor where method is script and displayOn: uses VRML © Bedarra Corp 2002
  • 18. Server VMs ·  Communications Middleware ·  Object Marshalling and Transmission ·  Async Call-in Callout ·  Integration with TP Monitors ·  Multi-tasking (threading) and Multi-processing ( e.g.. SMP) shared memory, VM & GC ·  Concurrent Debug and Performance Tools ·  Concurrent Programming Model(s) ·  e.g.. Actra, Concurrent Smalltalk, Linda, Simula ... ·  Thread Safe Libraries ·  Large Memorys and Object/Relational Persistence © Bedarra Corp 2002
  • 19. Distributed VMs ·  Server plus ... ·  Distributed VM and GC support ·  Distributed Debug and Performance Tools ·  Distributed Programming Model(s) ·  communicating images (SCI, RMI or ORB) ·  proxies and transparent forwarders ·  distributed virtual memory with logical processes © Bedarra Corp 2002
  • 20. Working in the MUD - Jupiter/ Worlds Places and Spaces - Supporting Virtual Organizations © Bedarra Corp 2002
  • 21. Working in the MUD ·  Large Memory Server (10GB -1000GB) ·  Variable Bandwidth Connections (3270 to VRML) ·  Complete Simulation of Business Processes ·  Simulation Model = Image ·  Multi-user Shared Image ·  Image is up to date and database is backup ·  Thread Safe and Persistent Libraries ·  Federated Business Objects ·  Business to Business Communication = Interacting MUDs © Bedarra Corp 2002
  • 22. Security - Trusted VM ·  Capability protection within the virtual machine ·  Garbage collector is security aware ·  Virtual machine (VM) is verified ·  Security policies are behaviors © Bedarra Corp 2002
  • 23. Fine Grained (4K-64K Processors) ·  visibleStars do: [:star | star twinkle] Applications +  Behaviour investigation (N-Body) +  Execution domain changes (ENVY/ Expert) +  System design and construction (Vibes) +  Executable Business Models © Bedarra Corp 2002
  • 24. CodA - ENVY/Expert Implementation ·  Implemented in Smalltalk on 512 processor Fujitsu MPP ·  Integrated with full environment ·  Reuse entire Smalltalk class library ·  18 methods annotated ·  16 methods added ·  Only 34 of 1000 methods affected ·  Lazy and transparent © Bedarra Corp 2002
  • 25. Applications Oriented “Thinking Machine” ·  high performance reliable fibre and serial buses ·  simple processors with private reliable flash or CMOS memory ·  distributed shared memory for some applications ·  fault tolerant distributed middleware ·  message and object oriented programming ·  one or more objects multiplexed to a processor/VM giving a processor per business object ·  computer system models system it simulates © Bedarra Corp 2002
  • 26. MPP Applications Every Object has a Processor ·  Every airplane has a processor and keeps track of it’s flights ·  Every customer has a processor which keeps track of their bank accounts ·  Every business process has a processor ·  Every airplane component has a processor and keeps track of it’s self ·  Every industrial process has a processor which monitors it’s progress ·  Every room has a processor which keeps track of the room © Bedarra Corp 2002
  • 27. NYC Components Everywhere! Reusable Component Zurich Tokyo Subscribe to a component Versions Subsystem Publish identity, changes Publisher Subscriber © Bedarra Corp 2002
  • 28. Example Software = Subsystem Bill of Materials = Component Library O-O Hotels Inc. Round and Beautiful Lodging Inc. Hotel Hotel Management Management Library System IBM Good Buddy LOB Framework LOB Library (Retail) (Retail POS) Communications hw/sw encapsulation ( RPC/RMI) ( APPC, TCP/IP) © Bedarra Corp 2002
  • 29. Component Publishing Experience with ENVY/Packager, Swapper and App ·  component publisher must be able to select ·  granularity method, class, component, library ·  package format (.exe; shared library; rom; ocx, app, ssl) ·  visibility of source, object, interfaces, partial ·  binding time from shrink wrap to load on demand ·  package for multiple platform ·  package for multiple countries ·  package for specific customers ·  include/exclude associated materials such as initialized data, help, icons © Bedarra Corp 2002
  • 30. Scaling Down to Embedded Systems - NCC, PDA and Internet Appliance ·  Compact virtual machine ·  Interrupts ·  Minimal image ·  ROM, Flash, PCMCIA based applications ·  Separate development and target environments © Bedarra Corp 2002
  • 31. Tektronix TDS 500 Series Oscilloscope © Bedarra Corp 2002
  • 32. Texas Instruments Integrated Wafer Fabrication Facility •  Goal - reduce fabrication costs and cycle times by 10 •  High level factory management tasks - planning, scheduling, production tracking •  Low level tasks - process control and diagnostics, performance monitoring, intra- machine scheduling, quality control •  Smalltalk initially used to construct a simulation of the system architecture and the user interface © Bedarra Corp 2002
  • 33. Application Example Embedded PBX ·  8 line PBX/Voice Mail System w/- T1 interface ·  Based on Motorola 68360 micro controller ·  500 classes ·  < 2 Megabytes of ROM and 1 Megabyte of RAM ·  To field testing in 9 months ·  Ready to ship in 12 months © Bedarra Corp 2002
  • 34. Application Example Gas Analyzer ·  Based on Intel i386 processor ·  Embedded DOS with 32 bit extender ·  1 megabyte of ROM 1 megabyte of RAM ·  < 6 man months © Bedarra Corp 2002
  • 35. PDA Framework DTO © Bedarra Corp 2002
  • 36. VisualAge Embedded Tools ·  Development Workstations - WinTel; AIX, OS/2, HP-UX, Solaris, QNX ·  Target Processors - PowerPC, 68K , x86, MIPS, Alpha, ARM ·  RTOS - QNX, OS/9 ,OSOpen, VxWorks, JavaOS ·  Bare-metal - In many space demanding applications where the RTOS can be eliminated. ·  PowerPC 403GA - Uses the OS Open RTOS. Provides a basis for customer evaluation and early application development © Bedarra Corp 2002
  • 37. The Smalltalk Opportunity Today •  Tools for research •  Tools for reverse engineering •  Grid and MPP Computing •  Meta-modeling and Meta- Programming environments •  Simulation Environments For eLearning •  Searching For Sapphire? © Bedarra Corp 2002
  • 38. In Search of Sapphire - ScriptingSmalltalk •  Perl, Javascript, PHP, Python, Ruby … needs competition – bad design, too complex, too slow •  TTY Smalltalk with friendly Publication Language and ASCII Syntax •  Java like class and package structure •  Proper Modules, Namespaces and Components •  Multiple IDE Support – Smalltalk-80, Eclipse, Visual Studio.Net •  Proper lexical closures and continuations •  Don’t Ignore Functional and Vector Languages © Bedarra Corp 2002
  • 39. In Search of Sapphire - ScriptingSmalltalk •  Bindings to Windows and Linux platforms C APIs (internet programming) •  Better support for strings, XML, threads (persistent CGI) •  SapphireWeblog – Smalltalk's own vision of Zope which combines, Wiki, Web server •  Improved Libraries – Simplified (VB) and better Algorithms •  Image disappears and reappears as a cache •  Smallscript.net and F-Script are exemplars, we need more © Bedarra Corp 2002
  • 40. Summary Respect The Best – Embrace The Future •  The path to widespread use or commercial success is never clear – follow the customer •  Customers keep you honest and should force you to simplify •  Smalltalk is a much better language for modeling the world •  Smalltalk is a much better language for modeling than UML •  Smalltalk is a much better language for scripting than Python, Ruby, PHP etc. but needs to meet them on their own terms © Bedarra Corp 2002