Formations langages

 

Alcya Informatique

 

Développement

Programmer, c'est quoi ?

Ce sont des intructions que l'on donne à un ordinateur (code source) et qui les exécutes (afficher une fenêtre, lancer une session de chat, faire des calculs, créer un système d'exploitation comme Windows, ...).

Pour donner ces instructions on utilise un langage que l'ordinateur comprend.
L'ordinateur ne comprend que le 0 et le 1 (le binaire), c'est le langage machine.
Il est difficile de dialoguer avec lui dans cette langue.

On invente donc des langages plus prochent de notre façon de penser.

Un langage est donc un ensemble de termes (en général en anglais) et de règles de grammaire.

Compilateur
C'est un traducteur. Il est chargé de convertir nos instructions en langage machine.
Le compilateur est en général spécifique à une plateforme.
Il est aussi souvent lié à un langage, bien que certains soient capables de traduire plusieurs langages.

Qui peut programmer ?

Toutes personnes est capable de faire des programmes.
Il n'est pas utile d'être ingénieur ou fort en mathématiques.
Par contre, il faut être motivé et posséder une bonne culture informatique.


Les types de langages

Langages compilés

Le compilateur va traduire tout le texte du code source pour produire un fichier en langage machine.
On peut donc exécuter directement ce fichier.

Langages interprétés

Chaque ligne du code source est analysée, compilée et exécutée lors de sa lecture (à la volée).


Des approches diverses

Concepts de développement
Les modes de développement
Modes Objectifs
Programmation concurrente S'exécute dans des threads ou processus distincts.
Programmation déclarative Applications basées sur des composants, on décrit le problème.
Programmation fonctionnelle Emboîtement de fonctions vues comme des "boîtes noires" que l'on peut imbriquer les unes dans les autres.
Programmation déclarative Applications basées sur des composants, on décrit le problème.
Programmation impérative Suites d'instructions, se concentre sur le comment d'une opération.
L'état du programme est défini par l'état de la mémoire centrale.
Programmation logique Définit les applications à l'aide d'un ensemble de faits élémentaires et de règles de logique leur associant des conséquences plus ou moins directes.
Programmation orientée aspect Séparer les aspects techniques des informations métiers.
Programmation orientée composant Utilisation de briques réutilisables.
Programmation orientée objet Définir et assembler des briques logicielles (les objets).
Un objet représente un concept, une idée, une entité du monde physique (un animal, le ciel, une personne, une fenêtre, ...).
Programmation orientée prototype Objet que l'on multiplie par clonage.
Programmation par contrainte Fournir un cadre et des méthodes pour la résolution de problèmes définis sur des domaines finis (exemple des intervals).
Programmation par contrat Le traitement est régi par des règles (des assertions).
Programmation par intention Obtenir un langage modulaire. C'est utiliser un langage hôte réduit à minima.
Ce langage est étendu par des méthodes indépendantes et réutilisables.
Programmation procédurale Une procédure (routine, sous-routine, fonction), contient une série d'étapes à réaliser.
Programmation structurée Langage qui offre des instructions évoluées comme des boucles et des conditions.

Dates en vrac

Vous pouvez télécharger un poster d'évolution des langages sur le site de O'Reilly

