Forum général.général Langage de programmation pour un stage ... PHP vs Python

Posté par  (site web personnel) .
Étiquettes : aucune
0
23
fév.
2008
Bonjour,

Je suis étudiant en informatique de gestion en dernière année et lors du second semestre, on fait un stage de 4 mois en entreprise. Je vous explique brièvement le sujet du stage : Je travaille pour un fournisseur d'accès internet qui veut une application pour gérer ses adresses ip. Par gérer je ne veut pas dire que mon soft doit mettre réellement en place une config mais doit donner une représentation de l'existant. C'est un outil de reporting si on veut.

Ca doit permettre de gérer des clients, de dire que tel client possède tel pool d'adresses ip, que tel site contient tel équipements qui possède tel et tel adresses ip, ce genre de truc.

Bon, je viens de finir l'analyse (ou du moins la partie fonctionnelle), j'en arrive à me poser la question du langage qui sera utilisé pour l'implémentation. A priori, j'ai dit Java, parce-que c'est ce qu'on a appris à l'école et que c'est ce que je maitrise le mieux. Maintenant j'ai tendance à l'écarter quand je mesure la lourdeur (à la fois la quantité de code et la mise en place d'un serveur applicatif à la JBoss). Donc je vois comme concurrent PHP et Python, j'ai souvent lut que Python était bien au niveau rapidité de développement.

Ce que j'aimerai le plus retrouvé avec ces langages c'est un framework me permettant de gérer la persistance de mes objets de manières plus ou moins transparente (à la manière des EJB quoi), je sais qu'il y en a mais je ne connais pas les noms (bien que mon problème n'est pas là). Mon problème serait plutôt que, n'étant pas un expert ni en PHP (que je connais un tout petit peut) et en Python, je ne suis pas à même de peser le pour et le contre pour choisir.

Donc si vous avez des conseils à me donner, je suis preneur en sachant qu'en plus j'aimerai : un bon EDI sous Linux évidemment, et un bon framework pour la persistance de mes objets.

