Discussion:Langage dédié

Une page de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Autres discussions [liste]
  • Suppression
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives

Recherche bibliographique[modifier le code]

Nous nous proposons d'enrichir cet article, et pour cela nous commençons par lister ici les références bibliographiques que nous avons l'intention d'utiliser.

Toutes aides ou critiques constructives sont évidemment les bienvenues.

Aminetiir Clement Mondon (d) 11 octobre 2011 à 09:37 (CEST)

Proposition de modification[modifier le code]

Bonsoir,

je me demandais simplement s'il ne serait pas plus pertinent de parler de langages plus « actuels » (je le dis avec des pincettes) que PL/1 et Ada dans la phrase d'introduction. Je pense à Java, C, Python, etc. Ce ne sont peut-être pas les meilleurs exemples mais ils parleront au plus grand nombre. À bon entendeur (lecteur !)… Watilin


Bonjour,

Le problème c'est que les langages que vous citez ne sont pas de langage dédié. Actuellement, les langages tendent à être "tout terrain" sauf quelques un très très spécifiques qui ne parleront malheureusement à personne. Cdlt

Définitions[modifier le code]

Un langage dédié est un langage de programmation ou un langage de spécification exécutable qui offre, grâce a des notations et abstractions appropriées, un pouvoir d’expression concentré sur, et généralement limité à, un domaine d’applications particulier.


(en) Arie van Deursen, Paul Klint et Joost Visser, « Domain-specific languages », SIGPLAN., vol. 35, no 6,‎ , p. 26-36 (DOI 10.1145/352029.352035, lire en ligne)

Sarah.tiir (d) 27 octobre 2011 à 22:02 (CEST)


Un langage dédié est un langage restreint à une classe de problèmes dans un domaine particulier. La restriction du DSL à un domaine d’application particulier permet de mieux réaliser le rapprochement entre les concepts du langage et ceux du domaine. Ce rapprochement présente de nombreux bénéfices en termes d’expressivité et de précision (sémantique) pour le langage. Outre ces bénéfices, les DSL ont démontré également un potentiel intéressant en termes de productivité, de réutilisabilité et de fiabilité.

(en) Juha-Pekka Tolvanen et Steven Kelly, « Integrating models with domain-specific modeling languages », SIGPLAN.,‎ , p. 448 (DOI 10.1145/2060329.2060354, lire en ligne)

Sarah.tiir (d) 12 novembre 2011 à 15:48 (CET)



A domain-specific language (DSL) provides a notation tailored towards an application domain and is based on the relevant concepts and features of that domain. As such, a DSL is a means to describe and generate members of a family of programs in the domain

Aminetiir (d) 8 novembre 2011 à 09:21 (CET)

Historique / Évolution[modifier le code]

Historique[modifier le code]

L'idée de langages spécifiques au domaine n'est pas récente, celle­ ci serait presque aussi ancienne que les langages de programmation eux-mêmes. Le concept serait en effet apparu dans la seconde moitié des années 1950 avec APT, un langage visant la programmation de machines-outils. Une difficulté de décrire l'histoire des DSL est qu'il n'y aurait pas unanimité quant à savoir ce qui fait d'un langage un DSL. la situation ne serait pas noire ou blanche...

