TPE SUR LA PROGRAMMATION INFORMATIQUE
Publié le 28/01/2013
Extrait du document
Les langages compilés
Un compilateur est lui-même un programme, qui permet la traduction du code source en langage machine, autrement dit le « langage source « en «langage cible «. Le compilateur est une interface entre deux langages ; il agit comme un traducteur qui analyse globalement le texte source et en construit une représentation intermédiaire qu'il traduit en langage machine. Le compilateur inclut une étape d'a nalyse syntaxique qui vérifie la correction du langage utilisé.
Les langages interprétés
Un interprète, tout comme un compilateur, est un programme qui analyse le code source ; mais, à la différence du compilateur, il traduit le code ligne par ligne(« à la volée «), afin de rendre les instructions du programme directement exécutables. Ce mode de compi lation est particulièrement employé pour compiler les langages utilisés pour la programmation web (PHP, ASP, PERL, JSP ... ).
«
Les phases de la vie d'un programme informatique
Rédaction du code source Compilation Éxécution du programme
développement de tout programme informatique.
L'EXÉCUTION D'UN PROGRAMME Le code source, une fois rédigé, va être traduit en langage machine .
Pour ce faire , il va être compilé, pour être compris par l'ordinateur.
Ceci peut être fait de plusieurs manières , et l'on distingue généralement les langages compilés, les langages interprétés et les langages utilisant une machine virtuelle .
Les langages compilés Un compilateur est lui-même un programme , qui permet la traduction du code source en langage machine , autrement dit le « langage source » en «langage cible ».
Le compilateur est une interface entre deux langages ; il agit comme un traducteur qui analyse globalement le texte source et en construit une représentation intermédiaire qu'il traduit en langage machine .
Le comp ilateur inclut une étape d'analyse syntax ique qui vérifie la correction du langage utilisé.
Les langages interprétés Un interprète , tout comme un compilateur, est un programme qui analyse le code source ; mais , à la différence du compilateur, il traduit le code ligne par ligne( « à la volée »), afin de rendre les instructions du programme directement exécutables.
Ce mode de compi lation est particulièrement employé pour compiler les langages utilisés pour la programmation web (PHP, ASP , PERL , JSP ...
).
Les langages utilisant une machine virtuelle Un compilateur traduit le code source en fichier exécutable compris par la machine sur laquelle il a été compilé uniquement (par machine on entend ici le couple micro-processeur /système d'exploitation ).
Par exemple, un programme compilé sous Windows ne pourra fonctionner sous Macintosh ou sous Linux (système d'exploitation open source ).
Afin de développer un programme indépendamment de l'architecture de la machine , un nouveau mode d'exécution a été développé .
Cette technologie, qui fut initiée avec le lancement du langage Java (Sun Microsystems ), n'entraine plus une compilation spécifique à l'architecture
de la machine, mais une pré compilation en un langage qui sera désormais interprété par une machine virtuelle.
C'est ce programme qui achève la compilation du logiciel , la rendant indépendante de la machine .
En effet dans cette conception de l'architecture, seule la machine virtuelle doit être spécifique au système d 'exploitation.
Une fois la machine virtuelle développée pour Windows , Macintosh et Linux, ou même pour un téléphone portable, un même programme fonctionnera indifféremment sous les différents systèmes d'exploitation.
La machine virtuelle présente d'autres avantages .
t:exécution d 'un programme dans un espace contrôlé accroit la sécurité.
Généralement des erreurs de programmation entrainent ce que l'on appelle des failles de sécurité ; ces failles peuvent être exploitées par des pirate s informatiques à des fins de prise de contrôle de la machine à distance ou de destruction des données .
Ces failles sont habituellement dues à un dépassement de la mémoire (buffer overflow) ; la machine virtuelle contrôle la mémoire, évita nt ainsi ce type de failles.
LES MACHINES À CMTES PERFORÉES On peut situer les débuts de la programmation informatique à l'invention de la machine à cartes perforées par Herman Hollerith .
Ce
système , certes très éloigné des programmes actuels, fut utilisé pour le recensement de la population des États Unis en 1890 , et donna naissance notamment à l'entreprise IBM en 191 l.
En réalité, cette technique est similaire à celle employée pour le métier à tisser de Jacquard , au début du XIX' siècle.
Ces cartes représentent, tout comme les rubans perforés , les premiers supports de la mémoire des ordinateurs .
LES MACHINES À CALCUUR Il faut noter que l 'on remonte parfois jusqu 'à l'invention de la Pascaline en 1642 pour situer les débuts de la programmation.
Cette machine à calculer, élaborée par Blaise Pascal, ne permettait d'effectuer que des additions et des soustractions.
Deux siècles plus tard, Charles Xavier Thomas de Colmar invente la première véritable machine à calculer, l'arithmomètre .
Si ces inventions ne représentent pas réellement des programmes, au sens où on l'entend aujourd'hui, elles correspondent néanmoins aux résultats d'une recherche sur l'algorithmique.
Avant même l'invention de l'informatique, les scientifiques élaborent des théories sur cette discipline , étudiée dès ! 'Antiquité .
Aujourd 'hui, des algorithmes dits « de compression » sont utilisés dans la programmation informatique pour des applications très concrètes telles que les fichiers ZIP.
LE PREMIER ORDINATEUR Au lendemain de la Seconde Guerre mondiale , on assiste à la naissance des premier s ordinateurs .
t:ENIAC
(Eledronic Numerical lntegrator Analyser and Computer ) fut développé par l'armée américaine , afin de résoudre des séries de calculs complexes (cette machine est alors capable de réaliser chaque seconde 100000 additions ).
Constitué entre autres de 17 468 tubes à vide, il pèse 30 tonnes et nécessite un espace de 167 m '.
Si cette machine ne présente que peu de similitudes avec nos micro ordinateurs actuels, les travaux effectués par les scientifiques américa ins influencèrent le développement des ordinateurs et des programmes informatiques .
EVOLUTION DES PROGRAMMES ET DES LANGAGES INFORMATIQUES Entre les années 1950 et les années 1970 , la société IBM développe notamment le premier langage de
programmation universel, le FORTRAN.
Dans les années 1960 , l'info rmatique connait un développement particulièrement fort, après l'invention des ordinateurs à circuit intégré .
Au cours des années 1970 , on assiste à la miniaturisation des processeurs et, dans le même temps , à la sortie sur le marché des mini-ordinateurs.
En ce qui concerne les langages de programmation , on observe également une évolution.
Après le FORTRAN en 1957 , le langage COBOL (toujours utilis é, notamment dans les systèmes banc aires) est élabor é en 1960 , suivi par le BASIC en 1964.
Ce dernier sera relancé par Paul Allen et Bill Gates en 1975 pour l'adapter aux premiers ordinateurs personnels .
S 'ensuit la création de nombreux langages de programmation , qui globalement répondent à un constant besoin de simplification, en même temps que de formalisation des langages .
Parmi ces langages , il faut relever l'invention du C , qui permet d'optimiser le système d'exploitation UNIX .
En 1983, une extension orientée objet au langage C est développée, c'est le C++ .
De même, avec le développement de l'Internet , les langa ges permettant de développer des applicat ions web se multiplient : PHP (1995 , non propriétaire) et ASP (chez Microsoft) , Java (1995, langage purement orienté objet) et C# (réponse de Microsoft à Java ).
LES ACTEURS DE LA PROGRAMMATION
LE MÉTIER DE PROGRAMMEUR, LA FORMATION, US DÉBOUCHÉS L'activité de programmation informatique correspond au métier de programmeur, ou développeur .
De manière schématique, ce métier consiste en la conception et en la réalisation de programmes visant à résoudre une ou plusieurs taches données .
Cette fonction peut être exercée au sein d'une société de développement informatique aussi bien que dans le service informatique d 'une grande entreprise, et se pratique généralement en équipe.
Les débouchés sont relativement nombreux , dans le sens où les programmes informatiques sont utilisés dans bien des domaines .
Outre la micro-informatique (logiciels conçus pour les ordinateurs des particuliers ),
des applications sont conçues pour l'informatique industrielle (robots, capteurs et régulateurs , chaines de montage ou de fabrication industrielles), ou encore pour des domaines purement scientifique s tels que la bioinformatique (analyse et séquençage du génome, mod élisation moléculaire, analyse d'images ...
).
La principale problématique du métier de développeur est liée à l'évolution constante de l'informatique ; les programmeurs sont appelés à maintenir des compétences techniques tout au long de leur vie professionnelle .
Un programmeur , au cours de sa carrière , voit la naissance et l'évolution de nombreu x langages , tant au niveau technique qu'au niveau conceptuel.
LOGICIEL PROPRIÉTAIRE ET LOGICIEL LIBRE
En conclusion , il est intéressa nt de se pencher sur la question du logiciel libre et du logiciel propriétaire.
Pour faire simple, le code source peut être assimilé à une « recette •>, que l'on peut ou non laisser à disposition de l'utilisateur -et avant tout du développeur; c 'est ce que l'on désigne par l'anglicisme open source .
On peut définir cela comme une propriété intellectuelle réutilisable .
Les logiciels libres et propriétaires constituent deux modèles économiques différents.
Quand on l'achète , un logiciel dit propriétaire ne donne accès qu'au programme sous forme compilée et donc binaire, comme un plat dont on ne connait pas les ingrédients .
Le logiciel libre lui, fournit à la fois le programme et son code source.
La plus-value sur un logicie l libre se fait alors généra lement sur les services (le support par exemple) liés au produit plutôt que sur le produit lui-même .
Certains programmeurs font le choix de ne travailler que sur le logiciel libre, ce qui correspond souvent à un choix de carrière.
ALAN TURING
Né en 1912 en Angleterre, Alan Mathison Turing est considéré comme un des précurseurs de l'informatique, plus particulièrement dans ses aspects logiques.
Influencé par les travaux de John von Neumann sur la mécanique quantique au cours de ses études à Cambridge dans les années 1930 , il s'intéresse aux probabilités et à l'algorithmique.
Alors que l'Europe connait la montée des fascismes et du nazisme , Turing développe le concept dit « de la Machine de Turing » (1936).
Il formalise ainsi le principe de l'algorithme, qu'il représente par une succession d'inst ructions aboutissant à un résultat.
Au cours de la seconde Guerre mondiale, Turing met en pratique ses théories au service du ministère des Affaires étrangères britannique , pour l'étude d'Enigma, machine utilisée par les nazis pour la communication de leurs sous-marins.
Après-guerre , Alan Turing travaille aux côtés des scientifiques anglais à l'élaboration des premiers ordinateurs , en parallèle aux recherches menées dans ce domaine par les américains (sur le projet ENIAC)..
»
↓↓↓ APERÇU DU DOCUMENT ↓↓↓
Liens utiles
- programmation informatique
- programmation génétique (informatique) - informatique.
- programmation objet - informatique.
- programmation, langage de - informatique.
- TPE SUR LA SÉCURITÉ INFORMATIQUE