Réponse tardive, mais comme il n'y a pas encore de réponse acceptée, je vais essayer. Je considère cela comme deux questions et j'essaierai d'y répondre séparément:
Comment les managers choisissent-ils les langages de programmation?
Cela dépend fortement de la taille de l'organisation et de l'expérience du gestionnaire, mais impliquera généralement d'évaluer la situation actuelle et les scénarios et exigences futurs. Cela se fait généralement via PESTLE ou une analyse similaire, et juste pour donner quelques échantillons dans chaque catégorie:
- Politique
- "Personne n'a été licencié pour avoir acheté IBM" - un choix sûr.
- Le PDG a entendu que Java est cool - battage médiatique.
- L'architecte en chef aime .NET - projet pour animaux de compagnie.
- Le langage est contrôlé par un concurrent hostile - pourquoi Google ne s'appuie pas sur C #.
- Économique
- Coûts de licence.
- Coût de la formation des développeurs.
- Coûts de migration de la base de code.
- Social
- Adhésion de l'équipe.
- Disponibilité des compétences en interne (besoins de formation, continuité).
- Disponibilité des compétences sur le marché.
- Menace pour le statu quo existant au sein de l'équipe de développement.
- Disponibilité d'une communauté de pratique suffisamment grande.
- Technologique
- Amélioration de la productivité.
- Amelioration de la qualite.
- Capacité à interagir avec la base de code existante.
- Respect des normes.
- Maturité.
- Légal
- Conditions de licence.
- Contrôle de la technologie (Qui possède et contrôle la technologie? Quelle sera la future stratégie d'octroi de licences?)
- Conformité légale et réglementaire.
- Environnement
- Infrastructure existante au sein de l'entreprise.
- Compétences existantes au sein de l'entreprise.
- Intégration avec des partenaires externes.
- Niveau de support technologique par un environnement plus large.
Ensuite, un groupe de langues correspondant aux critères peut être évalué plus à fond en utilisant l' analyse SWOT , l' analyse coûts- avantages ou similaire.
L'ensemble du processus peut être assez complexe, mais en fin de compte, la plupart des entreprises ou des équipes de projet opteront pour l'option la plus sûre compte tenu de leur situation actuelle qui peut toujours fournir les capacités dont elles ont besoin. Très souvent, cela peut signifier de rester plus longtemps sur la plate-forme actuelle.
Comment un programmeur peut-il s'assurer que le bon langage de programmation est choisi pour un projet
Comme il a été, espérons-le, démontré qu'un programmeur type aurait normalement seulement 1 / 6e de la contribution totale au processus de prise de décision. Et en règle générale, elle ou il serait surtout intéressé par les seules capacités linguistiques!
Eh bien, la meilleure façon d'influencer la décision semble avoir une image plus large du processus de sélection, faire des alliés à l'intérieur et à l'extérieur de l'équipe, créer un bon dossier sur l'aspect technologique des choses et essayer de ne pas se concentrer uniquement sur les capacités linguistiques.
Et, bien sûr, il faut se mettre en position lorsqu'un gestionnaire de projet ou de développement (ou toute autre personne en charge) voit les avantages de passer par l'ensemble du processus d'évaluation et est prêt à considérer les risques et les incertitudes de passer à un autre langue en premier lieu. Pour que cela se produise, il faut démontrer que:
- La plate-forme actuelle n'est plus adéquate.
- Une nouvelle plateforme promet des avantages qui dépassent de loin les tracas.
Cependant, auriez-vous demandé "Quelle est la meilleure façon d'utiliser au travail la langue que j'aime", la réponse aurait probablement été "rejoindre une entreprise qui utilise déjà la langue ou créer la vôtre".