1.03k likes | 2.11k Views
Introduction à la programmation. ICS 3M: M.Legros. Historique des langages…. Les ordinateurs sont des machines supérieurement intelligents qui sont incapables de penser par elles-mêmes. Ils nécessitent un humain qui leur indique la tâche à accomplir. …Historique des langages.
E N D
Introduction à la programmation ICS 3M: M.Legros
Historique des langages… • Les ordinateurs sont des machines supérieurement intelligents qui sont incapables de penser par elles-mêmes. • Ils nécessitent un humain qui leur indique la tâche à accomplir.
…Historique des langages • Les humains utilisent plusieurs langages (anglais, français, espagnol, russe), les ordinateurs font de même. • Visual Basic, C++, Java, C, COBOL
Évolution des langages • Langages machine • Langages assembleur • Langages de haut niveau • Langages de haut niveau orientés procédures • Langages de haut niveau orientés objets
Langages machine… • À l’intérieur de l’ordinateur, toutes les données sont sous formes de commutateurs électroniques qui ne possèdent que deux positions. (OFF-ON ou 0-1) • Les programmeurs devaient donc qu’utilisés seuls des 0 et des 1, cause de long temps de programmation et d’erreurs.
…Langages machine 0101010 010101010 1 1010 10101010101 01010 101 1 01 010101010100000 111 1010 01 1010 10101010101 1 1 1 1010 1010101 01 1001 01 10 01 01010 10 10 10 101010 10 1010101010 10
Langage assembleur… • Utilise des mnémotechniques pour remplacer les séquences de 1 et 0 • Mov = déplacer • Mul = multiplier • Add = additionner • Un logiciel, appelé assembleur, traduit ensuite le code en séquences de 1 et de 0 pour que l’ordinateur puisse le comprendre
…Langage assembleur Main proc paie mov ax, dseg mov ax, 0b00h add ax, dx mov a1, b1 mul b1, ax mov bl, 04h
Langages de haut niveau… • Autorisent l’écriture de programmes à l’aide d’instructions plus proches du langage courant (en anglais) • Exigent un compilateur ou un interpréteur pour traduire le langage en 0 et 1 pour que l’ordinateur puisse comprendre
…Langages de haut niveau • Interpréteur: traduit le langage de haut niveau en code machine (0-1) ligne après ligne et l’exécute au même moment • Compilateur: traduit la totalité d’un programme en code machine avant de l’exécuter.
Langages de haut niveau orientés procédure… • Le programme se focalise sur la façon d’accomplir une tâche. • Le programmeur donnes les instructions du début à la fin. • Le programmeur détermine et contrôle l’ordre d’exécution. • La syntaxe est beaucoup plus simple. • Ex: COBOL, BASIC, Pascal, C
…Langages de haut niveau orientés procédure Input « Entrez votre nom » ; nom$ Input « Entrez le nombre d’heures » ; heures Input « Entrez le taux horaire » ; taux paieBrute = heures * taux taxeFed = .0655 * paieBrute retAssSoc = .0075 * paieBrute paieNette = paieBrute – taxeFed – retAssSoc – taxeProv Print nom$, paieNette end
L’arrivée de Windows • GUI: graphic user interface avec laquelle l’utilisateur peut interagir • Facile à utiliser, mais exige dix fois plus de travail pour le programmeur. • Créé en ligne de texte (boutons, barres de navigation, ordre imprévu des tâches)
Langages de haut niveau orientés objets (OOP)… • Le programme focalise sur les objets présents dans l’interface de l’utilisateur (boutons, barres) et les événements (clicks). • L’utilisation du même objet dans plusieurs programmes. Ex: dépôt de chèque dans plusieurs logiciels, ou plusieurs endroits
…Langages de haut niveau orientés objets (OOP) • Visual Basic.NET, Visual C++, Java sont tous langages OOP pilotés par des événements. • Quelques clicks seulement pour préparer l’interface • Le programmeur concentre sur coder l’événement