Question

L'entreprise avec laquelle je travaillais compte deux développeurs travaillant à temps plein et une poignée de pigistes.Ils sont en train d'embaucher un nouveau développeur principal pour essayer de mettre de l'ordre et de gérer le développement.

Mais, actuellement, l'un des développeurs a vu le jour de Django (la société n'a développé qu'en PHP à ce jour) tandis que l'autre développeur craint que l'introduction d'un nouveau langage (Python) ne soit une mauvaise idée pour le moment.

Comment devraient-ils aborder l’introduction de cette nouvelle technologie ?Évidemment, avec un seul des développeurs connaissant réellement Python, il n'y aura pas de redondance lorsque ce développeur sera absent ou quittera l'entreprise.

Devraient-ils prendre la peine d'introduire Python, ou devraient-ils rechercher des solutions uniquement PHP jusqu'à ce que l'équipe ait réellement plus d'un Pythonion ?Sans chef d’équipe, les décisions doivent leur revenir.

Était-ce utile?

La solution

J'ai récemment introduit Python dans mon entreprise, qui effectue des travaux de conseil pour la Poste.J'ai fait cela en attendant qu'il y ait un projet pour lequel je serais le seul programmeur, puis en obtenant l'autorisation de réaliser ce nouveau projet en Python.J'ai ensuite réalisé un autre petit projet en Python avec des résultats tout aussi impressionnants.De plus, j'ai utilisé Python pour toutes mes petites tâches jetables (« pouvez-vous analyser les statistiques de ces fichiers dans un fichier CSV organisé par date et par site ? », etc.) et j'ai eu un délai d'exécution rapide pour chacune d'entre elles.

J'ai aussi un peu évangélisé Python ;J'ai fait de mon mieux pour ne PAS être désagréable à ce sujet, mais je décrivais parfois pourquoi je l'aimais tant, je parlais des projets personnels pour lesquels je l'utilise pendant mon temps libre et pourquoi c'est génial pour moi, etc.

Finalement, nous avons lancé un autre projet et j'ai convaincu tout le monde d'utiliser Python pour cela.J'ai pris soin de diriger tout le monde vers beaucoup de documentation, y compris les pages Web spécifiques relatives à ce sur quoi ils travaillaient, et chaque fois qu'ils avaient une question, j'expliquais comment faire les choses correctement en expliquant l'approche Pythonique des choses, etc. .

Cela a très bien fonctionné.Cependant, cela pourrait être quelque peu différent de ce que vous décrivez.Dans mon cas, j'ai commencé avec des projets moyennement petits et Python n'est utilisé que pour de nouveaux projets.De plus, aucun de mes collègues n’était vraiment un gourou de Perl ou de PHP ;ils connaissaient tous ces langages et les utilisaient depuis un certain temps, mais il ne leur a pas fallu beaucoup d'efforts pour devenir plus productifs en Python qu'avant.

Donc, si vous parlez de nouveaux projets avec des personnes qui utilisent actuellement PHP mais ne sont pas des super-experts et n'aiment pas ce langage, alors je pense que passer à Python est une évidence.Cependant, si vous parlez de travailler avec une grande base de code PHP existante avec de nombreux programmeurs PHP très expérimentés et satisfaits de leur configuration actuelle, alors changer de langue n'est probablement pas une bonne idée.Vous vous situez probablement quelque part entre les deux, vous devrez donc peser les compromis ;j'espère que ma réponse vous aidera à le faire.

Autres conseils

Si le mandat du nouveau responsable est de mettre de l’ordre dans la maison, la situation actuelle devrait probablement être simplifiée autant que possible au préalable.Si je devais mettre de l'ordre dans les choses, je ne voudrais pas avoir à gérer en plus de tout le reste un projet de conversion linguistique en cours, ou du moins j'aimerais avoir le choix au moment de lancer le projet.En faisant votre recommandation, avez-vous pensé à la complexité managériale supplémentaire qu’entraînerait une transition en pleine reconversion ?

@darkdog :

