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

C++/CLI Discussion :

Types de données IronPython


Sujet :

C++/CLI

  1. #1
    Membre confirmé Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Par défaut IronPyhton
    Salut

    Est-ce que les types de données dans IronPython sont les mêmes qu'en C# ?

    Par exemple, est-ce que les datasets, listes génériques, dictionnaires génériques, etc... existent tels quels, ou est-ce qu'il y a des équivalents ?

    Autrement est-ce qu'il y a un avantage quelconque à utiliser du python plutôt que du C# ? Pour l'instant je ne vois que des inconvénients : pas de coloration syntaxique, pas d'intellisense, pas de commentaires sur les méthodes ni d'informations sur les paramètres à fournir.
    Le code ne "compile" pas si on l'indente pas correctement. Et comme il est interprété, si on a fait une erreur dans son code on ne s'en rend compte que quand il s'exécute.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as l'air convaincu qu'IronPython est nul... dans ce cas pourquoi en faire ?

    Plus sérieusement, je ne connais IronPython, mais pour pouvoir s'exécuter dans un environnement .NET, il faut qu'il soit conforme au Common Type System. Donc a priori tu peux utiliser en IronPython tous les types définis dans les librairies de classes du .NET framework...

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Citation Envoyé par annalady Voir le message
    Est-ce que les types de données dans IronPython sont les mêmes qu'en C# ?
    On a accès a toute la CLR mais on a également des type en plus de python.

    Citation Envoyé par annalady Voir le message
    Autrement est-ce qu'il y a un avantage quelconque à utiliser du python plutôt que du C# ? Pour l'instant je ne vois que des inconvénients : pas de coloration syntaxique, pas d'intellisense, pas de commentaires sur les méthodes ni d'informations sur les paramètres à fournir.
    C'est clair que vue ce que tu dis je vois pas pourquoi tu t y intéresse ...

    Je vais sortir le peu de connaissance que j'ai sur le sujet :

    L'ironpython (comme d'autre langages dynamiques) permet pas mal de truc comme du code plus concis, élégant et rapide a écrire, de la méta programation, des capacités de programmation réflexive bien plus aisé.

    Sinon pour scripter les applications c'est top vu qu'on a pas a recompiler l'application
    genre dans un projet orienté autour d un orm, tu pourrais créer des scripts ironpython qui insérerai des données en base au lieu du SQL (cela permet d'etre indépendant de la base cible) et facilement éditable sans avoir a tout recompiler

    Les critiques que tu donne cela n'est pas vis a vis d'ironpython mais de visual studio qui ne le supporte pas, j'avais vu un projet en beta qui s'appelait (iron)python studio, un plugin pour visual studio ct pas trop mal a lepoque mais cela ne valait pas des plugin tel que pydev pour eclipse, c'est peut etre mieux maintenant

    Citation Envoyé par annalady Voir le message
    Le code ne "compile" pas si on l'indente pas correctement.
    l'indentation est quelque chose qui te permet d avoir du code super clair sans séparateur farfelu... c'est un des truc que j'aprecis le plus dans ce langage, si ton code est mal indenté cela veut dire que de toute façon il est illisible ... quel que soit le langage le code doit être indenté, après il faut avoir un ide suffisamment sofistiqué pour détecté la ou les indentation son mauvaise seul

    Citation Envoyé par annalady Voir le message
    Et comme il est interprété, si on a fait une erreur dans son code on ne s'en rend compte que quand il s'exécute.
    Humm voici la vision des praticiens des languages dynamique :
    Tu n'as peut être pas cette détection des erreur de compilation mais toi dés que tu veux tester réellement ton programme il faut que tu le compile ce qui te fait perdre du temps et tu peux tout de même avoir des erreur d'exécution alors que le langage interprété s exécute tout de suite sans temps d'attente et te permet de tester réellement si l'application fonctionne : au runtime.

    Après on adhère ou pas a la façon de penser des langage dynamique ... mais bon faut savoir que c'est une forte orientation actuel de MS, pas mal de nouveauté de C# 3 sont inspiré de python (et ses pairs) et C# 4 récupérera pas mal d'autre fonctionnalités de langages dynamique.

    Perso vu comment microsoft a mis en avant python (et ruby) dans silvelright j'espère qu'il va faire quelque chose pour l'intégrer a visual studio, ça serai top !

  4. #4
    Membre confirmé Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Par défaut
    Hello

    Merci pour vos réponses.

    En fait ce n'est pas que je m'y intéresse, c'est un de mes boss qui veut que j'arrête de coder en C# et que je fasse tout en Python. De ce que j'ai vu pour le moment ça n'a pas l'air de casser des briques, c'est pour ça que je voulais savoir s'il y avait un quelconque avantage par rapport à VB.NET et C#.

    Par exemple pour me connecter à SQL Server j'ai du importer ce qui ressemble à des librairies (adodbapi.py, calendar.py, string.py...) Quand je lance mon projet, il y a une erreur d'exécution dans l'une des libraires et quand je cherche de la doc sur cette erreur dans google je ne trouve aucun résultat. J'imagine qu'il n'y a pas des masses de personnes qui utilisent IronPython ?

    L'intellisense me semble très aléatoire. Exemple : j'ai dans ma page aspx une TextBox qui s'appelle "txtDate". Dans le code behind, je tape "txt" et ensuite CTRL + espace, je m'attend à ce qu'il me propose le nom de ce contrôle parmi la liste mais non, voilà ce que ça donne :



    La "documentation" qui apparait en ToolTip semble également inexistante. Par exemple quand j'utilise une méthode d'une librairie, je ne sais pas quels arguments il faut spécifier, et qu'est ce que ça retourne :



    Quand on compare à ça, ça ne donne vraiment pas envie :



    Après y'a peut être des plug-in à installer dans VS.

    J'ai testé IronPython Studio mais on ne peut faire que des appli Windows avec, là j'ai juste besoin de faire de l'ASP.NET

    Sinon par rapport à tes remarques Anthyme, l'indentation se fait toute seule en C# donc le code ne peut de toutes façons jamais être mal indenté. C'est plus pratique que de se taper l'indentation à la mano, non ?

    Et c'est vrai que le fait de devoir tout compiler avant de lancer fait perdre du temps, mais au moins tu vois tout de suite si une ligne ne compile pas. Dans un projet avec une centaine de classes et plusieurs conditions imbriquées, je trouve que c'est quand même plus pratique que de devoir tester toutes les branches avant d'être sûr qu'il n'y a pas d'erreur de compilation ! Enfin c'est mon avis, comme tu dis chacun a sa vision de la chose.

    Bref comme vous dites les problèmes que je cite viennent surtout de l'intégration de Python dans VS, mais dans ce cas quel éditeur utiliser pour faire de l'ASP.NET avec du Python ?

  5. #5
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Citation Envoyé par annalady Voir le message
    En fait ce n'est pas que je m'y intéresse, c'est un de mes boss qui veut que j'arrête de coder en C# et que je fasse tout en Python. De ce que j'ai vu pour le moment ça n'a pas l'air de casser des briques, c'est pour ça que je voulais savoir s'il y avait un quelconque avantage par rapport à VB.NET et C#.
    Un langage ça s'apprend pas en claquant des doigts

    Citation Envoyé par annalady Voir le message
    Par exemple pour me connecter à SQL Server j'ai du importer ce qui ressemble à des librairies (adodbapi.py, calendar.py, string.py...) Quand je lance mon projet, il y a une erreur d'exécution dans l'une des libraires et quand je cherche de la doc sur cette erreur dans google je ne trouve aucun résultat. J'imagine qu'il n'y a pas des masses de personnes qui utilisent IronPython ?
    Hummm bizarre, moi j'utilisai directement les classe de la CLR, ce que tu utilise la c'est la surcouche python qui a la même API qu'en Ironpython et peut donc etre pratique pour quelqu'un qui voudrait migrer une appli python vers .net.

    Citation Envoyé par annalady Voir le message
    L'intellisense me semble très aléatoire. Exemple : j'ai dans ma page aspx une TextBox qui s'appelle "txtDate". Dans le code behind, je tape "txt" et ensuite CTRL + espace, je m'attend à ce qu'il me propose le nom de ce contrôle parmi la liste mais non, voilà ce que ça donne :



    La "documentation" qui apparait en ToolTip semble également inexistante. Par exemple quand j'utilise une méthode d'une librairie, je ne sais pas quels arguments il faut spécifier, et qu'est ce que ça retourne :



    Quand on compare à ça, ça ne donne vraiment pas envie :



    Après y'a peut être des plug-in à installer dans VS.

    J'ai testé IronPython Studio mais on ne peut faire que des appli Windows avec, là j'ai juste besoin de faire de l'ASP.NET

    Bref comme vous dites les problèmes que je cite viennent surtout de l'intégration de Python dans VS, mais dans ce cas quel éditeur utiliser pour faire de l'ASP.NET avec du Python ?
    Ah mais moi je suis totalement d'accord ... IronPython Studio c'est tout pourris et c'est a cause de cela que je ne me lance pas dans l'écriture d'application entièrement fait en IronPython

    La dernière fois que j'en ai fait, j'utilisai pydev qui est dédié au python et au jython (comme Ironpython mais pour java) je perdait l'auto completion sur la CLR mais au moins j'avait un IDE adapté au langage (il faudrait vérifier peut etre qu'il gere ironpython maintenant).

    Citation Envoyé par annalady Voir le message
    Sinon par rapport à tes remarques Anthyme, l'indentation se fait toute seule en C# donc le code ne peut de toutes façons jamais être mal indenté. C'est plus pratique que de se taper l'indentation à la mano, non ?
    Et bien comme je te l'ai dis un bon IDE permet de gerer ca bien mieux, il va detecter quand je met un ":" et auto indenté la ligne suivante, je n'aurai donc plus qu'a faire Shift+Tab si je veux sortir de ce bloc alors qu'en C# il aurai fallu que tu fasse un altgr + { et altgr + } pour ouvrir et fermer tes blocs, à l'usage le tab et le shift tab est vraiment plus rapide et agréable d'utilisation

    Citation Envoyé par annalady Voir le message
    Et c'est vrai que le fait de devoir tout compiler avant de lancer fait perdre du temps, mais au moins tu vois tout de suite si une ligne ne compile pas. Dans un projet avec une centaine de classes et plusieurs conditions imbriquées, je trouve que c'est quand même plus pratique que de devoir tester toutes les branches avant d'être sûr qu'il n'y a pas d'erreur de compilation ! Enfin c'est mon avis, comme tu dis chacun a sa vision de la chose.
    Chaque coté a ses avantages et désavantages mais j'ai bien peur que tu n'ai que les désavantages ... Il me semble que Ironpython studio compile le python avant de l'exécuter, j'ai pas bien compris pourquoi il fait cette connerie ... (c'est peut être configurable).

    Bref moi j'aime bien ce langage mais pour mois c'est pas encore utilisable pour créer entièrement une application, la productivité que tu gagne sur le langage vis a vis de C# tu va totalement la perdre a cause du fait que Ironpython studio est tout pourri ... moi je garderai bien ironpython pour la partie UI voir un peu de business mais je pense que faire toute la DAL et Business en ironpython c'est pas une super idée ...

  6. #6
    Membre confirmé Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Par défaut
    Effectivement pydev a l'air plus sympa que VS :



    Mais bon apparemment il n'existe pas de plugin ASP.NET pour Eclipse.

    En tous cas je suis d'accord avec toi sur le fait qu'IronPython peut être utile dans le cas où tu as déjà du code métier développé en Python, et que tu veux le coupler avec une UI en ASP.NET ou WPF. Mais si tu pars de zéro sur un nouveau projet, c'est pas ce qu'il y a de mieux pour le moment.

  7. #7
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Pour le moment si je me lance dans une appli ironpython ca serai une appli silverlight ... et encore y a pas beaucoup d'intégration c'est assez galère ... il faudrait jongler entre vs (ou blend) et un editeur python ...

    ton boss est complètement braqué ? il a des actions python ?

  8. #8
    Membre confirmé Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Par défaut
    Pour lui VB.NET et C# ça fait déjà trop (jusqu'à maintenant on utilisait les deux dans la boite où je bosse), on fait du Winform et du Webform.

    Lui veut tout en Webform + Python et c'est tout

  9. #9
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    tu veux dire quoi par trop ?

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Drôle d'idée... il ferait mieux de choisir entre C# et VB.NET (et donc de choisir C# )
    Pour l'instant l'intégration d'IronPython dans Visual Studio laisse un peu à désirer, comme tu as pu t'en rendre compte... dis-lui que ça va diminuer ta productivité, en général c'est le genre d'argument susceptible de convaincre les chefs

  11. #11
    Membre confirmé Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Par défaut
    Je vais essayer

    @anthyme : trop = trop de "technos" différentes

  12. #12
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    ok bin mon avis c'est que si Ironpython peut etre un plus dans certain cas c'est en "bonus" car pour la technologie central il est quand même plus sûr de garder une techno mis en avant comme C#...

    Bon courage

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par annalady Voir le message
    trop = trop de "technos" différentes
    C# et VB.NET ne sont pas 2 technos différentes... Ce sont 2 langages quasiment interchangeables qui permettent d'utiliser la même techno, après le choix de l'un ou de l'autre est surtout une question de préférence personnelle du développeur... Si ton chef veut que tout le monde utilise le même langage, qu'il se décide pour un de ces 2 là, mais imposer un langage comme IronPython qui n'a pas encore atteint sa pleine maturité, c'est un peu absurde à mon avis... ça ressemble à une lubie de manager qui a entendu dire que Python c'est génial mais qui n'en a aucune expérience concrète.

    Quand à passer de WinForms + WebForms à WebForms seulement, ça n'a pas de sens, dans la mesure où ça n'a pas la même utilité... en WebForms tu ne peux faire que des applis web, et en WinForms que des applis type "client lourd"

  14. #14
    Membre confirmé Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Par défaut
    Justement il veut s'affranchir des clients lourds et ne faire que du Web.

    Pour le reste je suis 100% d'accord avec toi, tu prêches une convertie

    Après c'est le boss... et nous les éxécutants

Discussions similaires

  1. interbase : types de donnés : AutoIncrement et Date ???
    Par delphien dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/04/2004, 17h29
  2. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50
  3. Types de données interbase
    Par Clotilde dans le forum InterBase
    Réponses: 2
    Dernier message: 18/11/2003, 14h10
  4. Réponses: 2
    Dernier message: 22/09/2003, 11h23
  5. Convertir un type de donnée sous SQL Server
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/08/2003, 15h15

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