Les langages pourraient plutôt être classés sur une échelle allant de « très spécifique au domaine» ( la forme de Backus-Naur 2 http://fr.wikipedia.org/wiki/Forme_de_Backus-Naur) à « très généraliste» (par exemple, C++) Exemples de langages spécifiques au domaine: Exel: tableur, html: page web ; sql: requete de base de données


(en) Marjan Mernik, Jan Heering et Anthony :M. Sioane, « When and how to develop domain-specific languages », SIGPLAN Not., vol. 37,‎ , p. 316-344 (DOI 10.1145/1118890.1118892, lire en ligne)

Sarah.tiir (d) 26 octobre 2011 à 08:37 (CEST)

Cout des DSL[modifier le code]

Le cout d'entretien des DSL est moindre que celui des langages généralistes . (en) Marjan Mernik, Jan Heering et Anthony :M. Sioane, « When and how to develop domain-specific languages », SIGPLAN Not., vol. 37,‎ , p. 2 (DOI 10.1145/1118890.1118892, lire en ligne) Aminetiir (d) 8 novembre 2011 à 09:42 (CET)

Paul Hudak propose une approche permettant de limiter le coût initial. Cette approche est fondée sur les langages dédiés enchâssés. Le principe est de profiter de l'infrastructure et des outils de l'environnement de développement d'un langage généraliste.

(en) Paul Hudak, « Building domain-specific embedded languages », ACM Computing Surveys, vol. 28,‎ , p. 196-196 (DOI 10.1145/242224.242477, lire en ligne)

Sarah.tiir (d) 12 novembre 2011 à 13:46 (CET)

Evolution[modifier le code]

Progressivement, ils ont évolué en se généralisant encore et encore contre le besoin grandissant de langages dédiés pour résoudre des problèmes spécifiques. L'évolution des réponses aux besoins spécifiques donne aujourd'hui :

  • L'utilisation par les langages généraux de librairies qui permettent d'effectuer des tâches spécifiques à un domaine comme : équations différentielles, graphiques, interfaces utilisateur et bases de données.
  • Dans la même démarche: l'utilisation de framework orienté objet
  • Les DSL



(en) Arie van Deursen, Paul Klint et Joost Visser, « Domain-specific languages: an annotated bibliography », SIGPLAN Not., vol. 35, no 6,‎ , p. 26-36 (DOI 10.1145/352029.352035, lire en ligne)


Processus de développement d’un langage dédié[modifier le code]

Le processus de développement d’un DSL peut s’avérer très complexe. Il requiert une expertise du domaine concerné, mais aussi une connaissance dans le domaine de la conception des langages de programmation. Pour aider les concepteurs/développeurs, identifie les différentes phases de développement : décision, analyse, conception, implantation et déploiement. La décision répond à la question « pourquoi et quand » développer et les autres phases correspondent au « comment développer ». En pratique, le développement d’un DSL n’est un pas un simple processus séquentiel mais un processus itératif.

(en) M. Mernik, J. Heering et A.M. Sloane, « When and How to Develop Domain-Specific Languages. », ACM Computing Surveys., vol. 37, no 4,‎ , p. 316-344 (DOI 10.1145/1118890.1118892, lire en ligne)

Sarah.tiir (d) 27 octobre 2011 à 21:35 (CEST)

Enseignement/Apprentissage[modifier le code]

  • « Many Computer Science (CS) programs expose their students to several different programming languages. Others select a “core” programming language that the students use in every course in the curriculum with the idea that they can make the connection between programming language concepts when learning new languages. The CS program at West Point uses the latter approach, but encourages students to explore other languages. Both approaches have their advantages and disadvantages, but either way, programming assignments create challenges for the teachers (developing assignments, solutions, grading, etc.) and for the students (familiarity with particular languages, development environments, etc.). » - page XXX - (en) John M. D. Hill et Kenneth L. Alford, « A Distributed Task Environment for Teaching Artificial Intelligence with Agents », journal SIGCSE,‎ (lire en ligne)

Types de DSL[modifier le code]

Martin Fowler classe les DSL en deux catégories: les DSLs enchâssés (Internal DSL) et les DSLs autonomes (External DSL)

(en) Martin Fowler, « A pedagogical framework for domain-specifie languages », International Journal of Software Engineering and Knowledge Engineering, vol. 26,‎ , p. 13–14 (ISSN 0740-7459, lire en ligne)

Sarah.tiir (d) 26 octobre 2011 à 08:38 (CEST)

Un DSL enchâssé, ou DSL embarqué (embedded DSL) , est un langage dédié qui se définit à l’intérieur d’un autre langage, généralement un langage généraliste, dit langage hôte. La création d’un DSL enchâssé consiste alors à étendre le langage hôte avec un dialecte dédié au domaine tout en respectant le formalisme et la syntaxe du langage hôte.


(en) Paul Hudak, « Building domain-specific embedded languages », {{Article}} : paramètre « périodique » manquant, vol. 28, no 4,‎ (DOI 10.1145/242224.242477, lire en ligne) Sarah.tiir (d) 12 novembre 2011 à 16:28 (CET)

Utilisation d'un langage général comme DSL[modifier le code]

(en) ALEXANDER FELFERNIG, FRIEDRICH GERHARD E. et JANNACH DIETMAR, « UML AS DOMAIN SPECIFIC LANGUAGE FOR THE CONSTRUCTION OF KNOWLEDGE-BASED CONFIGURATION SYSTEMS », International Journal of Software Engineering and Knowledge Engineering, vol. 10, no 4,‎ , p. 449–469 (lire en ligne)

Vrac[modifier le code]

«A domain-specific language (DSL) provides a notation tailored towards an application domain and is based on the relevant concepts and features of that domain.» (p1)

«A prerequisite for the design of a DSL is a detailed anal- ysis and structuring of the application domain.» (p1)

«We propose the Feature Description Language (FDL), a textual language to describe features.» (p1)

(en) Arie van Deursen et Paul Klint, « Domain-Specific Language Design Requires Feature Descriptions », Journal of Computing and Information Technology,‎ , p. 1-17 (lire en ligne)

Utilité des DSL[modifier le code]

Vu dans l'abstract :

  • Il y a une définition assez intéressante des DSL.
  • Il y a aussi quelques points sur la documentation (souvent pauvre) des DSL.
  • Des pistes pour construire des langages DSL (utile pour l'article ?)
    il me semble qu'une description technologique de la mise en oeuvre d'un DSL serait en effet la bienvenue. Gilles.Grimaud (d) 25 octobre 2011 à 11:13 (CEST)

Aminetiir (d) 24 octobre 2011 à 21:34 (CEST)

(en) Marjan Mernik, Jan Heering et Anthony M. Sloane, « When and how to develop domain-specific languages », ACM Computing Surveys, vol. 37, no 4,‎ , p. 1 (DOI 10.1145/1118890.1118892, lire en ligne)

Les design patterns des DSL (8 principaux)[modifier le code]

La réalisation de langages dédiés (DSL) diffère de manière fondamentale de celle des langages de programmation traditionnels. Nous décrivons huit motifs récurrents que nous avons identifiés comme étant utilisés pour la conception et la mise en œuvre DSL.

L'article ci dessous est soit payant, soit accessible directement sur le site de l'auteur.


Aminetiir (d) 24 octobre 2011 à 21:43 (CEST)


(en) Diomidis Spinellis, « Notable Design Patterns for Domain-Specific Languages », Journal of Systems and Software, vol. 56, no 1,‎ , p. 98-99 (DOI 10.1016/S0164-1212(00)00089-3, lire en ligne)

Patrons de conception pour les langages dédiés[modifier le code]

1- Les patterns de Spinellis propose huit design patterns pour les DSLs.

(en) Diomidis Spinellis, « Notable design patterns for domain-specific languages », Journal of Systems and Software, vol. 56, no 1,‎ , p. 3 (DOI 10.1016/S0164-1212(00)00089-3, lire en ligne)

Sarah.tiir (d) 10 novembre 2011 à 10:24 (CET)

Les design patterns, peuvent être de trois types différents :

  • Structurels qui s’intéressent aux intéractions entre le DSL et les autres langages (langages embarqués (piggyback), front-end).
  • Comportementaux qui s’intéressent à la structure globale d’un système faisant intervenir un ou plusieurs DSLs (pipeline),
  • Créationnels qui décrivent la conception du DSL (traitement lexical, représentation de structures de données, transformation source à source, extension de langage,spécialisation de langage).


(en) Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides, « Design Patterns: Elements of Reusable Object-Oriented Software », livre,‎ (lire en ligne)

Sarah.tiir (d) 10 novembre 2011 à 11:00 (CET)

Les patterns de Sloane, chacune des phases de développement d’un DSL est présentée : de la décision (Pourquoi ?) à l’implémentation (Comment ?). L’idée de cette approche est d’offrir des conseils pour les développeurs de DSLs et non d’offrir une taxinomie des DSLs comme celui de Spinellis

(en) Marjan Mernik, Jan Heering et Anthony M. Sloane, « When and how to develop domain-specific languages », {{Article}} : paramètre « périodique » manquant, vol. 37, no 4,‎ , p. 316-344 (DOI 10.1145/1118890.1118892, lire en ligne)

Question relative au DSL[modifier le code]

Qu'est ce qu'un DSL ?

Est ce qu'une librairie d'un langage non dédié, spécifique à un domaine d'application est considérée comme un DSL ? NON sans preuve (Gilles G parce qu'il parle pas anglais). Clement.mondon (d) 25 octobre 2011 à 09:27 (CEST) Aminetiir (d) 25 octobre 2011 à 08:45 (CEST)

Avantages et inconvénients[modifier le code]

Outre ces bénéfices, les DSL ont démontré également un potentiel intéressant en termes de productivité, de réutilisabilité et de fiabilité.

(en) Juha-Pekka Tolvanen et Steven Kelly, « Integrating models with domain-specific modeling languages », dans SIGPLAN., 2008, p. 448 [texte intégral, lien DOI]

Inconvénients[modifier le code]

Au niveau de la performance, les programmes développés dans des DSL utilisent habituellement moins efficacement le temps processeur, étant à un plus bas niveau d'abstraction et souvent interprétés, par rapport aux langage généralistes disposant la plupart du temps de compilateurs optimisants ou de machines virtuelles très performantes, comme la machine HotSpot dans le cas de Java.

(en) Wikipedia, « Domain-specific language », SIGPLAN Not., {{Article}} : paramètre « date » manquant (lire en ligne)

Sarah.tiir (d) 26 octobre 2011 à 08:38 (CEST)

inconvénients interne[modifier le code]

inconvénients externe[modifier le code]

Avantages[modifier le code]

Programmes DSL sont concis, auto-documenté dans une large mesure, et peuvent être réutilisés à des fins différentes[1]

Avantages DSL interne[modifier le code]

L’avantage majeur de cette approche est qu’elle permet de profiter de l’infrastructure, des caractéristiques et des outils de développement du langage hôte. Ainsi, le développeur n’a pas à définir une grammaire ni à créer les outils de support pour son DSL.


(en) Paul Hudak, « Building domain-specific embedded languages », {{Article}} : paramètre « périodique » manquant, vol. 28, no 4,‎ (DOI 10.1145/242224.242477, lire en ligne)

Sarah.tiir (d) 12 novembre 2011 à 16:34 (CET)

Avantage DSL externe[modifier le code]

  • Dans un DSL externe, la syntaxe du langage pourra représenter tout concept qu'il sera souhaitable d'utiliser avec le domaine ciblé, permettant d'exprimer pleinement ce dernier en utilisant les termes et symboles qui lui sont propres.
  • Le langage n'étant pas lié à un langage hôte, il ne devrait pas souffrir de biais de mise en œuvre ou de compromis liés à l'environnement dans lequel il sera intégré, notamment au niveau de la syntaxe ou de la plateforme cible.

(en) Mark Strembeck et Uwe Zdun, « An approach for the systematic development of domain specifie languages », Software: Practice and Experience, vol. 39,‎ , p. 15 (ISSN 2153-1292[à vérifier : ISSN invalide], DOI 10.1002/spe.v39:15, lire en ligne)


Sarah.tiir (d) 8 novembre 2011 à 09:16 (CET)

Proposition de plan[modifier le code]

* Définition/Analogie/Origine
* Historique &| Evolution
       -> galère
* Usage ou est ce qu'on en est ?(domaine d'application actuel principaux, les langage les plus utilisés ect...)
* Exemple
  * Construction
  * Pattern
