IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages Discussion :

Microsoft met sous licence open source son langage de programmation P


Sujet :

Langages

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    1 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 089
    Points : 26 554
    Points
    26 554
    Par défaut Microsoft met sous licence open source son langage de programmation P
    Microsoft met sous licence open source son langage de programmation P
    utilisé pour développer des programmes selon le modèle de machines à états

    P est un langage de programmation destiné à écrire des programmes pour les systèmes asynchrones. Il a été mis en œuvre par Microsoft afin de fournir des primitives pour capturer les protocoles de communication parmi les composants des systèmes asynchrones.

    Généralement, pour éviter des erreurs en concevant des programmes pour les systèmes asynchrones, les développeurs procèdent par étape. Dans un premier temps, ils conçoivent le code asynchrone en utilisant des annotations pour le système à états. Pour rappel, un système ou une machine à états peut être défini comme une machine exécutant une suite d’instructions par étape dans un intervalle donné et met à jour son état en fonction des instructions reçues ou émises.

    Après avoir conçu le code, les développeurs utilisent des outils de modélisation et de vérification pour s’assurer que tous les aspects des différentes étapes des machines à états sont couverts. Enfin, ils se tournent vers le langage de programmation C pour mettre en œuvre la conception.

    Cette méthode s’avère longue et fastidieuse et est sujette à des bogues lorsque les états du système évoluent. Aussi, pour se faciliter la tâche et aller beaucoup plus vite dans le développement de leurs projets pour les systèmes asynchrones, les ingénieurs chez Microsoft ont développé le langage de programmation P. C’est avec ce langage que les ingénieurs de Microsoft sont parvenus à créer la pile du pilote gérant les périphériques USB sur Windows 8.

    Il permet aux développeurs de représenter le système comme un ensemble de machines à états qui interagissent et communiquent entre eux en utilisant des évènements. Et à chaque modification du système, P sera en mesure de vérifier les différents états du système et de gérer les différents évènements reçus par chaque état afin de détecter les violations des règles. Il faut noter qu’en plus d’être utilisé comme un outil de modélisation, P peut également être utilisé pour compiler automatiquement la modélisation du système qui a été conçue.

    P est recommandé dans les environnements des systèmes en réseau, des systèmes embarqués ainsi que des systèmes distribués. En l’utilisant pour concevoir et vérifier la pile du pilote USB sur Windows 8, les ingénieurs estiment qu’ils sont parvenus à concevoir un pilote plus fiable qui s’exécute mieux que son prédécesseur qui n’a pas été conçu avec P. En plus, ces derniers affirment qu’ils ont plus confiance en la robustesse de son design due aux abstractions du langage et à la vérification fournie par P.

    Aussi, vu les avantages qu’offre le langage de programmation P tant au niveau de la conception, de la modélisation, qu’au niveau de la vérification, Microsoft a mis sous licence open source ce langage de programmation afin de favoriser son évolution et son adoption.

    P est multi-plate-forme et peut être utilisé pour concevoir des programmes sur Windows, Linux et Mac OS. Pour ceux qui souhaitent concevoir des frameworks afin de faciliter la tâche aux développeurs sur les systèmes Linux et Mac OS, il va falloir utiliser la version 4.5 ou supérieure de Mono (la plateforme de développement .Net basée sur la CLI) et la version 2.8 de CMake (le moteur de génération des fichiers). Pour ce qui concerne Windows, il va falloir se munir de Visual Studio et de la version 4.5 du Framework.Net.

    P est distribué sous licence MIT ce qui signifie que les utilisateurs peuvent s’en servir aussi bien dans leurs projets personnels que pour la redistribution ou la commercialisation.

    Source : GitHub

    Et vous ?

    Que pensez-vous de ce langage de programmation ?

    Est-ce un langage de trop ? Ou estimez-vous qu’il réponde à un besoin encore insatisfait ?

    Voir aussi

    F# s’ouvre à la communauté open source, les bénévoles pourront participer au développement du langage de programmation fonctionnelle de Microsoft

    La Rubrique .Net, Forum langages DotNet, Cours et tutoriels .Net, FAQ .Net
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre actif
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    70
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 70
    Points : 204
    Points
    204
    Par défaut
    à essayer !
    (je vais lire la doc pour voir de quoi il retourne )

  3. #3
    Expert confirmé Avatar de sergio_is_back
    Homme Profil pro
    Responsable informatique, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Responsable informatique, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 084
    Points : 5 604
    Points
    5 604
    Par défaut Machine à etat = Grafcet
    Une machine a état n'est rien d'autre qu'un automate programmé en langage grafcet.

    Dans la plupart des langage existants il est possible de coder des classes qui reproduisent ce fonctionnement mais c'est plus ou moins aisé et plus ou moins efficace selon la plateforme et le langage.

    Maintenant c'est plutôt intéressant que l'on commence à s'y pencher. Dans l'informatique industrielle la frontière est sous ténue entre l'automate et le PC et le besoin de machines à états se
    fait souvent sentir

    Dommage qu'il faille encore s'appuyer sur un framework .NET j'aime pas empiler les couches par dessus les couches

    A voir

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2007
    Messages : 884
    Points : 2 018
    Points
    2 018
    Par défaut
    Cela me semble très intéressant car a ma connaissance, dans ce domaine très restreint, il n'existe pas grand chose. Je ne connais que le Grafcet mais qui est plus graphique et moins puissant à ma connaissance (au sens ou il est moins interfaçable avec du C/C++).
    Il n'a donc pas de concurrent direct contrairement au Go ou Rust, il y a là une vrai innovation et non seulement une recherche plus théorique qu'autre chose...
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur C++
    Inscrit en
    Octobre 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur C++

    Informations forums :
    Inscription : Octobre 2008
    Messages : 242
    Points : 706
    Points
    706
    Par défaut
    Encore un nouveau langage...

    C#, VB, F#, P, TypeScript, ...

  6. #6
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Si vous jetez un coup d'oeil à P, vous verrez qu'il ne s'agit pas d'un langage comme les autres, c'est un langage qui en quelque sorte fait concurrence aux outils graphiques tels que PL7 de Schneider ou au STEP 7 de Siemens.

    Concernant le langage, je me demande si C# avec une librairie "P" au lieu d'un langage P n'aurait pas été suffisant (avec un plugin qui interdit l'utilisation des fonctionnalités inutiles de C# pour ce type de plateforme).

    Concernant son adoption j'ai un doute, bien qu'il soit open source, l'industrie est ancrée sur les solutions propriétaires, c'est comme demander aux grandes entreprises qui utilisent du Oracle ou DB2 d'utiliser une techno libre, mais pourquoi pas
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  7. #7
    Membre actif
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    70
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 70
    Points : 204
    Points
    204
    Par défaut
    P et C#, dans les infos que j'ai survolé, il parle de P# comme une extension de C#

    https://www.microsoft.com/en-us/rese...ogramming-p-p/
    P# provides P-style modeling and specification techniques not as a separate language but as an extension to C#, a language that is already familiar to many programmers. In contrast to P, the approach in P# is minimal syntactic extension and maximal use of libraries to deliver modeling, specification, and testing capabilities. P# can be used both to write new services and to test existing services.

  8. #8
    Candidat au Club
    Homme Profil pro
    Responsable Prohet Automation
    Inscrit en
    Octobre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Prohet Automation
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Alternative
    Bonjour
    Pour ce genre d'application ( Machine d'état - Graphcet - Automate - PLC etc), j'utilise avec succès depuis de nombreuses années un logiciel appelé Twincat.
    La dernière version ( TC3) est disponible gratuitement et l'édition se fait dans Visual Studio ( ou un Shell de Visual Studio ). Voir le site de la firme Beckhoff pour plus d'info

  9. #9
    Membre expérimenté

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 1 347
    Points
    1 347
    Billets dans le blog
    1
    Par défaut
    bonjour,
    personne ne parle du websocket , dont la validation par l'ensemble des acteurs majeurs (Microsoft , GNU, Mozilla, .... IBM, .... ) en début d'année 2016. d'ailleurs au passage je signal que libwebsocket pour "c" & "c++" fonctionne à merveille et réponde parfaitement pour faire du transactionnel . et rend synchrone sans être gourmand en ressource .
    je ne vois pas pourquoi rajouter encore et encore un autre langage. on en fini plus après tout framework pour travailler avec internet ... etc pour faire du web personnellement je fais du C++ , pour la sécurité, pour la rapidité, une fois les lib de fond écrites votre L4G est près .... j'ai beaucoup de mal a comprendre les contentieux divers envers le C & C++, je peux comprendre que d'autre langage existe mais pourquoi allez ailleurs du moment que je peux faire mes courses dans mon marché. Quand aux spécifiques rien ne vaux un peu d'huile de coude et d'écrire quelque chose qui colle a la peau d'un besoin pour le rendre performant.
    maintenant après avoir lu je ne suis pas convaincu d'un réel apport. d’où ma réponse. Bon je vous l'accorde en ce moment je suis préocupé par le temps réel qui dit temps réel dit communication voir ce que j'écris est ce que je vois vis versa pareille pour la voix etc... ainsi que lock record commit rollback etc...
    peut être suis-je à coté de la plaque ???
    @bientôt

  10. #10
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 455
    Points : 197 767
    Points
    197 767
    Par défaut P transforme le développement de l'infrastructure cloud
    Pour Microsoft, son langage de programmation P, qui est dédié à la programmation asynchrone,
    transforme le développement de l'infrastructure cloud

    En 2012, Microsoft a présenté P, un langage de programmation pour écrire du code asynchrone piloté par les événements : Microsoft avait expliqué que P permet au développeur de spécifier le système comme une collection de machines d'état qui interagissent, qui communiquent entre elles à l'aide d'événements. « P unifie la modélisation et la programmation en une activité pour le développeur. Non seulement un programme P peut être compilé en code exécutable, mais il peut également être vérifié à l'aide de la vérification du modèle », assurait l’éditeur.

    L’année dernière, l’américain a décidé de le rendre disponible en open source sous licence MIT, ce qui signifie que les utilisateurs peuvent s’en servir aussi bien dans leurs projets personnels que pour la redistribution ou la commercialisation. L’objectif est d’en favoriser l’évolution et l’adoption.

    P est recommandé dans les environnements des systèmes en réseau, des systèmes embarqués ainsi que des systèmes distribués. En l’utilisant pour concevoir et vérifier la pile du pilote USB sur Windows 8, les ingénieurs estiment qu’ils sont parvenus à concevoir un pilote plus fiable qui s’exécute mieux que son prédécesseur qui n’a pas été conçu avec P. En plus, ces derniers affirment qu’ils ont plus confiance à la robustesse de son design due aux abstractions du langage et à la vérification fournie par P.

    Dans un billet de blog, Shaz Qadeer, Principal Researcher chez Microsoft, a expliqué que « La complexité des applications logicielles émergentes nécessite de nouvelles approches pour la compréhension, puis la construction, le test et le débogage de ces systèmes efficacement. Le logiciel d'aujourd'hui utilise des ressources cloud, est souvent intégré dans des appareils dans le monde physique et utilise des techniques d'intelligence artificielle. Ces trois facteurs rendent les systèmes logiciels d'aujourd'hui un ordre de grandeur plus difficile à développer ».

    Il a rappelé qu’il n’est pas rare que ces applications modernes présentent un asynchronisme, ce qui se produit lorsque, pour améliorer les performances, le demandeur d'une opération continue sans exiger l'achèvement de l'opération. Il voit en P la réponse à ce genre de défis.

    « P transforme le développement de l'infrastructure cloud dans Azure. Azure, comme d'autres fournisseurs de cloud, fait face au défi de Heisenbugs causé par des conditions de course inattendues et des défauts logiciels ou matériels. Ces bogues entraînent une perturbation des services en direct – un énorme problème pour les clients et les fournisseurs de services cloud », a indiqué Shaz. Il a assuré que P permet aux ingénieurs de modéliser précisément les interfaces asynchrones entre les composants d'un grand service Azure. Il permet également aux ingénieurs de découvrir et de déboguer des problèmes sur leur poste de travail qui, autrement, prendraient des mois et parfois même des années pour se manifester après déploiement du service.

    Une caractéristique importante de P, qui la rend particulièrement appropriée pour valider les services distribués tolérants aux pannes, est la possibilité d'effectuer un test de basculement approfondi, c'est-à-dire de valider que le service récupère et reprend son fonctionnement lorsqu'il survient un défaut inattendu. « Les retombées du message réseau et les défaillances individuelles de la machine d'état sont modélisées comme des événements. La modélisation d'un défaut en tant qu'événement dans P automatise entièrement l'injection de panne et permet de tester systématiquement le basculement sous un nombre énorme de commandes et de défauts d'événements, avec peu d'efforts du développeur », a assuré Shaz.

    Les capacités de test systématique dans P permettent d’effectuer des recherches en profondeur sur les choix induits par l'ordonnancement indéterminé des événements lancés simultanément. Cependant, ses capacités sont limitées en ce qui concerne la gestion de l'entrée de données explicite, en particulier lorsque cette entrée dépasse de grands domaines. Cette limitation rend difficile l'application de P à des domaines comme la robotique où une source importante de complexité est la prise de décision sous une entrée incertaine.

    télécharger P (GitHub)

    Source : Microsoft
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 223
    Points : 561
    Points
    561
    Par défaut

  12. #12
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Ca a l'air pas mal comme langage.
    Il génère du code C.

    A mon goût, dans la démo: un peu trop d'appels au monitoring de la batterie.
    Si la réponse vous a aidé, pensez à cliquer sur +1

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2016, 14h47
  2. Dropbox a mis Zulip sous licence open source, son application de chat récemment acquise
    Par Victor Vincent dans le forum Logiciels Libres & Open Source
    Réponses: 2
    Dernier message: 05/10/2015, 21h14
  3. Réponses: 1
    Dernier message: 07/08/2015, 21h46
  4. Réponses: 0
    Dernier message: 19/03/2015, 14h49
  5. Réponses: 3
    Dernier message: 26/12/2010, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo