CaptivaCaptiva

Captiva

Captiva est un cabinet de conseil, spécialisé en transformation digitale,

Captiva / Smartpoint
17 rue Neuve Tolbiac, 75013 Paris

Ouvrir dans Google Maps
  • Qui Sommes Nous ?
  • Notre savoir faire
    • Data Fabric
    • Digital Transformation
    • Modern Banking
    • Testing & QA
  • Publications
  • Témoignages
  • Nous contacter
Rejoignez la Tribu !
  • Accueil
  • Tribu Open Source
  • Langages de programmation et Framework
 

Langages de programmation et Framework

Langages de programmation et Framework

par Anis Bessa / samedi, 10 juillet 2021 / Publié dans Tribu Open Source, Tribu Testing & QA
Langages de programmation et Framework

Les 10 points essentiels à prendre en compte.

Vous avez un nouveau projet et dès lors, un des premiers choix à faire est celui du langage de programmation et du framework de développement. Et ils sont très nombreux avec, parmi les plus populaires, Java Script, Python, Java, C#, C/C++, Swift, R, PHP et Ruby pour ne citer qu’eux. Voici les critères qui nous semblent essentiels chez Captiva pour orienter votre choix.

1. La communauté

Même si vous êtes un expert absolu du langage de programmation que vous avez choisi pour votre projet, vous aurez vraisemblablement des questions ou des problèmes à un moment donné. Choisir un langage avec une communauté active et importante est clairement indispensable. Plus le langage est populaire, plus la communauté propose des ressources.

2. Les bibliothèques disponibles

Certains langages de programmation peuvent être intéressants mais insuffisamment documentés ou avec une communauté peu active. N’oubliez pas que l’objectif est de développer des fonctionnalités rapidement et les bibliothèques doivent comprendre des composants de base conçus, développés et maintenus par la communauté. Plus la librairie est riche, plus vous avez de choix dans les frameworks, plus le temps de développement sera optimisé. Vous devez vous concentrer sur valeur ajoutée business des fonctionnalités que vous développez et le time-to-market.

3. Pensez usages utilisateurs

Si vous vous adressez aux utilisateurs finaux, vous devez anticiper leur système d’exploitation et leur navigateur. Si vous êtes sur un système qui doit s’adapter immédiatement à un comportement donné, le temps réel devient essentiel. Cela influe forcément sur votre choix.

4. Performances attendues

Vous devez anticiper les stress que va subir votre application et pour ce, vous devez planifier la performance dont vous aurez besoin. Pour autant, ne vous enfermez pas dans des cas improbables car nul de ne peut planifier complètement l’avenir … et cela pourrait justement être contre-performant.

5. Retours d’expériences

Si le langage que vous avez choisi est nouveau ou s’il s’agit d’une toute dernière version ; prenez le temps de recueillir des retours d’expérience sur d’autres projets dans la durée. Rapprochez-vous des entreprises pionnières pour avoir leur feed-back avant de vous engager.

6. Maintenabilité

Dans tout projet, au début, le code est propre et facile à développer… mais cela a tendance à dégénérer rapidement dans le temps ! Le langage de programmation choisi doit vous aider à garantir la maintenabilité du code. Vous devez pouvoir le modifier rapidement ainsi que les autres intervenants qui seront amenés à intervenir dessus dans le futur. Vous devez également pouvoir rajouter de nouvelles fonctionnalités facilement.

7. Les compétences

La notion de compétences disponibles est essentielle. Vous avez surement déjà dans votre équipe des collaborateurs ou des prestataires qui parlent déjà couramment tel ou tel type de langage. S’il convient à votre projet, il est plus raisonnable de partir là-dessus. Si vous choisissez un nouveau langage, vous devez anticiper le coût au démarrage de remise à niveau des équipes. Par contre, les enjeux d’innovation ou d’avantage concurrentiel peuvent en valoir le coût (et le risque)…

8. Réusabilité des compétences

Souvent, les applications sont basées sur plusieurs langages. Les uniformiser et les réduire facilite d’autant la maintenance et l’évolution de votre patrimoine appliquait. Cela vous permet aussi de spécialiser et faire gagner en expertise vos équipes. Sans compter que vous allez surement subir une certaine volatilité dans vos équipes et qu’il est plus facile de trouver des compétences sur un langage que des profils qui en maitrisent plusieurs.

9. Disponibilité des compétences marché

Dans cette même logique, vous devez anticiper le turn-over des équipes … Si vous avez choisi un langage de niche encore peu utilisé, vous risquez d’être confronté à un problème de ressources disponibles sur un marché aujourd’hui globalement pénurie. En même temps, un « bon » développeur est souvent curieux et avide de nouveautés, un nouveau langage peut être fortement attractif mais vous avez un coût de passation et d’appropriation à anticiper également.

10. Simplicité et time-to-market

Certains langages peuvent être particulièrement intéressants… mais plus ou moins « secs ». Au-delà de leur qualité et de leur potentiel, vous ne devez pas perdre de vue que l’enjeu pour votre entreprise est le time-to-market, à savoir, délivrer l’application et mettre rapidement les nouvelles fonctionnalités ou les nouveaux services dans les mains des utilisateurs finaux. Il est souvent judicieux de planifier des livraisons rapprochées de fonctionnalités plutôt que de développer en mode « tunnel »

Quoi qu’il en soit, selon votre projet, vous ne pourrez vraisemblablement pas respecter l’ensemble de ces points et vous devrez faire des compromis. L’important est de garder en tête votre objectif car le langage est un moyen de l’atteindre. Pour faire le bon choix, faites-vous conseiller 

Pour aller plus loin :

Les technologies les plus populaires, l’étude StackOverFlow 2019 https://insights.stackoverflow.com/survey/2019/#technology

 

N’oubliez pas de nous joindre sur Facebook et LinkedIn

ou vous pouvez nous contactez 

 

  • Tweet

Qu'est-ce que vous pouvez lire ensuite

Développeurs Full-Stack ou Développeurs spécialisés
Développeurs Full-Stack ou Développeurs spécialisés?
Les compétences techniques
Les compétences techniques les plus demandées en 2022
L'architecture microservices
L’architecture microservices

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Rechercher

Publications Récentes

  • captiva rejoint smartpoint pure player data

    Captiva rejoint le groupe Smartpoint

    Le nouvel ensemble propose désormais deux pôles...
  • compétences ingénieur data

    Comment reconnaitre un bon ingénieur Data Full Stack quand vous en croisez un ?

    Dans la data, c’est exactement comme dans le dé...

Catégories

  • News
  • Tribu Méthodologie
  • Tribu Microsoft
  • Tribu Open Source
  • Tribu Testing & QA

Tags

API Architecture AWS AWS ECS Azure backend cloud cloud native devops Docker Docker Swarm développeurs frontend fullstack Java JavaScript Kubernetes Langage Microservices monolith programmation Python React recruteurs Rust Web Web development
  • Mentions légales
  • RGPD
  • SUIVEZ-NOUS
Captiva

Captiva© 2019 All rights reserved.

HAUT