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 de programmation Discussion :

langage pour convolution/déconvolution


Sujet :

Langages de programmation

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 65
    Points : 35
    Points
    35
    Par défaut langage pour convolution/déconvolution
    bonjour à tous!

    je vais avoir à developper un programme qui utilise principalement des produits de convolution et de déconvolution, et je suis en train de me poser la question du langage à utiliser. Ce programme doit etre portable, j'ai donc d'abord pensé à Java, mais il n'y a pas de classes mathématiques dédiées pour ces opérations! J'ai aussi pensé à Fortan qui est un langage fait pour des opérations mathématiques mais qui est particulièrement ancien!

    j'aimerais donc avoir votre avis sur le langage le plus approprié sachant que le programme doit :
    • etre portable sous windows, mac et unix
    • etre un minimum rapide
    • comprendre une interface graphique


    merci d'avance
    mobi
    mobi

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 160
    Points
    160
    Par défaut
    Pour beneficier de traveaux existants et avoir ainsi des libraires toute faite et déja testé des millions de fois il faudra chosir
    - Fortran (c'est un peu le champion du calcul scientifique)
    - C : Il fait tout ce petit langage
    - Pascal, Caml (sont aussi réputés pour ce genrs de tache mais ca va faire un bout de temps que je ne les ai pas approché)

    Apres tu poura toujours utiliser d'autres langages plus portables
    - Java
    - Python : Plus portable et plus acile a mettre en place ya pas

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    le problème que me pose Fortran est sa portabilité : je ne sais pas si c'est bien portable! Par contre, il doit, en effet, exister de nombreuses bibliothèques pour utiliser des produits de convolution sur des vecteurs.

    Par ailleurs, le problème que me pose java est ses performances mathématique! je n'ai pas trouvé de bibliothèques proposant de travailler sur des vecteurs!

    Alors, est-ce qu'il est possible d'interfacer du fortran avec du java? (python permet-il de faire des interfaces graphiques?) afin de combiner la puissance mathématique, la portabilité et une interface graphique?

    vos avis sont les bienvenus
    mobi
    mobi

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 160
    Points
    160
    Par défaut
    Donc j'ai retenu 3 question

    - Fortran + Portabilite : Il est si vieu que des compilo existent pour tous les OS du monde. Tu arrivera toujour a faire 3 version tux/win/mac en fortran.

    - Java + Math

    Mais c'est vrai que le java est pauvre en matiere de lib. mathematiques

    - Python + IHM : Python dispose de modules tel que tkinter qui permet de realiser facilement des ihm : des ihm portables bien evidament.

    il est aussi possible d'installer des modules suplementaires comme wxWidget pour faire des ihm encore plus evoluées.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Après quelques recherche, j'arrive a trois choix :
    • java :
      • portable
      • permet de faire une IHM
      • pas de bibliothèques mathématiques intégrées (donc convolution/déconvolution pas très efficace)
    • java + fortran
      • portable
      • permet de faire une IHM
      • nécessite d'interfacer du FORTRAN avec Java (se fait principalement en utilisant des fichiers d'entrée et de sortie)
      • utilisation de bibliothèques mathématiques FORTRAN efficaces
    • python
      • permet de faire des IHM
      • bibliothèques mathématiques existantes
      • portable
      • rapide(?) (Jython)


    le meilleur choix serait donc l'utilisation de Python!

    Par contre, quant est-il des vitesses d'exécution entre Python et Java?

    mobi
    mobi

  6. #6
    Membre chevronné
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    Bonjour,

    Si tu hésitais à prendre Java pour ses performances, oublie direct Python, ou en tout cas pas en unique langage. Tu peux te servir de Python pour interfacer tes appels aux fonctions Fortran je pense, je creuserais plutôt pas là ou sur ta deuxième piste. Ou alors c'est que les calculs demandés ne sont pas si complexes, et alors un bon coup de Python serait suffisant effectivement
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  7. #7
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    FORTRAN est bien, mais la partie portable du langage n'est pas toujours clairement comprise des programmeurs : il faut, en clair, rentrer son nez dans le jeu des normes.

    Un bon choix serait OCaml : un bon compromis à tous points de vue.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    bonjour,

    merci de vos réponses, je vais regarder ce que propose OCaml.

    mobi
    mobi

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 609
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 609
    Points : 17 915
    Points
    17 915
    Billets dans le blog
    2
    Par défaut
    bah en C ça marche il y a plein de biblo de maths (et déjà des convolutions/déconvols toutes faites (ou des sources directement (dans Graphics Gems par exemple).

    Et si on s'en tient à du calcul et aux biblos standards, c'est très portable..et rapide.. Et plus facilement interfaçable avec les langages d'IHM d'aujourdhui (VC++, GTK, etc.. y compris Python)... Le passage d'argument entre Fortran et un autre langage du style C C++ est un peu plus compliqué...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Le C++ serait le choix le plus logique pour sa capacité à offrir des bibliothèques mathématiques puissantes et performantes, avec surcharge des opérateurs, ce qui permet d'exprimer bon nombre d'opération de façon naturelle. La contrepartie, c'est les diverses chausses-trappes dont le langage est imprégné et qu'on contourne avec l'expérience et l'habitude.

    Sinon OCaml, effectivement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel langage pour le développement embarqué ?
    Par freakydoz dans le forum Débats sur le développement - Le Best Of
    Réponses: 37
    Dernier message: 23/04/2007, 19h31
  2. Quel langage pour développer un logiciel de télétransmission
    Par gidebo dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 28/08/2003, 14h19
  3. Quel langage pour un application graphique sous windows
    Par ipeteivince dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 06/06/2003, 17h00
  4. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44
  5. Un langage pour lire, traiter et écrire de gros fichiers
    Par March' dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/04/2003, 15h26

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