Merci.
  • # PHP ça pue, c'est pour les morveux

    Posté par  . Évalué à 2.

    Mais Python roxorise tout !

    La persistance c'est de l'ORM ? Python fournit tout un tas de frameworks pour la programmation web, et pour tout de toutes façons, Tu peux directement utiliser ces frameworks (Django, Turbogears, ...) ou en utiliser des composants (SQLObject, CherryPy, ...). Ne parlons même pas de Zope...

    Il me semble que tout IDE digne de ce nom supporte Python (qui a dit Emacs ?).
    • [^] # PHP pue autant que Python

      Posté par  (site web personnel) . Évalué à 0.

      Mais Python roxorise tout !

      Personnellement, j'adore ce genre de propos.

      A une époque j'ai cherché un wiki pas trop chiant à mettre en oeuvre, plutot sans bdd, et qui fonctionne correctement.

      J'ai eu au final à choisir entre mediawiki et MoinMoin ... j'ai choisi MoinMoin apres quelques tests des deux.

      Au boût de plusieurs mois à passer à régler de la merde avec MoinMoin, j'ai pris mon courage à 2 mains et j'ai codé un remplacant de MoinMoin pour m'amuser un peu en ... PHP.

      Conclusion, là ou MoinMoin met largement plus de 200ms pour traiter une page avec mod_python ... j'en met 2ms . Et si MoinMoin est sensible au nombre de pages, je le suis largement moins malgré une compatibilité avec le format de stockage fichier de MoinMoin.

      Conclusion ?
      Au moins une de ces deux propositions est vrai :
      - soit python et mod_python sont vraiment mal foutu
      - soit les devs de MoinMoin qui est un des wiki les plus utilisés ne savent pas coder

      Par contre, dans la famille "langage tyranique TIOOWTDI" python est très bien pour les adeptes de la pensée unique.

      PHP est un langage très mal conçu ; je me souviens la gestion de reférence de PHP4 qui nécessitait des unset dans les boucles & co, je rencontre encore de belles subtilités en PHP5 en POO, ou dans le traitement de tableau ... mais à chaque version PHP se rapproche un peu plus d'un vrai langage.

      Il n'en reste pas moins que PHP est redoutable au niveau de la facilité d'utilisation et cela est un vrai plus dans certains cas.
  • # EDI...

    Posté par  . Évalué à 2.

    il parait qu'eclipse est pas mal comme EDI

    sinon tu es obligé de reinventer la roue ?
    parceque les outils de decouverte et de monitoring, ca existe deja...

    faut peut-etre juste en coupler quelques un...
    • [^] # Re: EDI...

      Posté par  (site web personnel) . Évalué à 1.

      Honnêtement j'ai même pas chercher à savoir ce qui existait dans le domaine (à tort sans doute...). Le gars m'as exposé ses besoins et voila quoi. Maintenant je lui fait confiance sur le fait qu'il n'existe pas d'outil open-source qui colle avec ses besoins. Je dit ça parce-qu'il emploie déjà un assez grand nombre d'outil open-source divers et varié et qu'il aura certainement fait les recherches nécessaires avant de demander un étudiant.

      Alors je vais peut-être réinventer la roue, mais bon, il faut que je m'occupe 4 mois aussi.

      Puis finalement, le monitoring , n'est pas vraiment le besoin de base, le besoin de base c'est l'historique. Fin de toute façon, je me suis engagé vis-à-vis de mon école (et on peut pas changer radicalement le projet, je vais me faire taper sur les doigts aussi non) donc pour ça c'est trop tard.

      Sinon par rapport à l'IDE, un bon EDI pour KDE, ça existe ?
  • # Groovy

    Posté par  . Évalué à 1.

    Si tu maitrises déjà Java et tous les framework associés ca me parait un bon choix
    http://groovy.codehaus.org/
    http://groovy.codehaus.org/Getting+Started+Guide

    En effet c'est un langage dynamique et fortement typé tout comme python et donc avec lequel tu es rapidement productif.
    Il s'inspire de la syntaxe Java tout en en évitant les lourdeurs

    Il utilise la plupart des frameworks java ce qui t'evites de réapprendre les libs python

    Tu disposes aussi d'un framework Web qui s'inspire de Ruby On Rails , le modèle du genre :
    http://grails.codehaus.org/

    Pour les IDE Eclipse est ton ami.
    http://groovy.codehaus.org/Eclipse+Plugin

    En plus lorsque c'est nécessaire tu peux toujours te rabattre sur Java puisque tu es sur la même techno.
    Avec python lorsqu'on a besoin d'optimiser on se rabat généralement sur le C.
  • # Si c'est a cause de JBOSS

    Posté par  . Évalué à 1.

    SI tu trouves qu'utiliser un "gros" serveur d'application est excessif, mais que tu es productif en Java, tu peux toujours envisager d'utiliser un serveur Tomcat tout nu, et la librairie Hibernate pour le côté ORM. Tu as les avantages du Java, et tu évites la lourdeur d'un conteneur d'EJB (je vulgarise)
    Les deux sont très bien documentés, et niveau performances, ça tiendra bien la route.
    Pour les EDI, eclipse, netbeans...
    • [^] # Re: Si c'est a cause de JBOSS

      Posté par  (site web personnel) . Évalué à 1.

      C'est vrai que par rapport à ce problème ce serait une solution, mais je perd dans ce cas l'avantage que je retirai de l'apprentissage d'un nouveau langage. Parce-que c'est vrai aussi que si je ne fait que mettre en application des concepts que je connais, je n'y gagne pas grand chose au niveau conséquence, d'ou l'idée d'utiliser Python.
  • # Loin de moi l'idée de troller ...

    Posté par  (site web personnel) . Évalué à 2.

    ... mais Ruby on Rails mériterait de faire partie de la liste, il te permet de développer super rapidement comporte énormément de plugins qui te permettent de ne pas réinventer la roue.

    Avec Rails tu codes en Ruby, si tu connais déjà Python ou que tu souhaites vraiment l'utiliser pour ton projet le framework Django offre sensiblement les mêmes services (persistance et mapping ORM, modèle MVC et composants réutilisables)

    Bien à toi et bonne chance !
    • [^] # Re: Loin de moi l'idée de troller ...

      Posté par  (site web personnel) . Évalué à 1.

      Je n'ai pas de préjugé sur Ruby, mais si tu savais m'éclairer sur les différences entre Ruby et Python, ce serait sympa.
      • [^] # Re: Loin de moi l'idée de troller ...

        Posté par  (site web personnel) . Évalué à 2.

        Ruby a Ruby on Rails, qui a eu plein de buzz.

        Python a comme (plus ou moins) équivalent Django, Turbogears, Pylons..., mais le buzz va se partager entre les trois.

        :-)

        ウィズコロナ

        • [^] # Re: Loin de moi l'idée de troller ...

          Posté par  (site web personnel) . Évalué à 2.

          Je ne connais pas vraiment Python, donc je ne pourrai pas vraiment t'éclairer sur ce point, d'après ce que j'en entends on tombe facilement amoureux des deux.

          Maintenant du point de vue des frameworks (Ruby on Rails et Django) ils semblent plutôt similaires. La seule différence que je verrais étant que :
          - Il semble généralement admis que Django est meilleur en performance pure que RoR.
          - Ruby on Rails utilise les conventions plutôt que la configuration (c'est l'inverse chez Django), du coup, tu te retrouves avec moins de code et plus de rapidité à développer.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.