-3000
Invention du Binaire par Fou Hi en chine.
Apparition du boulier.
-320
Invention de la logique par Aristote.
820
Création de l'algorithmie par Al-Khwarizmi.
1000
G.d'Aurillac (pape Sylvestre II) impose la numération arabe et donc du Zéro.
1500
Léonard de Vinci invente le calculateur mécanique.
1621
Invention de la règle à calcul.
1623
Wilhelm Shickard invente la première machine à calculer "l'horloge à calcul". Sa machine pris feu avant d'être livrée à l'utilisateur. Elle utilisait la force humaine et des engrenages comme énergie. Elle faisait des additions et soustractions (nombres entiers). Le résultat n'était pas conservé.
1643
Pascal invente la première machine à calculer (la Pascaline). Il en existe encore des exemplaires.
1725
Basile Bouchon inventa le papier perforé.
1801
Invention du métier de Jacquard.
1840
Augusta Ada King, comtesse Lovelace traduit le mémoire de Frederico Luigi, mathématicien italien, relatif à la machine analytique.
Elle est considérée comme l'auteur du premier programme informatique.
Son image est présente dans les hologrammes de Microsoft.
1846
Konrad Zuse sort le premier langage de haut niveau Plankalkül.
Le premier compilateur pour ce langage apparait en 1998.
1948
Invention de l'assembleur. Premier langage à utiliser des mnémoniques à la place du langage machine.
1951
Premier langage évolué (A0).
1956
Première version du Fortran. Il est utilisé dans les calculs scientifiques et mathématiques.
1959
Sortie du Cobol et Lisp (John McCarthy).
Lisp est encore largement utilisé plus particulièrement dans l'intelligence artificielle.
1960
Arrivée du langage Algol (largement inspiré du Fortran).
1962
Simula apporte la notion objet à l'Algol.
1965
Première version du Basic (largement inspiré du Fortran) par J.G. Kemeny et T.E. Kurtz.
1968
Création du Pascal (nommé en hommage à Pascal).
1972
Apparition du langage C (Dennis Ritchie). Il constitue la base de nombreux langages modernes.
Prolog voit le jour.
Arrivée du premier langage objet Smalltalk à l'origine de Objective C, Java et Ruby. Il n'est formalisé et adopté qu'en 1980.
Premier langage à proposer une interface graphique de développement intégré.
1980
Bjarne Stoustrup lance C with Classes, inspiré du langage C et de Simula. Ce langage préfigure le C++.
1983
Naissance du C++ de Bjarne Stoustrup.
ADA (en hommage à Ada Lovelace) commandé par le Département de la Défense des Etats-Unis.
Turbo Pascal de Anders Hejlsberg impose les interfaces graphiques de développement.
1985
Adobe sort le langage de description de pages PostScript. Il permet de mélanger images et textes et de les mettre en forme.
Sortie de Quick BASIC de Microsoft et Caml de l'INRIA
1986
Perl.
Bertrand Meyer s'inspire de Simula pour créer Eiffel, premier langage à proposer la programmation par contrat.
1987
Self de Sun, l'ancètre du JavaScript.
Larry Wall présente le langage Perl.
1987
John Ousterhout, sort TCL.
1990
Première version du langage HTML basé sur le SGML.
1991
Python est créé.
Première version de Visual Basic.
1993
Sortie de Brainfuck de Urban Mueller sur Amiga, AppleScript de Apple. Ruby, Lua, WScript (utilisé avec les outils de développement de PC Soft).
Première version de Windev de PC-Soft.
1995
Sun sort la première version de Java.
Arrivée du PHP (Rasmus Lerdorf), Delphi de Borland et JavaScript.
1996
Introduction du XML.
1997
Sortie de Visual Studio de Microsoft. C'est un package (comme Microsoft Office) qui regroupe les principaux langages de l'éditeur.
1998
Erlang outils utilisé par Ericsson pour ses produits.
1999
Gambas apporte le BASIC à UNIX.
2000
C# (sharp), premier langage créé par Microsoft.
Walter Bright développe le langage D.
2001
Visual Basic .Net, évolution du Visual Basic de Microsoft.
AspectJ de Xerox Parc, apporte à Java la programmation orientée aspect.
2004
Projet Mono de portage de la plateforme .Net sur Linux (Miguel de Icaza).
2005
Microsoft dévoile F# prévu avec Visual Studio 2010.
Walter Bright développe le langage D.
2007
LolCode de Adam Lindsay. Sa syntaxe s'inspire de l'anglais SMS.


Environnement de développement intégré (E.D.I)

En anglais I.D.E.

Qu'est-ce qu'un I.D.E ?
Ensemble d'outils fournis pour faciliter le développement.
Se compose entre autre d'une interface graphique, un compilateur, un débogueur, un éditeur de code.
Souvent il rajoute sa propre syntaxe pour faciliter le codage. Il faut donc apprendre cette nouvelle grammaire en plus de celle du langage d'origine.

Exemples d'I.D.E : Visual C++, C++Builder, Dev-CPP, Delphi, Visual Basic, JBuilder, FrontPage, Dreamweaver, ...


John Maurice Clark : Le savoir est le seul outil de production qui ne soit pas sujet aux rendements décroissants.

Partenaires

Gandi

vistaprint


Contact

J. Michel Desmoineaux
"Nolet"
82600 Aucamville

06-20-35-30-56

infos@alcya.com

Valide CSS 2.1 :: Valide XHTML 1.0 Strict Copyright © 2009 Alcya Informatique :: Contact : infos@alcya.com