SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

Photo album latest slideshow1
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1hussain56
 
Shoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian MatsonShoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian MatsonBrian 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 DinamisKagarasomaru
 
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 2011Kouluterveyskysely
 
Heaven - escena baralla al parc
Heaven - escena baralla al parcHeaven - escena baralla al parc
Heaven - escena baralla al parcmvinola2
 
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_featureDebjani 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
 
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 2Kouluterveyskysely
 
Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta! Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta! Kouluterveyskysely
 

En vedette (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!
 

Similaire à 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 dataDave Lewis
 
PhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the WebPhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the WebPhiloWeb
 
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 2Paige 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 ArtifactsDatabricks
 
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 Knowledgesandsfish
 
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 slidesPaige 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)
 
Towards a digital library for York
Towards a digital library for YorkTowards a digital library for York
Towards a digital library for YorkJulie 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 presentationChris 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" EcosystemsUwe 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 InitiativeBasil Bibi
 
File Formats for Preservation
File Formats for PreservationFile Formats for Preservation
File Formats for PreservationStephen Gray
 
Open minted content_provision
Open minted content_provisionOpen minted content_provision
Open minted content_provisionLucas anastasiou
 
Linked Open Data Cloud
Linked Open Data CloudLinked Open Data Cloud
Linked Open Data CloudPretaLLOD
 
(Big) Data (Science) Skills
(Big) Data (Science) Skills(Big) Data (Science) Skills
(Big) Data (Science) SkillsOscar 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
 

Similaire à 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
 

Dernier

怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制vexqp
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxchadhar227
 
Harnessing the Power of GenAI for BI and Reporting.pptx
Harnessing the Power of GenAI for BI and Reporting.pptxHarnessing the Power of GenAI for BI and Reporting.pptx
Harnessing the Power of GenAI for BI and Reporting.pptxParas Gupta
 
Data Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdfData Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdftheeltifs
 
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATIONCapstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATIONLakpaYanziSherpa
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.pptibrahimabdi22
 
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptxThe-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptxVivek487417
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareGraham Ware
 
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...nirzagarg
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1ranjankumarbehera14
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...nirzagarg
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...Bertram Ludäscher
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Klinik kandungan
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangeThinkInnovation
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...Health
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...Elaine Werffeli
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 

Dernier (20)

怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptx
 
Harnessing the Power of GenAI for BI and Reporting.pptx
Harnessing the Power of GenAI for BI and Reporting.pptxHarnessing the Power of GenAI for BI and Reporting.pptx
Harnessing the Power of GenAI for BI and Reporting.pptx
 
Data Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdfData Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdf
 
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATIONCapstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt
 
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptxThe-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham Ware
 
Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...
 
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 

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