C , C + + , Python, C # , Perl, Objective C, Ruby, Java, Basic , Clojure , Scala sont parmi la litanie des langages de programmation disponibles pour l'équipe moderne de développement de logiciels . Quand il s'agit de choisir une de ces langues à utiliser pour un projet particulier , les principaux facteurs dans la décision descendront aux exigences techniques du projet et les compétences linguistiques de l'équipe de développement . Target Platform
Un des facteurs les plus importants pour déterminer le langage de programmation d'un projet sera élaboré en est la plate-forme cible d'une application. Si une équipe se développe une application qui ne sera exécuté sur le système d'exploitation Windows, alors qu'ils pourraient utiliser Visual C # de Microsoft . Toutefois , si l'équipe compte pour l'application de fonctionner sur plusieurs plates-formes , il n'est pas logique de programmer le projet dans un langage conçu pour compiler des programmes pour un système d'exploitation unique. Quelque chose comme Java, qui est intrinsèquement multi- plate-forme, ou C + + , dont le code source peut être modifié pour compiler pour différents systèmes d'exploitation , serait un meilleur choix .
Bibliothèques
< p> Tout en étant «paresseux» n'est généralement pas une bonne chose, c'est une bonne chose d'être un programmeur paresseux. Programmeurs paresseux sont les développeurs qui utilisent des outils existants pour effectuer des fonctions de base dans les nouveaux moyens qui sont propres à leur projet en cours plutôt que de passer du temps à la création d' un tout nouvel outil. Des exemples de ces outils que les programmeurs peuvent utiliser, plutôt que de réinventer , on compte des bibliothèques pour générer des interfaces utilisateur graphiques ou d'établir des connexions réseau. Ceux-ci peuvent être des bibliothèques individuelles mis sur des projets open source, ou expansives , propriétaire, ensembles de bibliothèques. Si une entreprise a besoin d'utiliser ces bibliothèques pour leurs projets , ils devront choisir une langue pour laquelle la bibliothèque dispose d'une interface . Par exemple, si une équipe de développement voulait utiliser . NET Framework de Microsoft , ils seraient amenés à utiliser l'un des «visuelle» des langages de programmation de Microsoft.
Hardware Accès
les langages de programmation
peuvent être divisées en langues «faible» niveau, tels que C et C + + , ou des langues de niveau «haut», tels que Python et Perl. Langages de bas niveau sont conçus pour donner le programmeur plus accès au matériel réel s'exécutant sur un périphérique donné . Langages de haut niveau , d'autre part , de gérer plus de cet accès pour le programmeur . Si une équipe se développe une application dont le but est de ne pas manipuler les composants matériels individuels, comme un jeu vidéo , puis en utilisant un langage de programmation de haut niveau rend la vie plus facile pour les programmeurs en gérant utilisation de la mémoire automatiquement . Si l'équipe est le développement de logiciel qui est spécifiquement conçu pour accéder et manipuler des composants matériels , tels que les logiciels de contrôle pour les composants robotiques ou des pilotes de périphériques, puis l'équipe doit utiliser un langage de bas niveau pour obtenir ce genre d'accès .
équipe ensemble de compétences
en l'absence d' autres facteurs qui dictent la langue dans laquelle le projet doit être développé , notamment les exigences d'accès au matériel ou la compatibilité de la bibliothèque, l'ensemble des compétences d'un développement les membres de l'équipe est essentielle à cette décision. Si une équipe est composée de fissures développeurs Java qui sont familiers avec C # et le projet pourrait être achevé en Java, puis les responsables du projet auront probablement l'équipe faire le projet en Java. C'est parce que l'équipe serait en mesure de terminer le projet en moins de temps , avec un meilleur produit final dans la langue avec laquelle ils ont plus de compétences .