* Implications/Avantages/Inconvénient

Lien INRIA sur l'équipe compose[modifier le code]

http://raweb.inria.fr/rapportsactivite/RA2002/compose/uid28.html

Liens externes[modifier le code]

http://pagesperso-systeme.lip6.fr/Gilles.Muller/papers.html#DSL

Notes[modifier le code]

Références[modifier le code]

Bibliographie[modifier le code]

  • (en) Arie van Deursen, Paul Klint et Joost Visser, « Domain-specific languages: an annotated bibliography », SIGPLAN Not., vol. 35, no 6,‎ , p. 26-36 (DOI 10.1145/352029.352035, lire en ligne)


A propos des références[modifier le code]

Bonjour,

Aprés une rapide relecture, j'ai placé quelques petites {{refnec}} pour vous demandez de précisez vos sources, par-ci, par-là.

En général, vous faites un bon usage des sources et du modèle {{harvsp}} à ceci prés que vous pointez le prénom et le nom du premier auteur, alors qu'il ne faut mettre que le nom du premier auteur. Merci de corriger ça.

Jetez un coup d'oeil, aussi, au début de la section Historique, j'y ai laissé une remarque en commentaire.

Bonne contribution,

Gilles.Grimaud (d) 17 novembre 2011 à 16:41 (CET) -

