<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.lestanville.eu/index.php?action=history&amp;feed=atom&amp;title=Languages</id>
	<title>Languages - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lestanville.eu/index.php?action=history&amp;feed=atom&amp;title=Languages"/>
	<link rel="alternate" type="text/html" href="https://wiki.lestanville.eu/index.php?title=Languages&amp;action=history"/>
	<updated>2026-11-06T16:40:29Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.36.3</generator>
	<entry>
		<id>https://wiki.lestanville.eu/index.php?title=Languages&amp;diff=30&amp;oldid=prev</id>
		<title>Guillaume : Page créée avec « Je ne vais pas rentrer dans les détails, mais je vais évoquer quelques langages de programmations que j&#039;estime représentatif ou bien qui ont eu un impact sur l&#039;évoluti… »</title>
		<link rel="alternate" type="text/html" href="https://wiki.lestanville.eu/index.php?title=Languages&amp;diff=30&amp;oldid=prev"/>
		<updated>2022-09-02T12:10:35Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « Je ne vais pas rentrer dans les détails, mais je vais évoquer quelques langages de programmations que j&amp;#039;estime représentatif ou bien qui ont eu un impact sur l&amp;#039;évoluti… »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Je ne vais pas rentrer dans les détails, mais je vais évoquer quelques langages de programmations que j&amp;#039;estime représentatif ou bien qui ont eu un impact sur l&amp;#039;évolution des langages.&lt;br /&gt;
&lt;br /&gt;
== De la machine à l&amp;#039;humain : l&amp;#039;assembleur ==&lt;br /&gt;
Il ne faut pas se leurrer, la machine ne voit qu&amp;#039;une succession de bits à interpréter. Sauf que pour l&amp;#039;humain, ce n&amp;#039;est pas lisible, ni même très parlant.&lt;br /&gt;
&lt;br /&gt;
Pour rendre le code machine lisible, on a inventer le langage d&amp;#039;assemblage. A la base il s&amp;#039;agit d&amp;#039;un ensemble de mots mnémotechniques qui indiquent les instructions à exécuter.&lt;br /&gt;
Le code source est passé dans un processeur d&amp;#039;assemblage qui interpréter les mots pour les transformer en code binaire.&lt;br /&gt;
&lt;br /&gt;
C&amp;#039;est assez spartiate, mais c&amp;#039;est un début. &lt;br /&gt;
&lt;br /&gt;
D&amp;#039;ailleurs certains compilateur de langages plus évolués comme le C généraient des scripts en langages d&amp;#039;assemblage.&lt;br /&gt;
&lt;br /&gt;
Exemple de script pour le processeur 6502:&lt;br /&gt;
&lt;br /&gt;
  :start&lt;br /&gt;
  LDA #0208&lt;br /&gt;
  CMP #40&lt;br /&gt;
  BNE suite&lt;br /&gt;
  JMP start&lt;br /&gt;
  :suite&lt;br /&gt;
  RTS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Le père de beaucoup : le C ==&lt;br /&gt;
Et pourquoi le C ? En fait la syntaxe définie dans ce langage est reprise dans beaucoup de langages contemporains. Je pense à l&amp;#039;Ecmascript, au Java, au C#, au PHP entre autres. &lt;br /&gt;
&lt;br /&gt;
Je pense entre autres au structures de contrôle et la création de fonction. Certes, il y a eu quelques variantes depuis, mais les bases sont là.&lt;br /&gt;
&lt;br /&gt;
  double fact(double n) {&lt;br /&gt;
     if (n &amp;lt;= 1) return 1;&lt;br /&gt;
     return n * fact(n -1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== La programmation logique: Lisp et Prolog ==&lt;br /&gt;
Le Lisp pose les bases de la programmation logique en utilisant un paradigme déclaratif.&lt;br /&gt;
&lt;br /&gt;
Le Prolog pousse un peu plus loin le concept de programmation logique avec des concepts d&amp;#039;assertions.&lt;br /&gt;
&lt;br /&gt;
== L&amp;#039;arrivée de l&amp;#039;objet ==&lt;br /&gt;
C&amp;#039;est le langage Simula qui pose les bases de la programmation orientée objet. &lt;br /&gt;
&lt;br /&gt;
Viendront ensuite Smalltalk, le C++ et Objective-C.&lt;br /&gt;
&lt;br /&gt;
Le langage Java a permis de créer beaucoup d&amp;#039;outils autour de la conception objet, et entre autres autour de la méthode UML.&lt;br /&gt;
&lt;br /&gt;
== Programmation fonctionnelle ==&lt;br /&gt;
Je pense au langage Caml et sa version orientée objet Objective-Caml. Il y a également Erlang et Scheme.&lt;br /&gt;
&lt;br /&gt;
Le but de ces langages et d&amp;#039;éviter les effets de bord dus aux affectation. Avec les langages impératifs on peut y arriver mais au prix d&amp;#039;une grosse discipline.&lt;br /&gt;
&lt;br /&gt;
== Les mathématiques et les sciences ==&lt;br /&gt;
Il y a eu des tentatives avec Mathematica, puis l&amp;#039;environnement Matlab a pas mal démocratisé. Depuis c&amp;#039;est le langage Python qui grâce à des librairies dédiées est devenu très populaire dans ces domaines.&lt;br /&gt;
&lt;br /&gt;
== Le Web dynamique ==&lt;br /&gt;
Les première pages du Web était plutôt statiques avec le HTML. Le PHP a permis de dynamiser très facilement tout cela.&lt;br /&gt;
&lt;br /&gt;
D&amp;#039;autres langages comme le Ruby, grâce à son framework Ruby On Rails, a lancé les frameworks de développement web avec l&amp;#039;architecture Modèle-Vue-Contrôleur.&lt;br /&gt;
&lt;br /&gt;
Ca s&amp;#039;est pour le côté serveur. Sauf que du côté du navigateur, il fallait ajouter des petites animations pour rendre la page plus attrayante. C&amp;#039;est l&amp;#039;Ecmascript plus connu sous le nom de Javascript qui prend le monopole. Aujourd&amp;#039;hui à l&amp;#039;aide d&amp;#039;un service NodeJs on peut également écrire la partie serveur d&amp;#039;une application avec ce langage.&lt;br /&gt;
&lt;br /&gt;
TypeScript et plus récemment Kotlin, sont capables de générer du JS lors de la compilation.&lt;br /&gt;
&lt;br /&gt;
== Les bases de données ==&lt;br /&gt;
Le SQL s&amp;#039;est imposé comme langage de référence pour interroger les bases de données. Oracle fait partie des pionniers. Mais ce langage s&amp;#039;est beaucoup popularisé avec MySql et Postgresql.&lt;br /&gt;
&lt;br /&gt;
Chaque système de base de données dispose de son propre dialecte, mais la base reste commune.&lt;br /&gt;
&lt;br /&gt;
  SELECT nom, prenom FROM utilisateur WHERE id=5;&lt;/div&gt;</summary>
		<author><name>Guillaume</name></author>
	</entry>
</feed>