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

Python Discussion :

Début de projet avec interfaces


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    DS
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DS
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Début de projet avec interfaces
    Bonsoir tout le monde,

    J'aurais 2 petites questions avant de me lancer dans un projet sur le calcul scientifique. Il s'agit de développer une bibliothèque qui doit pouvoir s'interfacer le plus simplement possible avec tout un tas de codes de calcul (en C++, Fortran, MATLAB, Python), d'où ma première question: est-ce Python le plus adapté ?

    En ce qui concerne l'interfaçage, comment l'implémente-t-on proprement en Python? Pour le moment j'ai en tête un design pattern, l'adapteur. L'idée serait donc d'avoir quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    class Wrapper:
      def foo(self,p):
        ...
      def bar(self,p):
        ...
     
    class WrapperForAnotherCode(Wrapper):
      def __init__(self,OtherCode):
        self.othercode = OtherCode
        ...
      def foo(self,p):
        # Code dépendant de self.OtherCode
        ...
      def bar(self,p):
        raise NotImplementedError('bar non implémenté pour WrapperForAnotherCode')
    Est-ce que ça vous semble tenir la route?

    Cheers,
    L.

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par loikisan Voir le message
    d'où ma première question: est-ce Python le plus adapté ?
    Non. Python est super lent. En fait c'est plutôt le contraire qui se passe: les outils dédiés (sqlite, numpy, scipy, matplotlib, etc) sont écrits dans des langages rapides (C, C++) accessibles depuis Python...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    DS
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DS
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    En fait le gros du travail doit être réalisé par des codes annexes type éléments finis sur lesquels on vient s'interfacer et demander quelques sorties particulières. Mon code n'a pas besoin d'être ultra-performant en soit, la preuve étant qu'on se contentait de MATLAB jusqu'à présent .

    L.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Non. Python est super lent. En fait c'est plutôt le contraire qui se passe: les outils dédiés (sqlite, numpy, scipy, matplotlib, etc) sont écrits dans des langages rapides (C, C++) accessibles depuis Python...
    Python est lent comparé à tout langage compilé. Mais c'est un langage plutôt simple à utiliser. Il n'est pas interdit d'envisager une application écrite dans un langage compilé qui appelle l'interpréteur Python pour exécuter des "scripts" faciles à écrire. Dans ce cas, c'est l'application qui appelle Python. De nombreux logiciels open source offrent cette possibilité GIMP, LibreOffice,...

    Avec la possibilité de tourner du JavaScript côté serveur avec des engins comme Google V8, JavaScript est devenu très trendy pour ce genre d'utilisation.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/04/2015, 21h11
  2. [MCD] Projet : Conception base de données avec interfaces Web
    Par flolebreton dans le forum Schéma
    Réponses: 78
    Dernier message: 19/05/2009, 15h36
  3. Réponses: 11
    Dernier message: 08/12/2005, 13h09
  4. Réponses: 4
    Dernier message: 25/08/2003, 09h02
  5. [Kylix] Projet avec fenetre marche pas
    Par Therich dans le forum EDI
    Réponses: 1
    Dernier message: 11/07/2003, 12h34

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