Paradigmes de Programmation - PowerPoint PPT Presentation

About This Presentation
Title:

Paradigmes de Programmation

Description:

Paradigmes de Programmation Discussion – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 20
Provided by: H646
Category:

less

Transcript and Presenter's Notes

Title: Paradigmes de Programmation


1
Paradigmes de Programmation
  • Discussion

2
Paradigmes
  • Programmation impérative le programme est
    constitué d' une séquence dénoncés à être
    exécutés séquentiellement
  • Programmation logique le programme décrit les
    propriétés de la solution recherchée et un
    mécanisme d'inférence propose des solutions
    répondant à ces critères.
  • Programmation fonctionnelle le programme est vu
    comme une transformation des données d' entrée
    afin d'obtenir la sortie désirée.
  • Programmation orientée objet le programme se
    décompose en un ensemble dobjets interagissant
    entre eux par léchange de messages.
  • Programmation concurrente le programme autorise
    la répartition des tâches à accomplir en un
    ensemble de plusieurs processus asynchrones
    pouvant être exécutés en parallèle.

3
Pourquoi étudier les langages de programmation?
  • Faciliter l'expression des idées par l'emploi
    d'un langage de programmation expressif en regard
    de l'application visée.
  • Donner les connaissances permettant à un
    programmeur de choisir un langage approprié.
  • Comprendre comment un concept informatique peut
    être mis en application par la programmation.
  • Utiliser de façon plus efficace un langage.
  • Accroître l'efficacité du code résultant.
  • Faciliter l'apprentissage de nouveaux langages.
  • Comprendre la relation qui existe entre un
    algorithme et un langage.
  • Donner un aperçu de létat de l'art en
    programmation.
  • Etre en mesure de comparer les différents
    langages existants.
  • Donner la possibilité de concevoir un nouveau
    langage.

4
Différents langages
  • Une opération peut être exprimée dans différents
    langages, puis exécutée sur la même machine.
  • Différent langages permettent de résoudre
    différents problèmes de façon différente.
  • Différence entre ces langages
  • syntaxe (forme, apparence)
  • sémantique

5
Discussion de Paradigmes
  • // Factoriel en Java
  • public static double factorial(int n)
  • if (n lt 0) return 0.0
  • double fact 1.0
  • while(x gt 1)
  • fact fact n
  • n n - 1
  • return fact

// Factoriel en Prolog factorial(0,1).
factorial(N,F) - Ngt0, N1 is N-1,
factorial(N1,F1),
F is N F1.
6
Critères dans lévaluation dun langage
  • Expressivité
  • Expressivité des structures de contrôle et de
    données.
  • Quest-ce qui est plus facile à lire et
    maintenir
  • un long programme bâti à partir déléments
    simples?
  • -ou-
  • un programme bref bâti à partir déléments
    complexes?
  • Exemples dexpressivité la récursivité, le
    retour arrière incorporé de Prolog, la recherche
    dans les langages de base de données.
  • Exemple de peu dexpressivité instructions
    dassembleur.

7
Critères de choix dun langage
  • Facilité de lecture
  • La lisibilité dun langage est essentielle, en
    particulier, pour des fins dévolution, de
    maintenance, et de mise à jour des logiciels.
  • Abstraction permettre la généralité des
    programmes, labstraction procédurale, et
    labstraction des données.
  • Absence dambiguïtés
  • Absence dune surabondance de choix Par exemple,
    certains langages permettent décrire les boucles
    de plusieurs façons différentes.

8
Critères de choix dun langage
  • Facilité décriture
  • Abstraction comme pour la lecture
  • Simplicité
  • Pascal est simple
  • Prolog est conceptuellement simple, mais
    difficile en pratique.
  • C et Java?
  • Modularité aussi la présence doutils de
    modularisation et la capacité dêtre incorporé
    dans un environnement de programmation intégré.

9
Critères de choix dun langage
  • Orthogonalité
  • labsence de restrictions sur la façon de
    combiner les primitives du langage.(Il est plus
    facile de constater le manque dorthogonalité.)
  • Exemple Un tableau peut-il contenir des éléments
    de nimporte quel type?
  • Il en résulte en une diminution du nombre de cas
    spéciaux.