Bonjour, c'est corrigé :) Aminetiir (d) 19 novembre 2011 à 00:08 (CET)

Relecture du 20/11/2011[modifier le code]

Bonsoir,

Je vous fait un rapide retour, au fil de ma relecture de l'article tel qu'il est au 20/11/2011.

section : Analogie[modifier le code]

En l'état, cette section me pose problème. Soit il s'agit de faire une analogie entre les langages dédiés dans la vie courante, et les langages dédiés en informatique, auquel cas la section manque son objectif (en l'état elle ne fait aucune analogie). Soit il s'agit de traiter des langages dédiés qui ne sont pas du domaine de l'informatique (les appelles-ton langage dédiés ?) auquel cas, le titre est mal choisi... A corriger donc.

section : Définition[modifier le code]

  • Vous faites un lien direct, depuis le texte, vers la homepage de Gilles Muller. C'est inapproprié, pointez sa page en lien externe.
Corrigé :) Aminetiir (d) 20 novembre 2011 à 11:02 (CET)
  • La seconde phrase de la définition que vous rapportez de "Gilles Muller" est mal formulée. Soyez précis.
  • Vous avez écrit : « Il existe 2 types de langages dédiés [...] ». Dans ce cas, préférez l'écriture de "2" en toutes lettres...
Corrigé Aminetiir (d) 20 novembre 2011 à 10:44 (CET)
  • Le 3ème paragraphe utilise une notion que vous n'avez pas introduit, celle de "langage hôte". Par ailleurs, puisque vous êtes dans une section "définition" je vous encourage à être explicite et donc a écrire une phrase tel que : « Les langages dédiés internes (aussi appelés langages enchâssés, ou langages embarqués) sont destinés à être utilisés au sein de programmes sources exprimés, par ailleurs, dans un autre langage, alors qualifié de langage hôte. Les langages dédiés externes ne sont pas destinés à l'expression de sources ainsi enchâssés sont appelés des langages dédiés externes. Les programmes sources qu'ils permettent d'exprimer sont autonomes est indépendant de tout autre langage de programmation. »
