SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
The Power of Abstraction

       Barbara Liskov
       November 2009
Outline
 Inventing abstract data types
 CLU
 Type hierarchy
 What next
Data Abstraction Prehistory
 The Venus machine
The Interdata 3
Data Abstraction Prehistory
 The Venus machine
 The Venus operating system
Data Abstraction Prehistory
 The Venus machine
 The Venus operating system
 Programming methodology
Programming Methodology
 How should programs be designed?
 How should programs be structured?
The Landscape
 E. W. Dijkstra. Go To Statement
 Considered Harmful. Cacm, Mar. 1968
The Landscape
 N. Wirth. Program Development by
 Stepwise Refinement. Cacm, April 1971
The Landscape
 D. L. Parnas. Information Distribution
 Aspects of Design Methodology. IFIP
 Congress, 1971

 “The connections between modules are
 the assumptions which the modules
 make about each other.”
Partitions
 B. Liskov. A Design Methodology for
 Reliable Software Systems. FJCC, Dec.
 1972
Partitions

             op1 op2 op3




             Partition state
From Partitions to ADTs
 How can these ideas be applied to
 building programs?
Idea
 Connect partitions to data types
Meeting in Savanah
 ACM Sigplan-Sigops interface meeting.
 April 1973. (Sigplan Notices, Sept.
 1973)
 Started to work with Steve Zilles
The Landscape
 Extensible Languages
   S. Schuman and P. Jourrand. Definition
   Mechanisms in Extensible Programming
   Languages. AFIPS. 1967
   R. Balzer. Dataless Programming. FJCC
   1967
The Landscape
 O-J. Dahl and C.A.R. Hoare. Hierarchical
 Program Structures. Structured
 Programming, Academic Press, 1972
The Landscape
 J. H. Morris. Protection in Programming
 Languages. Cacm. Jan. 1973
The Landscape
 W. Wulf and M. Shaw. Global Variable
 Considered Harmful. Sigplan Notices.
 Feb. 1973.
Abstract Data Types
 B. Liskov and S. Zilles. Programming
 with Abstract Data Types. ACM Sigplan
 Conference on Very High Level
 Languages. April 1974
What that paper proposed
 Abstract data types
   A set of operations
   And a set of objects
   The operations provide the only way to use
   the objects
What that paper proposed
 Abstract data types
   Clusters with encapsulation
 Polymorphism
 Static type checking (we hoped)
 Exception handling
From ADTs to CLU
 Participants
   Russ Atkinson
   Craig Schaffert
   Alan Snyder
Why a Programming
Language?
 Communicating to programmers
 Do ADTs work in practice?
 Getting a precise definition
 Achieving reasonable performance
Language Design
 Goals
   Expressive power, simplicity, performance,
   ease of use

   Minimality
   Uniformity
   Safety
Language Design
 Restrictions
   No concurrency
   No go tos
   No inheritance
Some Assumptions/Decisions
 Heap-based with garbage collection!
 No block structure!
 Separate compilation
 Static type checking
CLU Mechanisms
 Clusters
 Polymorphism
 Exception handling
 Iterators
Clusters
IntSet = cluster is create, insert, delete, isIn, …

end IntSet
Clusters
IntSet = cluster is create, insert, delete, …
end IntSet


IntSet s := IntSet$create( )
IntSet$insert(s, 3)
Clusters
  IntSet = cluster is create, insert, delete, …

     rep = array[int]
Clusters
  IntSet = cluster is create, insert, delete, …

     rep = array[int]

     create = proc ( ) returns (cvt)
        return (rep$create( ))
        end create
Polymorphism
 Set = cluster[T: type] is create, insert, …
 end Set



 Set[int] s := Set[int]$create( )
 Set[int]$insert(s, 3)
Polymorphism
Set = cluster[T: type] is create, insert, …
  where T has equal: proctype(T, T)
     returns (bool)
Polymorphism
Set = cluster[T: type] is create, insert, …
  where T has equal: proctype(T, T)
     returns (bool)

   rep = array[T]

   insert = proc (x: cvt, e: T)
      … if e = x[i] then …
Exception Handling
 J. Goodenough. Exception Handling:
 Issues and a Proposed Notation. Cacm,
 Dec. 1975
   Termination vs. resumption
   How to specify handlers
Exception Handling
choose = proc (x: cvt) returns (T)
  signals (empty)
    if rep$size() = 0 then signal empty
    …
Exception Handling
choose = proc (x: cvt) returns (T)
 signals (empty)
   if rep$size() = 0 then signal empty
   …

set[T]$ choose(s)
   except when empty: …
Exception Handling
 Handling
 Propagating
 Shouldn’t happen
   The failure exception
 Principles
   Accurate interfaces
   Avoid useless code
Iterators
 For all x in C do S
Iterators
 For all x in C do S
   Destroy the collection?
   Complicate the abstraction?
Visit to CMU
 Bill Wulf and Mary Shaw, Alphard
 Generators
Iterators
sum: int := 0
for e: int in Set[int]$members(s) do
  sum := sum + e
  end
Iterators
Set = cluster[T] is create, …, members, …

    rep = array[T]

    members = iter (x: cvt) yields (T)
     for z: T in rep$elements(x) do
       yield (z) end
After CLU
 Argus and distributed computing
 Type Hierarchy
The Landscape
 Inheritance was used for:
   Implementation
   Type hierarchy
Implementation Inheritance
 Violated encapsulation!
Type hierarchy
 Wasn’t well understood
 E.g., stacks vs. queues
The Liskov Substitution
Principle (LSP)
 Objects of subtypes should behave like
 those of supertypes if used via
 supertype methods

 B. Liskov. Data abstraction and
 hierarchy. Sigplan notices, May 1988
Polymorphism
 where T has …    vs.
 where T subtype of S

 Proofs happen at different times!
What Next?
 Modularity based on abstraction is the
 way things are done
Challenges
 New abstraction mechanisms?
 Massively Parallel Computers
 Internet Computer
   Storage and computation
   Semantics, reliability, availability, security
The Power of Abstraction

        Barbara Liskov
        October 2009

Mais conteúdo relacionado

Destaque

Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012
melogranoverde
 
Kurani drejt shkences
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
Durim Bajrami
 
The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015
Shahida Akhter
 
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
Richard Harbridge
 
Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)
Children & Women in Social Service and Human Rights
 

Destaque (20)

Facebook rinkodara Lietuvos elektroniniams verslams
Facebook rinkodara Lietuvos elektroniniams verslamsFacebook rinkodara Lietuvos elektroniniams verslams
Facebook rinkodara Lietuvos elektroniniams verslams
 
Presentación de Servicios Prevengest
Presentación de Servicios PrevengestPresentación de Servicios Prevengest
Presentación de Servicios Prevengest
 
Shepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting FlyerShepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting Flyer
 
Маркетинг 2015 - основни правила за малкия и среден бизнес
Маркетинг 2015 - основни правила за малкия и среден бизнесМаркетинг 2015 - основни правила за малкия и среден бизнес
Маркетинг 2015 - основни правила за малкия и среден бизнес
 
Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012
 
Kurani drejt shkences
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
 
Suzuki adferdin god_uppskrift
Suzuki adferdin  god_uppskriftSuzuki adferdin  god_uppskrift
Suzuki adferdin god_uppskrift
 
Group 2 - Pitch
Group 2 - PitchGroup 2 - Pitch
Group 2 - Pitch
 
Ta mnimeiaeinaigiromas167
Ta mnimeiaeinaigiromas167Ta mnimeiaeinaigiromas167
Ta mnimeiaeinaigiromas167
 
The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015
 
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
 
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 TutorialPrivacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
 
Roma solo fotos
Roma solo fotosRoma solo fotos
Roma solo fotos
 
Open il vol4
Open il vol4Open il vol4
Open il vol4
 
Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...
Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...
Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...
 
driver
driverdriver
driver
 
LR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITA
LR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITALR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITA
LR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITA
 
AOA - Annual OMEL Conference Encourages Osteopathic Discourse
AOA - Annual OMEL Conference Encourages Osteopathic Discourse AOA - Annual OMEL Conference Encourages Osteopathic Discourse
AOA - Annual OMEL Conference Encourages Osteopathic Discourse
 
Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)
 
Boletín XVII abril 2016
Boletín XVII abril 2016Boletín XVII abril 2016
Boletín XVII abril 2016
 

Semelhante a The power of abstraction

Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
ArchiLab 7
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
butest
 
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Roberto Casadei
 
Roberto Trasarti PhD Thesis
Roberto Trasarti PhD ThesisRoberto Trasarti PhD Thesis
Roberto Trasarti PhD Thesis
Roberto Trasarti
 

Semelhante a The power of abstraction (20)

Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
 
From Signal to Symbols
From Signal to SymbolsFrom Signal to Symbols
From Signal to Symbols
 
