# Théorie du langage/Langage informatique
## Langage informatique

Pour communiquer avec les ordinateurs, les programmeurs ont développés des langages de Programmation. Ces langages sont semblables à notre langue, dans la mesure où ils sont composés d’un alphabet, des règles de grammaire à respecter, d'un vocabulaire ainsi que des significations. Ces langages sont l’intermédiaire entre l’utilisateur (l’être humain) et l’ordinateur.
* Le tout premier langage informatique est le langage binaire. Il a été créé lors de l’inauguration des premiers ordinateurs en 1940. Grâce à ce langage composé d'une suite de nombre de 0 à 1 et de règles complexes, il était possible de donner des ordres à un ordinateur.
* Le deuxième langage créé, encore d’actualité mais très peu utilisé, est le langage Assembleur. Ce langage est extrêmement complexe et nécessite beaucoup d’effort intellectuel car il n’y a que très peu de points commun avec notre manière de raisonner en tant qu’être humain.
Ces langages Assembleur et Binaire sont appelés « langage de bas niveau ». Dans le monde de l’informatique, plus un langage est « bas niveau » plus il est complexe de l’utiliser, a contrario, un langage « haut niveau » est beaucoup plus simple à apprendre, mais limite la personne qui l’utilise dans sa création d’un programme complexe (car plus le langage est simple à comprendre, moins il est possible de créer de chose complexe avec).
Face à cela, les programmeurs de l’époque ont commencé à créer des langages plus accessibles aux hommes notamment :
* Le langage C : Créé en 1975 par Dennis Ritchie, c’est l’un des langages informatiques le plus connu et encore beaucoup utilisé de nos jours.
* Le langage JAVA : Il s’agit d’un type de programmation plus récent, appelé Orienté Objet, qui permet de faire des programmes similaires au langage C mais avec un approche totalement différente.
* Le langage HTML/CSS : Langage de programmation de site Web, il est de très haut niveau ce qui lui donne l’avantage d’être très simple à apprendre. Mais on est rapidement limité lorsque l’on souhaite créer des sites internet complexes.

### Le Langage C

Le langage C est l’un des plus anciens mais également l’un des plus connus langage informatique. De nombreux nouveaux langages, comme le JAVA, sont fondés sur le langage C car celui-ci est une référence dans le monde informatique. Il est un peu moins utilisé depuis quelques années face à la concurrence du C++ qui est une version améliorée du langage C. Une très grande majorité des logiciels utilisés en entreprise ont été élaborés à l’aide du langage C.
Voici un exemple de programme très simple réalisé en langage C qui demande à l’utilisateur de rentrer son âge, et le programme lui dit s’il est mineur ou majeur.
Voici son code :
Explication :
- Les mots « age » et « continuer » sont appelés des variables. La variable « age » contiendra l’age de l’utilisateur lorsque celui-ci l’aura saisie. La variable « continuer » demandera à l’utilisateur s’il veut continuer à tester son age ou bien si celui-ci souhaite fermer le programme.
- Les mots « printf », « scanf » et « main » sont des fonctions. La fonction « printf » affiche un message à l’écran, la fonction « scanf » demande à l’utilisateur de saisir quelque chose.
- Les mots « if » et « else » sont des conditions, c’est-à-dire qu’ils vont tester la valeur de la variable « age ». Ici on a « if(age >= 18) » cela signifie que si l’age de l’utilisateur est supérieur ou égal à 18 ans il est majeur, sinon (« else ») il est mineur.
- Les mots « do » et « while » forment une boucle. À la fin de notre programme on demande à l’utilisateur s’il veut continuer (1 = oui, 0 = non). La ligne « do { … } « while(continuer == 1); » » peut donc se traduire par : Tant que l’utilisateur veut continuer, on exécute ce qui se trouve à la place des « … ».
Lorsque le programme est terminé, on obtient :

### Le Langage JAVA

Le langage JAVA a été créé en 1995 et a connu une croissance extrêmement forte. Il est devenu une référence dans les langages de programmation. La principale différence entre le langage C et le JAVA réside dans leur style de programmation totalement différente. En effet, il est globalement possible de faire la même chose avec les deux puisque ce sont des langages de bas niveau.
* Cependant, le JAVA est un langage orienté objet. La programmation orientée objet représente la décomposition en « objet » du programme, chaque objet sera lié à un autre objet. La principale notion que l’on retrouve dans le JAVA contrairement au langage C est l’Héritage d’objet.
* Le langage JAVA est facilement transportable d’un système d’exploitation à un autre, c’est-à-dire qu’il est très facile de faire fonctionner un programme à la fois sous Windows mais aussi sur un Macintosh ou Linux. On appelle ça un langage portable.
* L’exemple du programme précédent permettant de regarder si un utilisateur est majeur ou mineur se fait de manière totalement similaire en JAVA. En effet, ce programme est très simple, les différences entre le JAVA et le langage C ne se voient clairement que lors de la programmation de programmes plus complexes.

### Le Langage HTML/CSS

Le langage de présentation HTML (Hypertext Markup Language) a été créé dans les années 1990, il s’agit d’un langage extrêmement simple qui permet de créer des pages internet de manière rapide.
Néanmoins, il est assez restrictif (on ne peut pas mettre de couleur à notre texte par exemple), il est donc très régulièrement couplé au langage CSS qui permet « d’habiller » les pages Web avec de la couleur, des images, des bordures, etc.
À l’aide de ces deux langages, il est possible de créer des sites internet de manière efficace. Cependant, si l’on veut que le site internet interagisse avec l’utilisateur il faudra encore les coupler avec un autre langage nommé PHP.
Le PHP permet de créer des messageries entre les personnes ou bien de générer des statistiques de manières automatiques. Il est donc possible d’utiliser plusieurs langages différents en même temps s'ils sont compatibles entres eux.
Nous allons prendre un exemple très simple d’une page HTML, avec les explications ci-après :
Cette page Internet permet de voir les règles à respecter lors de la mise en page : Tout d’abord, toute la page Web est contenue dans des Blocks.
* Le premier block est <html></html> représente l’ensemble de la page Web (tout se trouve à l’intérieur). Il s’agit de montrer à l’ordinateur que nous allons écrire une page HTML.
* Le block <head></head> représente l’entête de la page Web. On peut y mettre des mots clés pour être référencé correctement sur les moteurs de recherche, y lier une page CSS (comme expliqué précédemment) et ajouter un titre à notre page grâce à <title> (il s’agit du titre qui s’affiche en haut de l’écran).
* Le block <body></body> représente le corps de la page web : c’est ici que l’on peut écrire des textes et afficher des images.
* Le block <p></p> signifie que l’on écrit un paragraphe, un bloc de texte.
* Les balises <strong> permettent d’écrire le texte en gras.
* Les balises <em> en italique
* Les balises <h2> permettent d’écrire un titre.
En HTML il suffit juste de connaitre les noms des blocks pour pouvoir créer une page Web simple et mettre en forme le texte comme on le souhaite.
| Langage des couleurs | Langage gestuel |