J'ai remplacé ma phrase par la votre qui est bien mieux formulé effectivemen et corrigé les fautes :)Aminetiir (d) 20 novembre 2011 à 10:52 (CET)
  • Enfin, j'aurais privilégié, dans cette section l'utilisation du modèle {{Citation bloc}} en formulant chacun des paragraphes sous la forme :

Selon XXXX : {{Citation bloc|Un langage dédié est un langage ...}}<ref>XXX|19YY|p=ZZZ|id=XXXYY</ref>

en reprenant scrupuleusement la définition de XXX.

Le problème, c'est que les publications sont anglais et que l'on ne fait que traduire. Ce n'est donc pas la définitions du G Muller mais une simple traduction/interprétation. Après si ça ne dérange pas, je peux faire ça sous forme de citation mais je trouve que ce n'est pas rapporter exactement sa parole.Aminetiir (d) 20 novembre 2011 à 10:52 (CET)

Section : Exemples de langages dédiés[modifier le code]

Je pense que la section "Construction d'un DSL" devrait précéder cette section (et suivre la section "Définition". Pour en fixer les idées.

Par ailleurs, en l'état, les langages pris en exemple sont insuffisamment développés. le lecteur ne peut pas comprendre "en quoi ils sont dédiés" et l'impact que cela à sur leurs grammaire par exemple. Le lecteur devrait voir, dans chacun de ces langages quelque chose qui illustre la définition et/ou la méthodologie de construction que vous avez développé précédemment.

Sauf source contraire, Fortran est sans doute l'un des premier langages dédiés. Cela devrait être dit.

Les langages que vous présentez pourraient être ordonnés par date de création...

Section : Constructions d'un langage DSL[modifier le code]

Vous dites : « La réalisation de langages dédiés (DSL) diffère de manière fondamentale de celle des langages de programmation traditionnels. » Mais vous ne développer pas d'avantage ce point et vous parlez ensuite des difficultés à concevoir des DSLs. Si la réalisation des DSL diffère de manière fondamentale de celle des langages de programmation traditionnels, le lecteur est en droit d'apprendre "en quoi elle différe" !

Ah bon ? le lecteur a des droits ? ;) Aminetiir (d) 24 novembre 2011 à 19:37 (CET)

