debut de glossaire

This commit is contained in:
gwen 2017-03-18 15:47:40 +01:00 committed by Benjamin Bohard
parent 60b1491067
commit 9d22aa4bb4
4 changed files with 145 additions and 53 deletions

View File

@ -73,11 +73,12 @@ volonté d'abstraire.
une autre approche de la réutilisabilité permettant la réalisation très rapide de
prototypes.
Détails des niveaux d'abstraction par rapport à la machine
-----------------------------------------------------------
Description des niveaux d'abstraction par rapport à la machine
---------------------------------------------------------------
L'extrème déploiement des langages (plusieurs milliers de langages différents)
est dû au succès de l'ordinateur.
Les langages de haut niveau simplifient le travail du
programmeur là où les langages de bas niveau permettent de produire un code
plus efficace.
- **niveau 0** : le langage machine. Illisible, c'est une suite d'optcode.
impossible de coder dans ce langage.

View File

@ -1,8 +1,3 @@
.. Algorithmique documentation master file, created by
sphinx-quickstart on Thu Mar 16 16:07:00 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Introduction à l'algorithmique
================================
@ -14,9 +9,10 @@ Contents:
fondement
langage
modularite
machine
.. algorithmique
.. FIXME machine, algorithmique

View File

@ -112,6 +112,74 @@ Importance de la lisibilité (notamment par rapport aux méthodes agiles).
Langages compilés ou interprétés ?
-----------------------------------
.. glossary::
langage compilé
une première passe est faite, des validations son effectuées **avant**
la génération du code objet, cette phase est faite par le compilateur.
compilateur
programme qui transforme un langage de haut niveau en un langage de base
niveau
- phase danalyse syntaxique (source -> syntaxe abstraite)
- phase de synthèse (syntaxe abstraite -> code objet)
scripting (langage de scripting)
langage interprèté
générique (langage)
Langage à usage générique, qui peut être utilisé dans n'importe quel
domaine (par opposition au DSL)
domain specific
Domain Specific Language, langage destiné à être utilisé dans un
domaine prédéfini.
paradigmes
représentation d'une vision particulière à partir d'un modèle théorique
impératif
l'algorithme ressemble à une recette de cuisine,
c'est-à-dire à une succession d'instructions à exécuter
les unes à la suite des autres
fonctionnel
l'algorithme ne dépend plus de l'ordre d'exécution d'instructions
pas de mélange entre les données et les traitements
objets (programmation)
le monde est découpé en catégories
qui permettent de créer des objets
**développement par composants**
les objets sont organisés entre eux par composants suivant des designs patterns,
(patrons de conception)
garbage collector (ramasse miettes)
la gestion automatique de la mémoire apparaît en 1989
machine virtuelle
portabilité du code (mais diminution en optimisation et performances)
JIT (just in time compiler)
code objet, programmes fonctionnant autour de machines virtuelles
- **le typage statique** : la vérification de la compatibilité entre les types des
paramètres formels et des paramètres d'appel est effectuée au moment de la
compilation du programme. Dès lors, il n'est pas nécessaire de faire ces

View File

@ -0,0 +1,27 @@
Machine abstraite
-----------------
une machine, ce truc apparemment si complexe, est en fait
un assemblage de bric et de brac.
l'assemblage des connecteurs permet de simuler un additionneur,
en prenant en compte les propriétés de **reste euclidien**
de l'addition.
la structure électronique est composée de :
- un ordonnanceur.
- le stockage d'un **état**.
- une pile d'instruction
dès lors qu'on dispose de ces bases électronique au dessus du processeur,
un langage d'assemblage est possible, c'est le langage de calcul sur les registres.
l'adressage mémoire
registre
machines ont un espace mémoire et un espace de calcul (registres)