La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Fethi Amine Kadri Mohamed

Présentations similaires


Présentation au sujet: "Fethi Amine Kadri Mohamed"— Transcription de la présentation:

1 Fethi Amine Kadri Mohamed
Le langage ada Fethi Amine Kadri Mohamed

2 Historique les premières versions de ada remontent au début des années 1980. Le langage doit son nom à Ada Lovelace, mathématicienne britannique, considérée par les informaticiens comme la première programmeuse de l’histoire, car elle a développé une forme de code de pour le moteur analytique de Charles Babbage. La première norme Ada était Ada 83. Le second, Ada 95, a ajouté l'orientation essentiellement objet. Ada 2005 ajoute un C + +,comme la notation par points pour l'envoi des appels sur les objets, les opérations anonymes, les génériques améliorés, les bibliothèques, dont un pour les conteneurs (vecteurs, des décors, des cartes), et bien plus encore.

3 Définition du langage ada:
Ada est un langage de programmation orienté objet Ada est un langage modulaire, à typage statique, offrant une syntaxe claire inspirée de Pascal. Il possède une puissance d’expression considérable couvrant un large domaine d’applications. Il a apporté des améliorations marquantes notamment dans les domaines des logiciels critiques, embarqués, et temps réel. Ce langage de programmation à contrainte forte, notamment dans le typage, enserre le programmeur dans un corset que la plupart jugent insupportable

4 Autre définition : On peut aussi dire que ada est un langage de programmation conçu pour soutenir la construction de longue durée de vie, des systèmes informatiques hautement fiables. La langue comprend des installations de définir des paquets de types connexes, des objets, et des opérations. Et un Langage de programmation structuré. Ada a été conçu en réponse à un cahier des charges émis par le DoD (Département of Défense) des États-Unis. Sa définition ainsi que son évolution ont bénéficié à ce titre des contributions de nombreux experts, universitaires, développeurs, et utilisateurs industriels. Il est normalisé en tant que standard international.

5 Quelques particularités
typage statique : c’est associer à un symbole dénotant une variable Module : désigne parfois un fichier de code de programmation ou un fichier de librairie statique ou dynamique. Syntaxe: claire et non ambiguë (inspirée de celle du langage Pascal), Généricité: C'est un concept important pour un langage de haut niveau car il permet d'augmenter le niveau d'abstraction du langage. multi-tâche traits temps réel intégrés au langage (tâches, objets protégés, interruptions), bibliothèques normalisées

6 Ada est donc un langage bien vivant et qui suit l'évolution des technologies
liens avec les autres langages annexes temps réel avec le Profil Ravenscar pour les systèmes sûrs, le document de la norme ISO est librement téléchargeable Le profil Ravenscar est un sous-ensemble du langage Ada dédié aux systèmes temps réel nécessitant une grande sûreté de fonctionnemen ISO: L'Organisation Internationale de Normalisation (International Organization for Standardization), ou ISO est un organisme de normalisation international

7 Les buts d’Ada Contrairement aux autres langages, Ada a été développé avec des buts précis et des besoins explicites Les besoins sont apparentés et quelques fois en conflits! e.g. les unités de compilation séparées et la programmation concurrente entrent en conflit avec la simplicité visée du langage Les buts principaux sont: fiabilité simplicité modularité efficacité

8 FIABILITÉ ET FACILITÉ DE MAINTENANCE
Accent sur la lisibilité plutôt que sur la facilité d'écriture Notations favorisant les erreurs ont été évitées Constructions doivent avoir une sémantique simple et non ambiguë

9 SIMPLICITÉ Le langage a été gardé aussi petit que possible
Les écueils d'une complication excessive ont été évités. Les constructions du langage sont intuitives pour l'utilisateur.

10 MODULARITÉ Le langage doit supporter et favoriser
les logiciels modulaires et réutilisables, les unités de compilation séparées.

11 EFFICACITÉ Ada a évité des constructions qui nécessitent des compilateurs trop élaborés, Une utilisation inefficace de la mémoire, ou du temps d'exécution du matériel spécialisé.

12 LES PRINCIPES Les buts d'Ada de simplicité, de fiabilité, de maintenance, et d'efficacité peuvent être atteints en utilisant les principes du génie logiciel: abstraction, dissimulation d'information, modularité, programmation embarquée, uniformité, complétude, confirmabilité

13 STRUCTURES DE CONTRÔLE
Ada supporte les énoncés structurés: énoncés conditionnels ( if et case) boucle ( for et while) Ada fournit des sorties (exit) à différents niveaux afin d'éliminer les besoins des "goto" Ada possède des types structurés de données, des types étiquetés (tagged) dont on peut hériter, en plus des types privés (private) qui permettent de protéger les donnée

14 NOMS ASSOCIÉS À DES ENTITÉS
Ada associe des noms à des entités, ex: variable, constante, exception, type, paquetage, tâche, etc.... Cette nomenclature améliore: La vérification des types La lisibilité du programme La modularité, Les abstractions.

15 MULTI-TÂCHES MULTI-PROCESSEURS
Un multiprocesseur est un ordinateur muni de plusieurs processeurs qui s’exécutent physiquement en parallèle. Les tâches d'Ada permettent le développement de logiciels contrôlant plusieurs processeurs. Les tâches permettent l'implémentation d'applications synchronisées et communiquant entre elles.

16 Les constructions d'Ada
Minimisent les besoins d'ASM, Permettent d'isoler les dépendances de la machine, Simplifient l'entretien du logiciel. ASM est une bibliothèque Java de manipulation et d'analyse du bytecode Java

17 QUELQUES EXEMPLES : Transformation d’une chaîne de caractères en entier: Obtenir le maximum de deux entiers: La fonction suivante retourne le double du maximum de deux entiers A : constant Integer := Integer'Value ("12"); -- A vaut 12 Function Double_Maximum (X, Y : Integer) return Integer is begin return 2 * Integer'Max (X, Y); end Double_Maximum;

18 Avantages et inconvénients du langage Ada
Les avantages: Très proche de l’algorithmique Fortement typé Nombreuses vérifications faites par le compilateur Programmation modulaire obligatoire Structuration Abstraction (encapsulation, compilation séparée) Temps réel Interfaçage une programmation plus propre avec moins d’erreur

19 Les inconvénients : Contraignant Pas très repondu.

20 CONCLUSION Arrivé à ce point on posera certainement la question : pourquoi n'est-il pas plus répandu ? . Si le langage s'est bien introduit dans les domaines sensibles (aéronautique, aviation, domaine militaire, nucléaire, contrôle de processus), sa diffusion est restée modeste dans les domaines de la programmation traditionnelle : scientifique, gestion, programmation système, alors qu'on assistait à une montée en force du langage C, et plus récemment de C++


Télécharger ppt "Fethi Amine Kadri Mohamed"

Présentations similaires


Annonces Google