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

  1. #1
    Expert éminent sénior
    Avatar de Katleen Erna
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1 547
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 547
    Points : 76 188
    Points
    76 188
    Par défaut Pourquoi programmer en temps continu ? Quels sont les bénéfices et utilités de cette technique ?
    Pourquoi programmer en temps continu ? Quels sont les bénéfices et utilités de cette technique ?

    Selon le blogueur américain Elliott Conal, le functional reactive programming (FRP) est régi par deux grands principes : le design dénotationnel et le temps continu (présent depuis TBAG, le prédécesseur d'ActiveVRML).

    Ce passionné de programmation a reçu ces derniers jours un courrier d'un internaute qui indiquait "ne pas avoir besoin" de temps continu, et "ne pas comprendre pourquoi l'absence de flux continus est un problème" puisqu'au final, "tous les flux sont discrets".

    Conal lui a répondu sous la forme d'une lettre ouverte publiée sur son blog où il explique que la programmation se joue plus "au milieu qu'à la fin, au niveau de la composition qu'à celui de la sortie".

    Selon lui, la continuité dans l'espace et le temps est meilleure pour la modularité, laissant la discrétion pour l'étape de sortie.

    Un autre nom pour "continu" est "résolution - indépendance". C'est ainsi que des données peuvent être transformées en espace et en temps facilement, et en "évitant la propagation et l'amplification d'artéfacts".

    Il donne plusieurs exemples :

    - Le type de données dans une application 3D n'est finalement composée que de pixels, alors quel manque y-a-t-il dans une API pixel-oriented qui ne fait pas appel à des notions continues de haut niveau comme des triangles ou des surfaces courbes ? Il serait possible de dire qu'à la "fin", tout type de donnée n'est que phosphore ou impulsions électriques.

    - La programmation impérative contre la programmation fonctionnelle. Cette dernière excelle en composabilité.

    - Les structures de données infinies contre celles finies. On n'accède à une quantité de données finies qu'à la "fin". Cependant, autoriser des structures infinies "au milieu" permet de style de programmation bien plus composable.

    Qu'en pensez-vous ?

    Selon vous, est-il plus facile d'écrire un programme avec des flux continus ou bien des flux discrets ?

    Les flux continus sont-ils réellement continus ?

    Source : Le blog de Conal

  2. #2
    Membre éprouvé Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Points : 976
    Points
    976
    Par défaut
    J'ai absolument rien compris
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

  3. #3
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Points : 843
    Points
    843
    Par défaut
    Citation Envoyé par jmnicolas Voir le message
    J'ai absolument rien compris
    J'osais pas le dire

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Points : 134
    Points
    134
    Par défaut
    Pas mieux

  5. #5
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    Le contraire de la programmation en temps continu, c'est la programmation en temps alternatif non ?
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  6. #6
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 189
    Points : 268
    Points
    268
    Par défaut
    Je crois que c'est plutôt une histoire de données discrètes ou continues.

    Et je crois qu'il dit juste qu'il peut y avoir une accumulation d'erreurs avec des calculs sur des données discrètes, ce que l'on sait depuis déjà bien longtemps puisque l'on quantifie en général les erreurs commises

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Points : 134
    Points
    134
    Par défaut
    De bonne volonté quand même, j'ai essayé de chercher ça sur google, histoire d'y voir plus clair, et le premier résultat pour "programmation en temps continu" est cette page même. C'est même le seul résultat cohérent

  8. #8
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut
    Rien compris non plus, Kathleen, tu devrais demander à un développeur de te relire avant de publier

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 29
    Points : 32
    Points
    32
    Par défaut
    Un peu précoce, pour un 1er avril...
    un fondu qui travaillait qu'à la dynamite

  10. #10
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2002
    Messages : 223
    Points : 461
    Points
    461
    Par défaut
    personnellement, j'aime, j'adore et je défend la simplicité
    En programmation encore plus que dans d'autre domaine !

    Autant je suis pour des approches agiles, même simplifiées style XP, avec un brin de CMMi pour rester dans les clous, autant là ... à part du blabla, je ne vois pas en quoi ça va changer la façon dont je pisse des exigences et du code

    Mais je suis peut-être trop ... terre-à-terre.
    Delphi + JavaDoc = DelphiCodeToDoc
    http://dephicodetodoc.sourceforge.net/

    TridenT Dev blog
    http://tridentjob.blogspot.fr/

  11. #11
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    Citation Envoyé par Jack Sparrow Voir le message
    Je crois que c'est plutôt une histoire de données discrètes ou continues.

    Et je crois qu'il dit juste qu'il peut y avoir une accumulation d'erreurs avec des calculs sur des données discrètes, ce que l'on sait depuis déjà bien longtemps puisque l'on quantifie en général les erreurs commises
    Aaaahhhhh !!! J'y vois plus clair.
    Heureusement que j'ai quelques souvenir de mes cours de traitement du signal sinon je ne saurais pas ce que veut dire "données discrètes".

    Pour tenter une explication, si je me souvient bien, un signal discret, c'est un signal échantillonné à une certaine fréquence. C'est ce qui permet de transformer de l'analogique en numérique par exemple.
    Sur un CD audio, le signal est échantillonné à 44100 Hz. Cela signifie qu'il est divisé en 44100 échantillons par seconde : un petit article Wikipédia pour comprendre : http://fr.wikipedia.org/wiki/%C3%89c...e_%28signal%29

    Voilà, de même pour une image, celle-ci est échantillonnée selon sa résolution. Par exemple, 800x600 signifie que l'image a été divisée en 480 000 pixels.
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  12. #12
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Points : 60
    Points
    60
    Par défaut
    Mouais...
    Ca m'a l'air intérssant mais quelques éclaircissements ne feraient pas de mal

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 14
    Points
    14
    Par défaut j'ai rien pigé
    C'est peut être fait exprès pour qu'on comprenne rien la dedans.

  14. #14
    Membre expérimenté Avatar de s4mk1ng
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2008
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2008
    Messages : 535
    Points : 1 302
    Points
    1 302
    Par défaut
    euh bah c'est pas faux...
    Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

  15. #15
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    On va essayer de donner quelques pistes pour éclairer les profanes...


    clairement ce sujet est d'un haut niveau académique et il semble clair que :
    1. la programmation fonctionnelle est méconnue du développeur lambda, malgré l'apparition de notions fonctionnelles dans des langages mainstream comme C# (d'une certaine manière les délégates, Func<T,TReturn>, Linq, etc). pour plus d'infos venez nous voir sur le forum dédié
    2. la programmation réactive est encore moins connue (même pour des étudiants mangeant du Caml depuis leur plus tendre enfance ; il n'y a même pas de page francophone sur wikipedia à ce sujet imaginez ). Selon moi, les langages les plus connus sont Lustre, Esterel et Erlang... certains ont peut-être même entendu parler de Lucid Synchron (petite pub pas méchante)


    à Kathleen d'avoir tenté d'élargir un peu l'horizon des news



    l'auteur du billet d'origine semble TRES Functional Programming As an End, Not a Mean, comme beaucoup d'académiciens de ce milieu (ce n'est pas un jugement de valeur, mais juste un ressenti )
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2014, 23h17
  2. Quels sont les objectifs de la programmation en Assembleur ?
    Par rajadiagne dans le forum Assembleur
    Réponses: 6
    Dernier message: 26/12/2009, 16h57
  3. Quels sont les logiciels de programmation ?
    Par rosenoir dans le forum VHDL
    Réponses: 0
    Dernier message: 11/08/2009, 23h21
  4. Quels sont les moyens pour encoder plusieurs éléments en même temps
    Par finalfx dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/01/2007, 01h00
  5. quels sont les possibilitées???
    Par lolo-d dans le forum OpenGL
    Réponses: 11
    Dernier message: 16/05/2002, 01h41

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