Pour préparer, illustrer des cours : langages et programmation (sélection thématique) : Différence entre versions
(→Historique) |
|||
Ligne 8 : | Ligne 8 : | ||
= Historique = | = Historique = | ||
== Pascal, 1970 == | == Pascal, 1970 == | ||
+ | |||
+ | Impératif, Procédural, Compilé, Bas niveau | ||
+ | |||
== C, 1972 == | == C, 1972 == | ||
+ | |||
+ | Impératif, Procédural, Compilé, Bas niveau | ||
+ | |||
== ML, 1973 == | == ML, 1973 == | ||
+ | |||
+ | Fonctionnel, Procédural, Compilé, Haut niveau | ||
+ | |||
==C++, 1983 == | ==C++, 1983 == | ||
+ | |||
+ | Impératif, Procédural / Object, Compilé, Bas niveau | ||
+ | |||
== Java, 1991 == | == Java, 1991 == | ||
+ | |||
+ | Impératif, Procédural / Object, Compilé, Haut niveau | ||
+ | |||
== Python, 1991 == | == Python, 1991 == | ||
+ | |||
+ | Impératif, Procédural / Object, Interprété, Haut niveau | ||
+ | |||
== Ruby, 1993 == | == Ruby, 1993 == | ||
+ | |||
+ | Impératif, Procédural / Object, Interprété, Haut niveau | ||
+ | |||
== PHP, 1995 == | == PHP, 1995 == | ||
+ | |||
+ | Impératif, Procédural / Object, Interprété, Haut niveau | ||
= Classification des langages = | = Classification des langages = |
Version du 21 novembre 2011 à 11:51
Travaux en cours : cette page n'est pas finalisée.... Merci de votre compréhension.
Voir aussi la page sur les algorithmes
- Tous les contenus en liens avec Langages et programmation
Sommaire
Historique
Pascal, 1970
Impératif, Procédural, Compilé, Bas niveau
C, 1972
Impératif, Procédural, Compilé, Bas niveau
ML, 1973
Fonctionnel, Procédural, Compilé, Haut niveau
C++, 1983
Impératif, Procédural / Object, Compilé, Bas niveau
Java, 1991
Impératif, Procédural / Object, Compilé, Haut niveau
Python, 1991
Impératif, Procédural / Object, Interprété, Haut niveau
Ruby, 1993
Impératif, Procédural / Object, Interprété, Haut niveau
PHP, 1995
Impératif, Procédural / Object, Interprété, Haut niveau
Classification des langages
Il est possible de classer les différents langages de programmation selon divers critères qui ne se recouvrent pas les une avec les autres. Pour chaque critère, il est parfois possible de classer un langage dans les deux catégories.
Impératif / Fonctionnel
Impératif
C, C++, PHP, Java, Javascript, Pascal, Ruby, Shell script,
Fonctionnel
SML, CAML
Procédural / Objet
En général, tous les langages objets permettent la programmation procédural mais on ne classe dans la catégorie procédural que les langages ne permettant pas la programmation objet.
Procédural
Pascal, C, Shell script
Objet
C++, Java, Javascript, PHP, Python, Ruby, Pascal Objet, Caml
Haut niveau / Bas niveau
Les langages de haut-niveau ne permettent pas en général l'accès direct aux ressources du système comme par exemple la gestion de la mémoire.
Haut niveau
Python, Ruby, PHP, Java, Pascal
Bas niveau
C++, C, Shell script
Compilé/Interprété
Les langages compilés requièrent un compilateur et une phase préalable de compilation avant l'exécution d'un programme.
Compilé
C, C++, Pascal, Java
Interprété
Python, Ruby, Javascript, PHP, Caml
Langage compilé
Java
C
- Introduction par Martin Quinson à la programmation en langage C pour des utilisateurs ayant déjà une première expérience de programmation.
- Support de cours de Christian Bac pour le langage C.
Exemple de programmation en C
# include <stdio.h> int main(int argc, char **argv) { printf("Hello World\n"); return 0; }
C++
Introduction à C++ par Thomas Lachand-Robert
- Ce site est une description du langage C++, avec un certain nombre d’exemples simples destinés à l’apprentissage. Il est issu d'un livre antérieur et est donc organisé de manière linéaire : on peut commencer à lire au début et continuer de section en section. Bien sûr, on peut aussi traverser les différentes sections en utilisant le sommaire.
Exemple de programmation en C++
#include <iostream> int main(int argc, char **argv) { std::cout << "Hello World" << std:endl; return 0; }
Pascal
Introduction à la programmation orientée objet par Eric Sigoillot
- Si la programmation dite procédurale est constituée de procédures et fonctions sans liens particuliers agissant sur des données dissociées pouvant mener rapidement à des difficultés en cas de modification de la structure des données, la programmation objet, pour sa part, tourne autour d'une unique entité : l'objet, offrant de nouvelles perspectives, et que je vous invite à découvrir de suite...
Exemple de programmation en Pascal
program HelloWorld; begin writeln('Hello World'); end.
Langage interprété
Les langages interprétés peuvent être exécutés directement au sein d'un interpréteur. Ils sont en général plus lent qu'un langage compilé mais permettent une plus grande interactivité.
Javascript
PHP
Python
- Tutoriel (en anglais) officiel de python
- Dive Into Python (Plongez au coeur de Python) est un tutoriel Python libre destiné aux programmeurs expérimentés. Il s'agit d'une traduction française de l'ouvrage de Mark Pilgrim, initialement intitulé "Dive Into Python", rédigée par une équipe de volontaires. Vous pouvez lire le livre en ligne, ou le télécharger dans divers formats. Il est aussi disponible dans plusieurs langues.
Exemple de programmation en python (version 2.7)
$ python >>> print "Hello World" Hello World >>>
Ruby
- Ce court tutoriel ne devrait pas prendre plus de vingt minutes de votre temps. Il part du principe que vous avez déjà installé Ruby ; si ce n’est pas le cas, il vous est chaleureusement conseillé de le faire avant de poursuivre votre lecture.
Exemple de programmation en Ruby
$ irb --simple-prompt >> puts "Hello world" Hello world => nil
Shell script
Exemple de programmation en shell-script
$ echo "Hello World !" Hello World ! $
Langage fonctionnel
Functional Programming For The Rest of Us
- Courte introduction (en anglais) à la programmation fonctionnelle.
- Caml est un langage de programmation généraliste, conçu pour garantir la sûreté et la fiabilité des programmes. Il est très expressif et néanmoins facile d'apprentissage et d'emploi. Caml se prête à la programmation dans un style fonctionnel, impératif ou orienté objets
- Le langage Caml a été développé à partir de 1985 au sein des équipes Formel, Cristal, puis Gallium de l'INRIA. Caml Light, développé au début des années 1990, est toujours utilisé, en particulier dans l'enseignement. OCaml offre un langage de programmation plus riche et dispose de compilateurs produisant du code natif efficace pour de nombreuses architectures. Une histoire de Caml plus détaillée est disponible.
Exemple de programmation en OCAML
$ ocaml Objective Caml version 3.00 # print_string "Hello World !\n";; Hello World! - : unit = () #