SlideShare a Scribd company logo
Data Deserves a
Language Too
Bernard Lambeau
Université catholique de Louvain (Belgium)
@blambeau
csv,conf – Berlin – 15 July 2014
We’ve got
a serious
marriage issue
between
Code and Data
You can’t
disentangle
them when
designed
conjointly
e.g. try sending a Java Graph abstraction over the wire
to another (non Java) software Component
You can’t
assemble
them when
designed
separately
e.g. try solving the Impedance Mismatch
in a sound and elegant way
Coupling issue known for ages
• Niklaus Wirth, 1976
– The father of Pascal,
Modula 2 and a lot more
• Main message
– Data structures and
Algorithms are highly related
• Yields another coupling issue
– Between software
components
– Hurts evolution
A solution used for ages
• Information Hiding
– Parnas, 1971
• Abstract Data Types
– Liskov, 1974
Avoid coupling between software components
• Encapsulate data
• Access it only via behavioral interfaces
• e.g. the Stack ADT and its axiomatic contract
Software: a black-box cathedral
?
?
?
A Possible Root Cause
• Programming languages & practices have
strong biases towards Behavior
– Type systems & Type checking algorithms
– APIs and documentation
– Testing
• They mostly ignore the Data perspective of
engineering
– To be is too often sacrificed over To Behave
To Be is to be a Value
that is, a member of a Type
• An interesting question is
– Are you, value v, a member of type T ?
• Examples
– Are you 13 an Integer between 0 and 45 ?
– Are you {…} a Member information with a valid
Password, that is, a String of min 8 characters ?
• Useful only if we can capture interesting
Types in the first place
– Sets of values, Arbitrary Subsets, Supersets
– Weak or no support in conventional prog. languages
Data Deserves a Language Too
What would a language strongly
biased towards data look like?
OR
http://www.finitio.io/try
• Finitio is a language for …
– Enforcing
– Validating
– Documenting
– Coercing
• … Datatypes in
– Files
– APIs
– Exchanges
– Databases
• + an interoperability layer: Information Contracts
– A proposed dual to ADTs’ axiomatic contracts
Meet Finitio & Contribute
• http://www.finitio.io/
– The best starting point
• github.com/blambeau/finitio
– Language specification, e2e tests, doc source
• github.com/blambeau/finitio-rb
– Ruby binding
• github.com/llambeau/finitio.js
– Javascript binding

More Related Content

Viewers also liked

Photo album latest slideshow1
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1hussain56
 
Quick start to the Library March 2011
Quick start to the Library March 2011Quick start to the Library March 2011
Quick start to the Library March 2011
Kings Norton Library, Cranfield University
 
Shoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian MatsonShoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian Matson
Brian Matson
 
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis DinamisPengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Kagarasomaru
 
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Kouluterveyskysely
 
Heaven - escena baralla al parc
Heaven - escena baralla al parcHeaven - escena baralla al parc
Heaven - escena baralla al parc
mvinola2
 
Mff715 s2 w1 scientific reasoning
Mff715 s2 w1 scientific reasoningMff715 s2 w1 scientific reasoning
Mff715 s2 w1 scientific reasoningRachel Chung
 
User manual hl_wp_clone_feature
User manual hl_wp_clone_featureUser manual hl_wp_clone_feature
User manual hl_wp_clone_feature
Debjani Roy
 
Xpflow training ppt_update_may 2007-051807
Xpflow training ppt_update_may 2007-051807Xpflow training ppt_update_may 2007-051807
Xpflow training ppt_update_may 2007-051807Debjani Roy
 
ο θαλασσοπόρος
ο θαλασσοπόροςο θαλασσοπόρος
ο θαλασσοπόρος
Ioanna Prangiou
 
Grammar book
Grammar bookGrammar book
Grammar bookajpeace96
 
Presentazione affidabilità
Presentazione affidabilitàPresentazione affidabilità
Presentazione affidabilità
Giovanni Sferrazza
 
Welcome packet pdf
Welcome packet pdfWelcome packet pdf
Welcome packet pdf
Zoraida Lopez
 
Geluidsisolatie versie 1 nvm som (1)
Geluidsisolatie versie 1 nvm    som (1)Geluidsisolatie versie 1 nvm    som (1)
Geluidsisolatie versie 1 nvm som (1)Quietroom Label
 
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Kouluterveyskysely
 
Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta! Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Kouluterveyskysely
 

Viewers also liked (20)

Photo album latest slideshow1
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1
 
Quick start to the Library March 2011
Quick start to the Library March 2011Quick start to the Library March 2011
Quick start to the Library March 2011
 
Shoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian MatsonShoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian Matson
 