Cela mérite bien un paragraphe, sur le champ, pour en donner une premiere intuition.

Le paragraphe suivant pourra developper ce qui semble être le second point de votre propos : "Concevoir un DSL est une entreprise délicate"...

Section : Pattern[modifier le code]

Cette section est incompréhensible. Que sont les "Les motifs récurrents de Spinellis", en qui constitut-il une "approche" ? Quel sont les "8 motifs récurrents utilisés" ? (Ecrirez huit en toute lettre...) Que sont les "langages embarqués (piggyback)" ? et les "front-end" ?

Pensez aussi faire des renvois des notions que vous utilisez vers d'autres articles wikipédia. Vous ne placer pas assez de liens internes à wikipédia (via des [[Page wikipédia|Notion]]. Il vous faudra aussi trouver quelques illustrations, images et encarts.

Voila pour ma première relecture. Bravo, vous êtes au cœur du sujet. Bonne contribution.

Gilles.Grimaud (d) 20 novembre 2011 à 01:26 (CET)

Je pense réécrire cette partie. Le problème c'est que décrire les 8 patterns dans le détail peut devenir très lourd. Il existe effectivement des illustrations dans la publi mais ai-je le droit de les reprendre ? Aminetiir (d) 20 novembre 2011 à 11:25 (CET)
Bonsoir. Cette section pose effectivement un problème. Voir [pages 34 et 35 de cette thèse]. Soit il s'agit dans les deux cas d'une traduction d'un passage initialement rédigé en anglais, soit le passage de la thèse a été traduit en anglais puis retraduit en français. Il n'est pas possible de reprendre des passages aussi larges.Deuxtroy (d) 1 décembre 2011 à 00:45 (CET)
Pouvez vous me citer les phrases qui posent problèmes car la partie a été réécrite et je viens de vérifier rapidement et je n'ai rien vu. Si vous parlez de ce qu'il y a dans le page de discussion, alors effectivement, c’est un simple copier/coller non destiné à faire partie de l'article. C'était juste des pistes de départ qui disparaîtront une fois l'article finalisé. Aminetiir (d) 1 décembre 2011 à 12:41 (CET)
Toute la partie "patterns" de l'article sur WP avec le passage patterns sur les pages citées. Je crains qu'il ne faille envisager une suppression de cette partie et une purge de l'historique.
Il n'y a aucun plagiat, tout a été refait il y a quelques semaines. Les patterns sont présentés ici de manière objective et j'ai fais un diff avec la thèse que vous m'avez donné et il n'y a rien de similaire. Nous sommes tout à fait disposé a réécrire quelque chose ou a le supprimer s'il y a vraiment un problème, mais il semblerait que ce ne soit pas le cas. Le fait de citer un pattern et de le décrire ne fait pas de cela un plagiat. Ce sont des techniques mise en œuvre dans le domaine informatique. D'ailleurs la thèse que vous avancez pour parler de plagiat n'est pas notre source. Notre source est un article de Spinnelis en anglais qui est cité dans les sources.Aminetiir (d) 2 décembre 2011 à 09:13 (CET)
Je n'ai parlé de "plagiat", qui aurait introduit une suspicion à votre encontre mais d'un problème, en l'occurrence de respect des droits d'auteur. Sur la source utilisée, j'ai bien précisé que j"ignorais si votre source était le texte en français retraduit en anglais, ou le texte anglais d'origine. Vu les dates, c'est le texte anglais qui est l'original. Or il est affublé d'un copyright. J'ignore si la pratique courante que vous décrivez en informatique est légale. La question est de savoir si ce passage un peu long relève du droit de citation ou du copyright. Mon analyse était qu'il s'agissait d'une violation de copyright, mais je peux me tromper. Je vous propose de poser la question sur bistro. (En ce qui concerne le diff, l'absence de similarités est peut-être du à des problèmes de traduction, mais la structure est la même). Deuxtroy (d) 2 décembre 2011 à 11:52 (CET)
Ok Désolé pour le plagiat :). En faite, il est classique dans le domaine informatique de décrire les patterns. il suffit d'aller d'ailleurs voir l'article complet sur les design pattern pour le constater. Concernant les copyright, il n'existe que sur le site de l'acm. Il existe une version sans copyright sur le site de l'auteur (voir texte intégral). Cela dit, il s'agit simplement de présenter des techniques de mise en œuvre d'un langage dédié, il s'agit d'une pratique très courante en informatique. De plus, un pattern n'est pas forcement une "technique" que la personne a inventé mais est aussi une constatation de ce qui se fait le plus souvent pour mettre en place tel ou tel concept.Aminetiir (d) 2 décembre 2011 à 22:54 (CET)