A Simple Introduction to Neural Information Retrieval
A Simple Introduction to Neural Information RetrievalA Simple Introduction to Neural Information Retrieval
A Simple Introduction to Neural Information Retrieval
 
Person re-identification, PhD Day 2011
Person re-identification, PhD Day 2011Person re-identification, PhD Day 2011
Person re-identification, PhD Day 2011
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Fusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with ViewsFusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with Views
 
Aggregation computation over distributed data streams(the final version)
Aggregation computation over distributed data streams(the final version)Aggregation computation over distributed data streams(the final version)
Aggregation computation over distributed data streams(the final version)
 
Scala and Deep Learning
Scala and Deep LearningScala and Deep Learning
Scala and Deep Learning
 
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
 
Deep Learning in your Browser: powered by WebGL
Deep Learning in your Browser: powered by WebGLDeep Learning in your Browser: powered by WebGL
Deep Learning in your Browser: powered by WebGL
 
Deep Learning, Keras, and TensorFlow
Deep Learning, Keras, and TensorFlowDeep Learning, Keras, and TensorFlow
Deep Learning, Keras, and TensorFlow
 
Roberto Trasarti PhD Thesis
Roberto Trasarti PhD ThesisRoberto Trasarti PhD Thesis
Roberto Trasarti PhD Thesis
 
Deep image generating models
Deep image generating modelsDeep image generating models
Deep image generating models
 
Asymptotic Notation and Data Structures
Asymptotic Notation and Data StructuresAsymptotic Notation and Data Structures
Asymptotic Notation and Data Structures
 
Citython presentation
Citython presentationCitython presentation
Citython presentation
 
Multi-Armed Bandits:
 Intro, examples and tricks
Multi-Armed Bandits:
 Intro, examples and tricksMulti-Armed Bandits:
 Intro, examples and tricks
Multi-Armed Bandits:
 Intro, examples and tricks
 
R-programming-training-in-mumbai
R-programming-training-in-mumbaiR-programming-training-in-mumbai
R-programming-training-in-mumbai
 
Java and Deep Learning
Java and Deep LearningJava and Deep Learning
Java and Deep Learning
 
19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity
 
Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...
 

Mais de ACMBangalore

Mais de ACMBangalore (17)

Securing Wireless Cellular Systems
Securing Wireless Cellular SystemsSecuring Wireless Cellular Systems
Securing Wireless Cellular Systems
 
Overview of FreeBSD PMC Tools
Overview of FreeBSD PMC ToolsOverview of FreeBSD PMC Tools
Overview of FreeBSD PMC Tools
 
Lesson from Building a Search Engine using the cloud
Lesson from Building a Search Engine using the cloudLesson from Building a Search Engine using the cloud
Lesson from Building a Search Engine using the cloud
 
Automated Design of Digital Microfluids Lab-on-Chip
Automated Design of Digital Microfluids Lab-on-ChipAutomated Design of Digital Microfluids Lab-on-Chip
Automated Design of Digital Microfluids Lab-on-Chip
 
Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...
 
Opening Remarks - Cloud Symposium
Opening Remarks - Cloud SymposiumOpening Remarks - Cloud Symposium
Opening Remarks - Cloud Symposium
 
Clouds in emerging markets
Clouds in emerging marketsClouds in emerging markets
Clouds in emerging markets
 
Opportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputingOpportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputing
 
Perspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - GooglePerspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - Google
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 
Web Business Platforms on the Cloud
Web Business Platforms on the CloudWeb Business Platforms on the Cloud
Web Business Platforms on the Cloud
 
Badrinath Ramamurthy Cloud Infrastructure
Badrinath Ramamurthy   Cloud InfrastructureBadrinath Ramamurthy   Cloud Infrastructure
Badrinath Ramamurthy Cloud Infrastructure
 
market oriented cloud
market oriented cloudmarket oriented cloud
market oriented cloud
 
Case study - SaaS Abs Experience Jan07 09
Case study - SaaS Abs Experience Jan07 09Case study - SaaS Abs Experience Jan07 09
Case study - SaaS Abs Experience Jan07 09
 
cloud - internet rengineering
cloud - internet rengineeringcloud - internet rengineering
cloud - internet rengineering
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009
 
ACM Bangalore Distinguished Speaker Program
ACM Bangalore Distinguished Speaker ProgramACM Bangalore Distinguished Speaker Program
ACM Bangalore Distinguished Speaker Program
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

The power of abstraction