Sujet de veille technologique : Les langages de développement et leurs évolutions



Documents pareils
Évaluation et implémentation des langages

Point sur les solutions de développement d apps pour les périphériques mobiles

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Introduction aux Bases de Données Relationnelles Conclusion - 1

Éléments de programmation et introduction à Java

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Paul FLYE SAINTE MARIE

les techniques d'extraction, les formulaires et intégration dans un site WEB

Expert technique J2EE

Cours 1 : La compilation

Alpha PRIMO 58 boulevard baron du Marais Roanne / / contact@alphaprimo.fr

Les Langages Informatiques

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Cours en ligne Développement Java pour le web

Consultant-Développeur en informatique

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

PROSOP : un système de gestion de bases de données prosopographiques

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

M Études et développement informatique

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

Architecture Orientée Service, JSON et API REST

Gé nié Logiciél Livré Blanc

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Devenez un véritable développeur web en 3 mois!

Architectures web/bases de données

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

CATALOGUE DES FORMATIONS LANGUES

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Logiciel et format de fichiers

OMGL 6 Cahier des charges

C U R R I C U L U M V I T A E

Le génie logiciel. maintenance de logiciels.

Les BRMS Business Rules Management System. Groupe GENITECH

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

CH.3 SYSTÈMES D'EXPLOITATION

Éléments d'architecture des ordinateurs

Présentation du Framework BootstrapTwitter

Cours 1 : Qu est-ce que la programmation?

Développeur - Conseiller - Formateur web

Chapitre 1 Qu est-ce qu une expression régulière?

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

M Études et développement informatique

Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Catalogue des Formations Techniques

Catalogue des Formations

Bases de données cours 1

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Comment booster vos applications SAP Hana avec SQLSCRIPT

Environnements de développement (intégrés)

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Ingénieur Développement Nouvelles Technologies

Les différents parcours en S4

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Serveur d Applications Web : WebObjects

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Option GSI Génie et Systèmes Informatiques

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

OMGL6 Dossier de Spécifications

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

En date du 11 décembre 2008

Burckel Thomas. Formation. Compétences

BACHELOR DEVELOPPEUR WEB

Nos webmasters, web designers et ingénieurs de développement vous accompagnent dans vos projets afin de vous apporter entière satisfaction.

Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007

Chapitre 2 : Abstraction et Virtualisation

JACi400 Développement JACi400 Déploiement

Dispositif sur budget fédéral

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

MERMET Sébastien Ingénieur Informatique INSA Analyste Développeur Senior Business & Data Analyste Senior 11 ans d expérience

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

CQP Développeur Nouvelles Technologies (DNT)

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Léa Dumas Développeuse front-end Intégratrice //

M Études et développement null informatique. R i. Appellations. Analyste cogniticien / cogniticienne informatique

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Rappels sur les suites - Algorithme

Les frameworks au coeur des applications web

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

proximite + qualite + competitivite

Formations et Certifications. Parcours professionnel SOFIANE HASSINE DIRECTEUR INFORMATIQUE (CTO) +10 ANS D'EXPERIENCE ARCHITECTE D'INNOVATIONS R&D

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

COMPÉTENCES TECHNIQUES

Transcription:

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