10
Critères de choix dun langage
  • Facilité dapprentissage
  • Petit langage avec peu de restrictions
  • Scheme
  • Une (seule) façon simple de faire les choses
  • Peu de mots clés
  • C
  • Facilité de détection des erreurs
  • Java

11
Critères de choix dun langage
  • Facilité dutilisation
  • Facile à lire, facile à écrire, facile à
    apprendre
  • Bons outils de développement, bonne documentation
  • Peu de code à écrire afin de solutionner un
    problème

12
Critères dans lévaluation dun langage
  • Simplicité le fait de n' inclure qu' un nombre
    limité de composantes dont l'usage est naturel et
    cohérent.
  • Abstraction le fait de pouvoir représenter une
    structure complexe tout en ignorant des détails
    jugés non essentiels.
  • Portabilité jusquà quel point ce langage a été
    standardisé, si plusieurs dialectes du langage
    coexistent.
  • Modularité de quelle facon le programme peut
    être subdivisé en unités cohérentes.
  • Robustesse détection précoce des erreurs,
    vérification des types.
  • Uniformité le langage devrait utiliser avec
    consistance les notations et conventions
    habituellement admises.

13
Critères dans lévaluation dun langage
  • Traduisibilité devrait permettre la traduction
    efficace du langage en code machine.
  • Précision le fait que le langage ait été
    clairement defini, que toute séquence donne des
    résultats prédictibles.
  • Extensibilité la structure devrait permettre d'
    y ajouter de nouveaux concepts, de nouvelles
    options, permettant ainsi au langage dévoluer
    harmonieusement
  • Restricabilité si il existe plusieurs facon d'
    utliser le langage, ou un sous-ensemble de
    celui-ci de facon a limiter la complexité de son
    usage au besoin.
  • Support l'existence d'outils de développement
    intégrés.
  • Apparence la facon dont se présente le code
  • Élégance la facon dont se présente les solutions

14
Critères de choix dun langage
  • Tous les langages de programmation ont
  • variables, constantes, strucutres de données
  • règles de portée
  • types,
  • expressions
  • structures de contrôle (selection, iteration)
  • récursivité (pour la plupart des langages)
  • sous-programmes
  • ...
  • En Prolog et en Scheme, données et programmes ont
    la même forme
  • En Scheme, toutes les données ont les même
    privilèges (incluant les fonctions)
  • Java offre une grande variété de données et
    structures

15
Critères de choix dun langage
  • Fiabilité Vérification des types, traitement des
    exceptions et erreurs, labsence dambiguïtés (et
    en général la lisibilité et laptitude à
    lécriture).
  • Coût associé à lutilisation du langage.
  • Temps nécessaire au développement (facilité de
    programmation, disponibilité de code, de
    librairies et de documentation).
  • Facilité dimplémentation (affecte la
    disponibilité et le coût des compilateurs).
    Limplémentation de Pascal, C, C et Java ont
    été de grands succès.
  • Temps nécessaire pour traduire, et lefficacité
    du code résultant.
  • Portabilité et standardisation.

16
Critères de choix dun langage
  • Chaque langage vient avec son modèle dexécution
  • Compilé ou interprété?
  • Tourne-t-il sur une machine virtuelle?
  • Est-il concu pour être portable? efficace?
    expressif?

17
Programme source
Séquence dunités lexicales
Analyse lexicale (scanning)
Analyse syntaxique(parsing)
Table de symboles
Arbre syntaxique
Optimisation du code
Analyse sémantique
Programme abstrait(code intermédiaire)
Programme abstrait(optimisé)
Chargeur/Éditeur de liens (Loader/Linker)
Génération du code
Code exécutable(object code)
Programme résultant
Données de sortie
Données dentrée
Ordinateur
18
Points forts et faibles dun langage
  • Globalement, chaque langage de programmation a
    des points forts, et des points faibles
  • Java
  • Prolog
  • Scheme
  • Pascal
  • C C

19
Choix dun langage de programmation
  • Choisir le meilleur langage
  • par application
  • Traitement du langage
  • Retour-arrière (jeux)
  • Simulations
  • par familiarisation
  • pour travailler en équipe
  • par gout ?
Write a Comment
User Comments (0)
About PowerShow.com