Proposé par : Deuxtroy (d) 8 décembre 2011 à 20:20 (CET) ?

Raisons de la demande de vérification[modifier le code]

À remplir par le proposant

Discussions et commentaires[modifier le code]

Instabilité[modifier le code]

J'ai procédé à la correction (pour la plus grosse partie) de ce texte, mais ce n'est pas satisfaisant, l'article étant en cours de rédaction/relecture sur le fond, et donc non stable. S'y ajoute un éventuel de copyvio abordé en PDD, dont on ne saura s'il est résolu qu'à l'issue de la rédaction de l'article. En l'état, cela semble être du temps perdu que de continuer tant que des modifications ont lieu. Les raisons de le demande de révision n'étant pas identifiées, il faudrait plonger dans l'historique de l'évolution de l'article pour repérer le proposant et comprendre le besoinDeuxtroy (d) 8 décembre 2011 à 20:20 (CET)

Quelques Remarques[modifier le code]

L'article me semble scolastique, et mon expérience en la matière me suggère quelques remarques

  • la plupart des milliers de langages dédiés n'existent que le temps d'une thèse ; ceux qui perdurent sont en rapport avec une communauté professionnelle
    • qui ne veut pas s'encombrer de concepts inutiles
    • qui tient à ses conventions typographiques, son jargon (plutôt que celui des informaticiens ou des mathématiciens), ses stratégies, ses méthodes standards (langage pour la spectrographie nucléaire, la simulation urbaine, la commande d'installations musicales, la programmation de banc d'essais de réacteurs...)
    • qui peut désirer une certaine confidentialité garantie d'efficacité, d'avance technologique... et de secret (Mortran chez Tektronix, Algol 6500 chez Burroughs, Clascal chez Apple, Atlas au GIFAS, LIS chez CII, LTRV3...);
  • une certaine CAO de ces langages est possible, et facilite un développement rapide si la discussion des spécifications s'appuie sur un prototypage exploitant la méta-compilation, avec des outils dans la lignée par exemple des Compiler Design Language(s) de C.H.A. Koster (Nimègue) ou du Langage d'Ecriture de Traducteurs de J.Beney, plus intégrés que les outils unix -- afin d'obtenir, comme demandait cet industriel, "un langage stable mais vivant"
  • les langages dédiés ont beaucoup d'avenir s'ils facilitent la déprogrammation, l'utilisateur exprimant le quoi, et une compilation intelligente s'occupant du comment ; le problème connait alors 2 difficultés : la base de connaissances "corpo" que doit utiliser le compilateur pour le traitement pragmatique, et la bibliothèque au service de l'exécutif ; mais c'est une des voies vers un vieux rêve : l'utilisateur exprime ses besoins dans sa langue voire son jargon, le système se débrouille.

--Lf69100 (discuter) 23 mai 2015 à 01:24 (CEST)