Pour préparer, illustrer des cours : langages et programmation (sélection thématique) : Différence entre versions
Ligne 4 : | Ligne 4 : | ||
* Tous les contenus en liens avec [[1.3._Langage_de_programmation|Langages et programmation]] | * Tous les contenus en liens avec [[1.3._Langage_de_programmation|Langages et programmation]] | ||
− | |||
= Historique = | = Historique = | ||
== Pascal, 1970 == | == Pascal, 1970 == | ||
− | + | C'est un langage relativement vieux (plus de 40 ans) mais qui bénéficie d'une syntaxe claire et intuitive facilitant son apprentissage. | |
+ | |||
+ | '''Exemple de programmation en Pascal''' | ||
+ | |||
+ | program HelloWorld; | ||
+ | |||
+ | begin | ||
+ | writeln('Hello World'); | ||
+ | end. | ||
+ | |||
== C, 1972 == | == C, 1972 == | ||
− | + | Langage historique qui a fortement impacté la communauté et qui reste très utilisé encore aujourd'hui (programmation du noyau linux). C'est un langage de relativement bas niveau avec lequel il est très facile de commettre des erreurs, il est peut donc être un peu difficile d'accès pour une première approche de la programmation. | |
− | + | '''Exemple de programmation en C''' | |
+ | # include <stdio.h> | ||
+ | int main(int argc, char **argv) { | ||
+ | printf("Hello World\n"); | ||
+ | return 0; | ||
+ | } | ||
− | |||
==C++, 1983 == | ==C++, 1983 == | ||
− | + | Le langage C++ représente une extension objet du langage C. Bien qu'il permette d'abstraire un certain nombre de structures algorithmiques du langage C, il reste un langage de relativement bas niveau exigeant un certain effort e programmation. | |
+ | |||
+ | '''Exemple de programmation en C++''' | ||
+ | #include <iostream> | ||
+ | int main(int argc, char **argv) { | ||
+ | std::cout << "Hello World" << std:endl; | ||
+ | return 0; | ||
+ | } | ||
+ | |||
== Java, 1991 == | == Java, 1991 == | ||
− | + | Java est un langage objet de haut niveau qui a pour origine le langage C++. Il permet un accès facile et assez immédiat à la programmation de par sa présence sur un grand nombre de plate-formes matérielles et son "inter-opérabilité" (les sources restent les mêmes d'une machine à l'autre). | |
+ | |||
+ | '''Exemple de programmation en Java''' | ||
+ | |||
+ | class HelloWorldApp { | ||
+ | public static void main(String[] args) { | ||
+ | System.out.println("Hello World!"); //Display the string. | ||
+ | } | ||
+ | } | ||
== Python, 1991 == | == Python, 1991 == | ||
− | + | Python est un langage de programmation objet de haut niveau, interprété, et possédant une syntaxe claire avec notamment l'utilisation de l'indentation comme délimitateur de blocs. Cela peut cependant être un peu déroutant pour des novices. | |
+ | |||
+ | '''Exemple de programmation en python (version 2.7)''' | ||
+ | |||
+ | $ python | ||
+ | >>> print "Hello World" | ||
+ | Hello World | ||
+ | >>> | ||
+ | |||
== Ruby, 1993 == | == Ruby, 1993 == | ||
− | + | Ruby est un langage de programmation de haut niveau, interprété et très orienté objet. | |
== PHP, 1995 == | == PHP, 1995 == | ||
− | + | PHP est un langage de script de haut niveau qui a été conçu à l'origine pour (et reste principalement orienté vers ) la génération dynamique des pages HTML. | |
+ | |||
+ | |||
= Classification des langages = | = Classification des langages = | ||
Ligne 114 : | Ligne 152 : | ||
* Support de cours de Christian Bac pour le langage C. | * Support de cours de Christian Bac pour le langage C. | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== C++ == | == C++ == | ||
Ligne 126 : | Ligne 159 : | ||
* ''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.'' | * ''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.'' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Pascal == | == Pascal == | ||
Ligne 138 : | Ligne 165 : | ||
* ''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...'' | * ''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...'' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Version du 21 novembre 2011 à 12:35
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
Historique
Pascal, 1970
C'est un langage relativement vieux (plus de 40 ans) mais qui bénéficie d'une syntaxe claire et intuitive facilitant son apprentissage.
Exemple de programmation en Pascal
program HelloWorld; begin writeln('Hello World'); end.
C, 1972
Langage historique qui a fortement impacté la communauté et qui reste très utilisé encore aujourd'hui (programmation du noyau linux). C'est un langage de relativement bas niveau avec lequel il est très facile de commettre des erreurs, il est peut donc être un peu difficile d'accès pour une première approche de la programmation.
Exemple de programmation en C
# include <stdio.h> int main(int argc, char **argv) { printf("Hello World\n"); return 0; }
C++, 1983
Le langage C++ représente une extension objet du langage C. Bien qu'il permette d'abstraire un certain nombre de structures algorithmiques du langage C, il reste un langage de relativement bas niveau exigeant un certain effort e programmation.
Exemple de programmation en C++
#include <iostream> int main(int argc, char **argv) { std::cout << "Hello World" << std:endl; return 0; }
Java, 1991
Java est un langage objet de haut niveau qui a pour origine le langage C++. Il permet un accès facile et assez immédiat à la programmation de par sa présence sur un grand nombre de plate-formes matérielles et son "inter-opérabilité" (les sources restent les mêmes d'une machine à l'autre).
Exemple de programmation en Java
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. } }
Python, 1991
Python est un langage de programmation objet de haut niveau, interprété, et possédant une syntaxe claire avec notamment l'utilisation de l'indentation comme délimitateur de blocs. Cela peut cependant être un peu déroutant pour des novices.
Exemple de programmation en python (version 2.7)
$ python >>> print "Hello World" Hello World >>>
Ruby, 1993
Ruby est un langage de programmation de haut niveau, interprété et très orienté objet.
PHP, 1995
PHP est un langage de script de haut niveau qui a été conçu à l'origine pour (et reste principalement orienté vers ) la génération dynamique des pages HTML.
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
Ressources
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.
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.
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...
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 ! $
OCAML
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 = () #