Pour préparer, illustrer des cours : langages et programmation (sélection thématique)
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
Avant propos
Il existe historiquement différents critères permettant de classer les langages de programmation (impératif/fonctionnel, procédural/objet, haut-niveau/bas-niveau, interprété/compilé) mais ces critères tendent à disparaître avec d'une part la modification des langages existants (les langages ne sont pas des langues mortes) et d'autre part avec l'avènement des nouveaux langages de programmation.
Cependant, la distinction compilé/interprété reste importante puisque qu'elle a un impact direct sur la façon de programmer. Avec un langage compilé, vous devez écrire un fichier source, le compiler puis tester son exécution. Avec un langage interprété, vous pouvez facilement tester un programme en l'écrivant directement dans l'interpréteur.
A voir
- Une étude sur l'utilisation des différents langages.
- Comment écrire Hello World ! selon le langage (avec de facto une liste presque exhaustive des différents langages).
- Comment rendre un programme illisible avec le concours du programme C le plus abscons. Exemple à ne pas suivre bien évidemment, mais cela montre l'intérêt de bien écrire et commenter ses programmes.
- Pour rendre vos programmes plus lisibles, il existe des outils appelés "code beautifier", uncrustify en est un exemple pour les langages similaires à C mais il en existe pour les langages les plus répandus.
- Les pires bugs de l'histoire.
- Le dépassement de tampon (buffer overflow en anglais) est la faille de programmation la plus utilisée par les virus, vers et chevaux de Troie.
- Programmation d'une machine de Turing
- Comment choisir un language de programmation pour un enfant ?
Pascal, 1970
C'est un langage relativement vieux (plus de 40 ans) mais qui bénéficie d'une syntaxe claire et intuitive, facilitant ainsi son apprentissage.
Exemple de programmation en Pascal
program HelloWorld; begin writeln('Hello World'); end.
http://hdd34.developpez.com/cours/artpoo/
- Introduction à la programmation orientée objet par Eric Sigoillot
http://pascal.developpez.com/cours/
- Référencement des cours en ligne sur Pascal.
- Un compilateur pascal récent, rapide et gratuit !
http://www.lazarus.freepascal.org
- Un autre compilateur pascal récent et gratuit !
C, 1972
Langage historique qui a fortement impacté la communauté et qui demeure très utilisé aujourd'hui (programmation du noyau linux par exemple). 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; }
http://www.loria.fr/~quinson/Teaching/CSH/
- Introduction par Martin Quinson à la programmation en langage C pour des utilisateurs ayant déjà une première expérience de programmation.
http://picolibre.int-evry.fr/projects/svn/coursc/
- Support de cours de Christian Bac pour le langage C.
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 de programmation.
Exemple de programmation en C++
#include <iostream> int main(int argc, char **argv) { std::cout << "Hello World" << std:endl; return 0; }
http://en.cppreference.com/w/cpp
- Références sur la norme C++
http://www.ann.jussieu.fr/courscpp/
- Introduction à C++ par Thomas Lachand-Robert
http://www.ensta-paristech.fr/~diam/c++/online/c++-faq-lite/
- Questions (et réponses) fréquemment posées sur le C++
Visual Basic, 1991
Visual Basic est un langage dérivé du BASIC parmi les plus répandus mais qui est propriétaire et qui est très lié à l'architecture logicielle du système (Windows en l'occurrence).
Exemple de programmation en Visual Basic
Private Sub Form_Load() ' Execute a simple message box that will say "Hello, World!" MsgBox "Hello, World!" End Sub
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
- Introduction à Visual Basic 6
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 ce qui peut être déroutant pour des novices.
Exemple de programmation en python (version 2.7)
$ python >>> print "Hello World" Hello World >>>
- Page officielle de python
- Session python interactive dans un navigateur
http://www.larsen-b.com/static/intro_python/
- Courte introduction à python
- Tutoriel (en anglais) officiel de python
http://diveintopython.adrahon.org
- Plongez au coeur de Python, tutoriel pour programmeurs expérimentés
http://www.grappa.univ-lille3.fr/~jacquemin/robotL1/python_notes-2.pdf
- Un cours sur python
http://temporaryland.wordpress.com/2011/01/26/python-for-newbies/
- L'incontournable "Python pour les nuls"
- Langage programmation du Robot von Guido. Pour appréhender les bases de la programmation.
http://people.csail.mit.edu/pgbovine/python/
- Tutoriel python en ligne avec session interactive
- Outils pour le calcul scientifique en python
http://matplotlib.sourceforge.net/
- Outil de visualisation scientifique
Ruby, 1993
Ruby est un langage de programmation de haut niveau, interprété et très orienté objet (mais il permet aussi la programmation procédurale).
Exemple de programmation en Ruby
$ irb --simple-prompt >> puts "Hello world" Hello world => nil
- Page officielle du langage Ruby
http://www.ruby-lang.org/fr/documentation/quickstart/
- Un tutoriel très court qui pour avoir une première impression sur Ruby
http://tryruby.org/levels/1/challenges/0
- Cours interactif de Ruby (session interactive dans un navigateur)
http://pine.fm/LearnToProgram/
- Cours de programmation basé sur Ruby avec traduction française
http://www.techotopia.com/index.php/Ruby_Essentials
- Guide sur Ruby
http://www.linuxtopia.org/online_books/programming_books/ruby_guide/index.html
- Manuel utilisateur de Ruby
- Programmation d'interface graphique avec Ruby
- Un programme interactif pour apprendre à programmer
- Une bibliothèque ruby pour le calcul scientifique
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. Il est cependant possible de l'utiliser seul.
Example de programmation en PHP
$php --interactive Interactive shell php > echo 'hello world'; hello world
- Manuel officiel du langage PHP
http://sylvie-vauthier.developpez.com/tutoriels/php/grand-debutant
- Introduction au PHP "pour les grands débutants" par Sylvie Vauthier