L’utilisation d’un nouveau langage dans le code de production ne se limite pas à une syntaxe simple et à des fonctionnalités de haut niveau.Vous voulez vous familiariser avec les API de base et avoir l'impression de pouvoir réparer quelque chose grâce à la logique au lieu d'avoir à parcourir la documentation.

Je ne dis pas que la transition vers Python serait une mauvaise idée pour cette entreprise, mais je suis d'accord avec John : gardez les choses simples pendant la transition.Le nouveau responsable appréciera d’avoir son mot à dire dans de telles décisions.

Si vous souhaitez vraiment, vraiment, vraiment introduire Python, envisagez d'écrire des extensions ou des utilitaires en Python direct ou dans le framework.Vous ne bouleverserez pas vos initiatives principales, ce sera donc une opportunité faible ou sans risque de prouver les mérites d'un changement.

Je pense que le langage lui-même n'est pas un problème ici, car Python est un langage de haut niveau vraiment sympa avec une documentation complète, bonne et facile à trouver.

D'après ce que j'ai vu, le framework Django est également un excellent outil pour le développement Web, offrant à peu près la même amélioration des performances des développeurs que Rails est censé donner.

Le vrai problème se situe au niveau de la maintenance et de la gestion.

Comment ce mouvement va-t-il fragmenter la maintenance entre le code PHP et Python.Est-il nécessaire de migrer le code existant d’une plateforme à une autre ?Quels problèmes l'adoption de Python et Django résoudra-t-elle dans votre flux de travail et vos frameworks de développement actuels, etc.

C'est vraiment une question d'horaires.Pour moi, la pause devrait se faire avec un projet spécifique.Si vous décidez que votre direction est Django, démarrez de nouveaux projets avec cela.Avant de démarrer un nouveau projet avec un nouveau langage/framework, assurez-vous d'avoir prévu du temps pour vous familiariser avec cette nouvelle direction, ou soyez opérationnel avant de l'utiliser sur de nouveaux projets.

J'éviterais d'opter pour un outil du mois.Assurez-vous que ce soit votre direction et consacrez du temps et des ressources à apprendre suffisamment pour prendre une bonne décision.

Eh bien, python est un langage de haut niveau.ce n'est pas difficile à apprendre et si les gars ont déjà des connaissances en programmation, cela devrait être beaucoup plus facile à apprendre.j'aime bien Django..je pense que ça devrait être une bonne idée d'utiliser Django ..

Je ne pense pas que ce soit une question de langage de programmation en tant que tel.

Quel est le niveau de maîtrise de PHP dans l’équipe dont vous parlez ?Font-ils du code spaghetti ou utilisent-ils un framework structuré comme Zend ?Si c'est le premier cas, je comprends parfaitement l'intérêt de ce type pour Python et Django.C'est ce dernier cas, c'est juste un battage médiatique.

J'adore Python et Django et j'utilise les deux pour développer nos applications Web principales.

Cela dit, il est difficile d’établir une analyse de rentabilisation en faveur d’un changement à ce stade.Spécifiquement:

  • Toute nouvelle plateforme est risquée par rapport à rester avec la plate-forme éprouvée
  • Vous aurez la fragmentation des développeurs que vous avez mentionnée
  • Il est beaucoup plus facile de trouver des programmeurs PHP que des programmeurs Python

De plus, comme d'autres affiches l'ont mentionné, si le problème concerne davantage le code Spaghetti que PHP lui-même, il existe de nombreux frameworks PHP intéressants qui pourraient être utilisés pour refactoriser le code.

Cela dit, si ce développeur est enthousiasmé par Python, les arrêter complètement est probablement démoralisant.Ma suggestion serait de les encourager à développer en python, mais pas les parties critiques de l'application.Au lieu de cela, ils pourraient écrire des scripts utilitaires, une petite application interne à réaliser, etc.

En conclusion:Je ne recommande pas de quitter PHP, mais je recommande de tenir compte des intérêts du développeur d'une manière ou d'une autre au travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top