ไฟฟ้า
ไฟฟ้าไฟฟ้า
ไฟฟ้า
 
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis DinamisPengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
 
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
 
Heaven - escena baralla al parc
Heaven - escena baralla al parcHeaven - escena baralla al parc
Heaven - escena baralla al parc
 
Mff715 s2 w1 scientific reasoning
Mff715 s2 w1 scientific reasoningMff715 s2 w1 scientific reasoning
Mff715 s2 w1 scientific reasoning
 
User manual hl_wp_clone_feature
User manual hl_wp_clone_featureUser manual hl_wp_clone_feature
User manual hl_wp_clone_feature
 
Xpflow training ppt_update_may 2007-051807
Xpflow training ppt_update_may 2007-051807Xpflow training ppt_update_may 2007-051807
Xpflow training ppt_update_may 2007-051807
 
ο θαλασσοπόρος
ο θαλασσοπόροςο θαλασσοπόρος
ο θαλασσοπόρος
 
Grammar book
Grammar bookGrammar book
Grammar book
 
Slide share test 110727
Slide share test 110727Slide share test 110727
Slide share test 110727
 
Lesson 3
Lesson 3Lesson 3
Lesson 3
 
Presentazione affidabilità
Presentazione affidabilitàPresentazione affidabilità
Presentazione affidabilità
 
S6 w2 chi square
S6 w2 chi squareS6 w2 chi square
S6 w2 chi square
 
Welcome packet pdf
Welcome packet pdfWelcome packet pdf
Welcome packet pdf
 
Geluidsisolatie versie 1 nvm som (1)
Geluidsisolatie versie 1 nvm    som (1)Geluidsisolatie versie 1 nvm    som (1)
Geluidsisolatie versie 1 nvm som (1)
 
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
 
Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta! Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
 

Similar to Finitio - Data deserves a language too

RDF and other linked data standards — how to make use of big localization data
RDF and other linked data standards — how to make use of big localization dataRDF and other linked data standards — how to make use of big localization data
RDF and other linked data standards — how to make use of big localization data
Dave Lewis
 
PhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the WebPhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the Web
PhiloWeb
 
Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2
Paige Morgan
 
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Patterns and Anti-Patterns for Memorializing Data Science Project ArtifactsPatterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Databricks
 
Implementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource ConditionsImplementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource Conditions
AIMS (Agricultural Information Management Standards)
 
Schema and Identity for Linked Data
Schema and Identity for Linked DataSchema and Identity for Linked Data
Schema and Identity for Linked Data
National Institute of Informatics (NII)
 
Sands Fish - Knowing in the Age of Networked Knowledge
Sands Fish - Knowing in the Age of Networked KnowledgeSands Fish - Knowing in the Age of Networked Knowledge
Sands Fish - Knowing in the Age of Networked Knowledge
sandsfish
 
02 c a306-phillips_langtags
02 c a306-phillips_langtags02 c a306-phillips_langtags
02 c a306-phillips_langtagssuvo1111
 
DMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slides
Paige Morgan
 
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
David Beazley (Dabeaz LLC)
 
Ghc14
Ghc14Ghc14
Towards a digital library for York
Towards a digital library for YorkTowards a digital library for York
Towards a digital library for York
Julie Allinson
 
Digital Academic Library of the North - Northern Collaboration presentation
Digital Academic Library of the North - Northern Collaboration presentationDigital Academic Library of the North - Northern Collaboration presentation
Digital Academic Library of the North - Northern Collaboration presentation
Chris Awre
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
Uwe Korn
 
Welcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology InitiativeWelcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology Initiative
Basil Bibi
 
File Formats for Preservation
File Formats for PreservationFile Formats for Preservation
File Formats for Preservation
Stephen Gray
 
Open minted content_provision
Open minted content_provisionOpen minted content_provision
Open minted content_provision
Lucas anastasiou
 
Linked Open Data Cloud
Linked Open Data CloudLinked Open Data Cloud
Linked Open Data Cloud
PretaLLOD
 
(Big) Data (Science) Skills
(Big) Data (Science) Skills(Big) Data (Science) Skills
(Big) Data (Science) Skills
Oscar Corcho
 
Polyglot Architecture: A Rational Approach to Software Design
Polyglot Architecture: A Rational Approach to Software DesignPolyglot Architecture: A Rational Approach to Software Design
Polyglot Architecture: A Rational Approach to Software Designkompalg
 

Similar to Finitio - Data deserves a language too (20)

RDF and other linked data standards — how to make use of big localization data
RDF and other linked data standards — how to make use of big localization dataRDF and other linked data standards — how to make use of big localization data
RDF and other linked data standards — how to make use of big localization data
 
PhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the WebPhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the Web
 
Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2
 
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Patterns and Anti-Patterns for Memorializing Data Science Project ArtifactsPatterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
 
Implementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource ConditionsImplementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource Conditions
 
Schema and Identity for Linked Data
Schema and Identity for Linked DataSchema and Identity for Linked Data
Schema and Identity for Linked Data
 
Sands Fish - Knowing in the Age of Networked Knowledge
Sands Fish - Knowing in the Age of Networked KnowledgeSands Fish - Knowing in the Age of Networked Knowledge
Sands Fish - Knowing in the Age of Networked Knowledge
 
02 c a306-phillips_langtags
02 c a306-phillips_langtags02 c a306-phillips_langtags
02 c a306-phillips_langtags
 
DMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slides
 
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
 
Ghc14
Ghc14Ghc14
Ghc14
 
Towards a digital library for York
Towards a digital library for YorkTowards a digital library for York
Towards a digital library for York
 
Digital Academic Library of the North - Northern Collaboration presentation
Digital Academic Library of the North - Northern Collaboration presentationDigital Academic Library of the North - Northern Collaboration presentation
Digital Academic Library of the North - Northern Collaboration presentation
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
Welcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology InitiativeWelcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology Initiative
 
File Formats for Preservation
File Formats for PreservationFile Formats for Preservation
File Formats for Preservation
 
Open minted content_provision
Open minted content_provisionOpen minted content_provision
Open minted content_provision
 
Linked Open Data Cloud
Linked Open Data CloudLinked Open Data Cloud
Linked Open Data Cloud
 
(Big) Data (Science) Skills
(Big) Data (Science) Skills(Big) Data (Science) Skills
(Big) Data (Science) Skills
 
Polyglot Architecture: A Rational Approach to Software Design
Polyglot Architecture: A Rational Approach to Software DesignPolyglot Architecture: A Rational Approach to Software Design
Polyglot Architecture: A Rational Approach to Software Design
 

Recently uploaded

Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfEnhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
GetInData
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdfUnleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Enterprise Wired
 
Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
roli9797
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
Roger Valdez
 
Global Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headedGlobal Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headed
vikram sood
 
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
mzpolocfi
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
u86oixdj
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
javier ramirez
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
dwreak4tg
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
apvysm8
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
Walaa Eldin Moustafa
 
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
74nqk8xf
 

Recently uploaded (20)

Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfEnhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdfUnleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
 
Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
 
Global Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headedGlobal Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headed
 
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
 
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
 

Finitio - Data deserves a language too

  • 1. Data Deserves a Language Too Bernard Lambeau Université catholique de Louvain (Belgium) @blambeau csv,conf – Berlin – 15 July 2014
  • 2. We’ve got a serious marriage issue between Code and Data
  • 3. You can’t disentangle them when designed conjointly e.g. try sending a Java Graph abstraction over the wire to another (non Java) software Component
  • 4. You can’t assemble them when designed separately e.g. try solving the Impedance Mismatch in a sound and elegant way
  • 5. Coupling issue known for ages • Niklaus Wirth, 1976 – The father of Pascal, Modula 2 and a lot more • Main message – Data structures and Algorithms are highly related • Yields another coupling issue – Between software components – Hurts evolution
  • 6. A solution used for ages • Information Hiding – Parnas, 1971 • Abstract Data Types – Liskov, 1974 Avoid coupling between software components • Encapsulate data • Access it only via behavioral interfaces • e.g. the Stack ADT and its axiomatic contract
  • 7. Software: a black-box cathedral ? ? ?
  • 8. A Possible Root Cause • Programming languages & practices have strong biases towards Behavior – Type systems & Type checking algorithms – APIs and documentation – Testing • They mostly ignore the Data perspective of engineering – To be is too often sacrificed over To Behave
  • 9. To Be is to be a Value that is, a member of a Type • An interesting question is – Are you, value v, a member of type T ? • Examples – Are you 13 an Integer between 0 and 45 ? – Are you {…} a Member information with a valid Password, that is, a String of min 8 characters ? • Useful only if we can capture interesting Types in the first place – Sets of values, Arbitrary Subsets, Supersets – Weak or no support in conventional prog. languages
  • 10. Data Deserves a Language Too What would a language strongly biased towards data look like? OR
  • 11. http://www.finitio.io/try • Finitio is a language for … – Enforcing – Validating – Documenting – Coercing • … Datatypes in – Files – APIs – Exchanges – Databases • + an interoperability layer: Information Contracts – A proposed dual to ADTs’ axiomatic contracts
  • 12. Meet Finitio & Contribute • http://www.finitio.io/ – The best starting point • github.com/blambeau/finitio – Language specification, e2e tests, doc source • github.com/blambeau/finitio-rb – Ruby binding • github.com/llambeau/finitio.js – Javascript binding