Language Oriented Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Language Oriented Programming

Description:

Language Oriented Programming Didier Demange IR3 – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 24
Provided by: Did69
Category:

less

Transcript and Presenter's Notes

Title: Language Oriented Programming


1
Language Oriented Programming
  • Didier Demange
  • IR3

2
Plan
  • La programmation actuelle
  • Language Oriented Programming
  • Domain Specific Language
  • Conclusion

3
La programmation actuelle
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Constatations
  • Les principaux problèmes

4
Constatations
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Programmer est difficile
  • Penser comme un ordinateur
  • Tout est faisable, mais à quel prix ?
  • Cadre de développement rigide

5
Les principaux problèmes
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Implémenter des idées est long
  • Humain vs CPU concepts haut niveau contre
    opérations simples
  • OOD long et pas forcément nécessaire
  • Comprendre et maintenir du code est difficile
  • Opérations  atomiques  vers concept haut niveau
  • Documentation difficilement liée au code
  • Extensions de langage hors de portée
  • Librairie abstraction bas niveau de concepts
  • Non reconnues par les outils de développement

6
Language Oriented Programming
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Présentation
  • En pratique
  • Cas dutilisation
  • Avantages
  • Inconvénients

7
Présentation
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Le but
  • Simplifier la programmation en manipulant des
    notions du problème que lon souhaite résoudre
  • La LOP cest
  • Une façon de penser objet
  • La réutilisation
  • La LOP ce nest pas
  • La solution à tout
  • Un langage de programmation

8
En pratique
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Ce quon fait habituellement

Penser
Choisir
9
En pratique
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Ce que propose la LOP

DSL
Choisir
Penser
Réaliser
Créer
10
Quand lutiliser ?
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Le programme concerne-t-il un problème en
    particulier ?
  • Le programme fera-t-il partie dune suite ?

11
Avantages
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Grande productivité de développement
  • Facilement maintenable
  • Extrêmement portable
  • Possibilité de réutilisation
  • Système améliorable par lutilisateur

12
Inconvénients
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Façonner correctement un DSL est difficile
  • Nécessité de connaître le domaine
  • Compétence requises en programmation
  • Nécessité de créer ses outils
  • Risque de séloigner des contraintes defficacité

13
Domain Specific Language
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Présentation
  • Contexte dutilisation
  • Les différents DSL
  • Création dun DSL
  • Outils
  • Exemples

14
Présentation
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Un langage de programmation à part entière
  • Structure
  • Éditeur
  • Sémantique
  • Différentes représentations
  • Langages à diagrammes
  • Abstraction de programmation
  • Langages textuels

15
Contexte dutilisation
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • En standalone
  • Utilisé par un GPL
  • Encapsulé dans une application
  • Implémenté avec un système de programmation par
    macros puis transformé en GPL

16
Les différents DSL
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • DSL  interne 
  • Métamorphose un GPL en DSL
  • Ses forces
  • Dispose de la puissance du langage de base
  • Réduit le coût en outils
  • Sa faiblesse
  • Limité par le langage de base

17
Les différents DSL
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • DSL  externe 
  • Écrit dans un langage unique
  • Ses forces
  • Liberté dexpression
  • Simplicité dutilisation
  • Sa faiblesse
  • Nécessité de créer ses propres outils

18
Création dun DSL
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Définir une structure
  • Créer un éditeur
  • Mettre en place la sémantique
  • Définir des règles
  • Créer un  traducteur  ou un générateur

19
Outils
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Pourquoi un éditeur ?
  • Créer, réutiliser, modifier un langage
  • Quelques exemples
  • Intentional Software, Intentional Software
  • Meta-Programming System, JetBrains
  • SoftwareFactories, Microsoft

20
Exemples
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • Ils existent !
  • SQL gestion de bases de données
  • Shell gestion de systèmes de fichiers
  • POV ray-tracing dimages
  • Csound création de fichiers audio
  • Et pourquoi pas
  • Un DSL qui gère les salaires
  • Un DSL de simulation de combat

21
Conclusion
La programmation actuelle Language Oriented
Programming Domain Specific Language Conclusion
  • LOP résout un problème particulier
  • LOP est simple mais peut-être coûteux
  • DSL peut être un complément aux GPL ou pas

22
  • Merci de votre attention !

23
Webographie
  • M.P. Ward  Language Oriented Programming 
  • TheLop
  • Microsoft MSDN
  • Wikipedia
  • M. Fowler  Language Workbenches 
  • S. Dmitriev  LOP The Next programming
    Paradigm 
Write a Comment
User Comments (0)
About PowerShow.com