2014 Sujet de veille technologique : Les langages de développement et leurs évolutions Charly Rivière IIA
SOMMAIRE : SOMMAIRE :... 0 1. Pourquoi ce sujet?... 2 2. Qu est-ce qu un langage de développement... 3 3. Historique... 4 4. Utilisation des langages à ce jour... 6 5. Les Framework... 8 6. Conclusion... Erreur! Signet non défini.
1. Pourquoi ce sujet? J ai choisi les langages de développement comme sujet de veille technologique pour plusieurs raisons : D une part, ayant choisi l option SLAM (Solutions Logicielles et Applications Métiers) ce sujet me concerne directement. D autre part je pense qu il est important d être à jour au niveau des technologies utilisées lorsqu on est dans le milieu du développement, ou plus largement de l informatique, pour ne pas être dépassé.
2. Qu est-ce qu un langage de développement En informatique, un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est fait d'un alphabet, un vocabulaire, des règles de grammaire, et des significations Les langages de programmation permettent de décrire d'une part les structures des données qui seront manipulées par l'appareil informatique, et d'autre part d'indiquer comment sont effectuées les manipulations, selon quels algorithmes. Ils servent de moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs, les programmes étant d'ordinaire écrits, lus, compris et modifiés par une communauté. Un langage de programmation est mis en œuvre par un traducteur automatique: compilateur ou interpréteur. Un compilateur est un programme informatique qui transforme dans un premier temps un code source écrit dans un langage de programmation donné en un code cible qui pourra être directement exécuté par un ordinateur, à savoir un programme en langage machine ou en code intermédiaire, tandis que l'interpréteur réalise cette traduction 'à la volée'. Les langages de programmation offrent différentes possibilités d'abstraction, et une notation proche de l'algèbre, permettant de décrire de manière concise et facile à saisir les opérations de manipulation de données et l'évolution du déroulement du programme en fonction des situations. La possibilité d'écriture abstraite libère l'esprit du programmeur d'un travail superflu, notamment de prise en compte des spécificités du matériel informatique, et lui permet ainsi de se concentrer sur des problèmes plus avancés. Chaque langage de programmation reflète un paradigme, un ensemble de notions qui orientent le travail de réflexion du programmeur, sa technique de programmation et sa manière d'exprimer le fruit de ses réflexions dans le langage choisi. (Sources : Wikipédia)
3. Historique Après l assembleur, les premiers langages informatiques tels que le Fortran, l A-0 ou encore l Algol ressemblait à cela : On peut voir qu il fallait beaucoup de lignes de code pour afficher un simple bonjour. Ils sont apparus dans les années 50 et 60 puis ont données naissances à plusieurs évolutions ou à d autres langages (voir image annexe 1). Les programmes développés avec ces types de langages étaient souvent dédiés à des domaines spécifiques tels que la science ou les mathématiques. La syntaxe de ces langages étant compliqués, on peut comprendre que les développeurs et ingénieurs de l époque ont voulu facilité leurs utilisations et ainsi participer à la créations de programmes de plus en plus compliqué et nécessitant de moins en moins de mémoire pour être exécutés. Plus tard, en 1963, le langage BASIC a été créé par John George Kemeny. Le but de sa création était de mettre à dispositions des étudiants un langage abordable en termes de technique et pas seulement réservé aux experts en la matière. La syntaxe, inspiré du Fortran est alors plus lisible et compréhensible. Voici un extrait celle-ci du BASIC au moment de sa sortie :
De nombreux systèmes ont été développés en BASIC, on compte parmi eux : Des programmes pour calculatrices Texas Instrument et Casio L Apple I, II et III L IBM PC et Compatible PC Le C arrive environ 10 ans après apportant son lot d améliorations mais ne permettant pas encore de développer en objet, il est qualifié de langage impératif comme ses prédécesseurs. Ce langage est aujourd hui considéré comme étant de bas niveau alors qu à l époque, un langage tel que le Fortran était considéré comme haut niveau, on peut le voir via le schéma suivant : Celui-ci a inspiré de nombreux langages plus récent tels que le C++ et le Java. Les langages sortis avec ou pendant le C permettaient aux développeurs de développer des programmes compliquées. Cependant, lorsqu il fallait reprendre le code pour corriger les bugs ou effectuer des mises à jours, cela devenait compliquer. En effet ce type de langage ne permettait de développer que de façon procédurale, il fallait donc trouver un système permettant une meilleurs lisibilité des programmes dans leur ensemble ce qui permettrait une maintenance plus facile. C est pourquoi C++ et Java par ont vu le jour respectivement en 1983 et 1995 et ont subi de nombreuses améliorations jusqu à maintenant.
4. Utilisation des langages à ce jour La tendance actuelle est plutôt aux langages objets en ce moment, on peut le voir d après le schéma suivant : La majorité des langages en têtes de liste sont des langages objets, cependant le C arrive premier du classement.
Un exemple : le cas du COBOL : D anciens langages tels que le COBOL sont encore un peu utilisés. L une des raisons est que ce langage a servi à développer de nombreuses applications pour les banques. En général, celles-ci ne souhaitent pas s équiper d un nouveau logiciel mais plutôt sur une amélioration de l existant. Le problème est que le COBOL est un langage ancien et plus compliqué dans sa syntaxe que les plus récent que sont JAVA ou PHP par exemple, il reste donc assez peu de développeur ayant des compétences dans ce langage. (Sources : Tiobe.com) Voici une autre représentation dans laquelle on peut voir les changements des tendances d utilisation des langages de programmation par années. En matière de développement web, le JavaScript (lié à l HTML) est l un des langages les plus utilisés pour le côté client. Pour le côté serveur, la tendance actuelle est plutôt PHP. On peut constater ceci grâce au tableau suivant qui représente l utilisation des langages de programmation pour les sites internet les plus consultés que sont Google, Facebook ou encore Yahoo.
5. Les Framework Tout d'abord, qu est-ce qu un Framework? En programmation informatique, un Framework est un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d une partie d'un logiciel (architecture). Un Framework se distingue d'une simple bibliothèque logicielle principalement par : Son caractère générique, faiblement spécialisé, contrairement à certaines bibliothèques. Un Framework peut à ce titre être constitué de plusieurs bibliothèques chacune spécialisée dans un domaine. Un Framework peut néanmoins être spécialisé, sur un langage particulier, une plateforme spécifique, un domaine particulier (Reporting, mapping, etc.). Le cadre de travail (traduction littérale de Framework) qu'il impose de par sa construction même, guidant l'architecture logicielle voire conduisant le développeur à respecter certains patterns ; les bibliothèques le constituant sont alors organisées selon le même paradigme. Les Framework sont censé facilité le développement d un logiciel/site web tout en optimisant le temps de production et la phase d après développement, c est-à-dire la maintenance ou la mise à jour des fonctions. Voici un récapitulatifs des Framework les plus utilisés en ce moment : PHP JavaScript Java Objective C C# Yii Codelgniter CakePHP Zend Symfony BackBone.js Spine.js Angular.js Ember.js Node.js Bootstrap.js Spring (web) Struts (web) JavaServerFaces (web) Hibernate Cocoa.net