Articles précédents : Livre
- [19] Un excellent livre en ligne sur les OS mainframes et minis
- [84] Comprendre XSLT, critique du livre
- [51] Le livre "Programming Linux Games" disponible en pdf
- [11] Old Games
- [35] LFS v4 pour bientôt
- [9] Bibliothèque Linux
- [23] L'ésotérisme du bazar
- [8] L'âge du Capitaine
- [15] L'histoire illustrée des ordinateurs
- [4] Routage IP
Livre : Critique de livre : le langage ADA
Posté par Fabien Penso (Jabber id, page perso, ). Modéré le 03 décembre 2002.> Lire la suite (39 commentaires, moyenne: 1,6). [dépêche : 12964 caractères]
| Concurrency in Ada. | |
| Auteur | Alan Burns et Andy Wellings |
| Editeur | Cambridge University press |
| ISBN | 1-57870-190-2 |
| Pages | 390 |
| Prix | Prix Constaté 47.47 Euros |
| Rédacteur | trollhunter |
Le premier chapitre est une présentation rapide des principaux aspects du
langage. Bien que l'un des prérequis pour la lecture de cet ouvrage soit une
familiarité avec un langage de type Pascal, il est tout de même préférable
d'avoir programmé en Ada avant de se lancer dans l'étude de ce chapitre.
Les exemples sont bien choisis et on sent à leur lecture que les auteurs ont
une grande pratique de ce language: le code est très clair, limpide aurait-on
envie de dire.
Le chapitre suivant aborde la notion de programmation concurrente au travers d'un exemple simple de contrôle de la température. Bien que simple en soi, l'exemple recèle de nombreuses difficultées et leur ébauche de solution en Ada95 est magistrale: les auteurs maîtrisent parfaitement leur sujet. Dès ce chapitre deux constantes de l'ouvrage apparaissent:
- Les solutions proposées, contrairement à ce que l'on croise hélas trop souvent dans le monde académique, sont implémentables.
- Une grande maîtrise de la présentation visuelle : c'est du même niveau que les ouvrages du regretté Stevens.
Le troisième chapitre est lui consacré à la communication interprocess. Les exemples sont classiques et leur résolution permet d'introduire des concepts Ada qui seront approfondis dans les chapitres ultérieurs tels les tâches, les sémaphores et la communication par objet partagé ainsi que le Rendezvous. Si on devait résumer l'esprit de ce chapitre en une phrase, ce serait "La pratique ce n'est pas trivial !"
Les tâches font partie intégrante du langage et une petite comparaison
entre les normes Ada83 et Ada95 permet de se faire une idée du chemin parcouru
en une dizaine d'années.
Ce quatrième chapitre permet donc de se familiariser avec les tâches que l'on
retrouvera tout au long de l'ouvrage. Dès le premier exemple oû une station
service, ses pompes et le personnel sont présentés sous forme de tâches, on ne
peut rester insensible à la beauté de ce langage : des déclarations à
l'implémentation, tout semble se mettre en place naturellememnt. Autre
exemple, le crible d'Eratosthene implémenté sous forme de
tâche.
Puisque dans la station service nous avions un tableau de tâches pour
représenter les pompes nous allons cette fois ci nous familiariser avec les
hiérarchies de tâches.
Les deux chapitres suivants traitent du Rendezvous, mécanisme de base de communication directe entre tâches. Au cours de ces deux chapitres les auteurs au cours d'exemples de complexité croissante mettent en oeuvre ce mécanisme et vous apprendrez progressivement à contrôler ce mécanisme. Chose rare et c'est important de le signaler, les auteurs vous montrent non seulement ce qu'il faut faire mais vous montrent aussi ce qu'il ne faut pas faire en vous en expliquant pourquoi. Ceci devrait vous permettre de gagner un temps précieux, si dans vos essais vous voyez un motif à éviter émerger, vous pourrez vous arrêter à temps.
Le septième chapitre vous apprend les ficelles de la communication par objet protégé. Les auteurs commencent par le type protégé le plus simple. Puis, au fil du chapitre la complexité s'accentue. Après le problème des lecteurs écrivains, on arrive aux pragmastrès pointus Volatile, Volatile_Components, Atomic, Atomic_Components avec à chaque fois des explications détaillées et les avertissements de rigueur. Il apparaît clair que les auteurs maitrisent le sujet et qu'ils ont beaucoup pratiqué.
Le chapitre suivant passe en revue la résolution des problèmes de synchronisation à l'aide de requeue. Une fois encore, les explications théoriques et la pratique sont équilibrées avec un exemple très complet de transport ferroviaire de voyageurs dans des stations sur un parcours circulaire: c'est pire que des lemmings.
Le neuvième chapitre permet au lecteur de souffler un peu et de mettre en pratique ses connaissances fraîchement acquises concernant les objets protégés puisque ceux ci seront les briques de base des sémaphores, des signaux persistants, du pulse, des tableaux, des buffers, du broadcast et enfin des barrières. Nul doute qu'à la fin de ce chapitre vous saurez choisir et implémenter efficacement vos interactions entre les tâches.
Tout n'est pas pour le mieux dans le meilleur des mondes et de nombreuses applications doivent s'exécuter dans des environnements changeants de manière imprévisible, voir en mode dégradé. Aussi, il faut savoir gérer les exceptions. Ce n'est nullement un problème en Ada puisque c'est aussi un des très nombreux points forts de ce langage. Dans ce chapitre sont aussi traités le transfert asynchrone de contrôle et l'utilisation judicieuse de abort. C'est à l'aide d'exemples du monde réel tels le changement de mode de fonctionnement ou la reprise sur erreur. Les concepts et les solutions mis en oeuvres sont relativement simples, c'est leur combinaison qui rend les choses complexes : les auteurs arrivent à surmonter cet écueuil et à expliquer les interactions entre les différentes parties de leur solution tout en restant très simple. C'est vraiment du grand art !
Une des nombreuses annexes du langage la "Systems Programming" est mise en oeuvre dans le onzième chapitre qui se propose de vous montrer les interactions entre les tâches et la programmation système. A la fin de ce chapitre vous aurez une bonne idée de la façon dont sont écrits les gestionnaires de périphériques en Ada.
Ada est aussi bien entendu un langage temps réel. Ce chapitre se propose de vous donner un petit aperçu de ses possibilitées et des interactions entre les annnexes "Systems Programming" et "Real-Time Systems". Vous saurez gérer les priorités dynamiquement avec l'écriture d'un petit ordonanceur. Le profil Ravenscar (Pour plus d'informations consultez la note en fin de cette critique) est survolé avec la liste de ses pragmas.
C'est un fait peu connu mais le premier langage objet standardisé est Ada. Après un rapide survol de l'Objet en Ada les auteurs réimplémentent les buffers et tableaux vus au chapitre 9 sous forme objet. Puis c'est l'interaction des tâches et du modèle objet qui est examinée.
Le quatorzième et avant dernier chapitre fait le point sur un domaine oû de nombreux problémes de concurrence se manifestent : les systèmes répartis. En effet, Ada avec l'annexe "Distributed Systems" gère aussi très bien la programmation distribuée. Encore faut-il savoir la mettre en oeuvre. C'est justement le but de ce chapitre oû une fois encore la théorie et la pratique s'équilibrent. Après un rapide rappel du répartit en Ada le crible d'Eratosthene fait un retour inattendu : c'est vraiment très beau. Puisque l'objet a été abordé dans le chapitre précédent ce chapitre se termine par les objets distribués.
Un dernier chapitre vient conclure cet ouvrage en résumant ce qui a été vu précédemment. Tout en fournissant une ouverture sur un avenir potentiel d'Ada.
Cet ouvrage réussit à présenter les différents problèmes de la programmation
concurrente et leurs solutions possibles en Ada95 tout en préservant un juste
équilibre entre théorie et pratique. Trop souvent les exemples trouvés dans
les livres sont du type "hello world" et s'avèrent inadaptables au monde reel.
C'est un eccueil que cet ouvrage a su éviter puisque les exemples sont bien
choisis, assez simples sans être simplistes.
Le style des auteurs est clair, ils vont à l'essentiel et savent justifier
leurs choix. Les concepts et les chapitres ne se suivent pas au hasard ; on
sent que le livre suit un plan qui est m$ûrement réfléchit : c'est un ouvrage
qui a demandé beaucoup de travail et ça se voit.
Autre point positif de cet ouvrage ; c'est un livre qui se lit aussi avec le
clavier c'est à dire qu'au fil des pages on se retrouve tout naturellement en
train de taper les exemples et de les modifier histoire de voir ce qui se
passe : un vrai plaisir.
Au chapitre des regrets, les auteurs sont quelques peu optimistes lorsque dans les prérequis ils citent une connaissance d'un langage de la famille Pascal. En effet, contrairement à ce que sa syntaxe peut laisser penser, Ada n'est pas un autre Pascal. Car si l'on peut effectivement faire quelque chose ressemblant à du Pascal en Ada ; ce ne sera pas de l'Ada et ce n'est pas avec le premier chapitre que l'on pourra acquérir une pratique du langage suffisante pour pouvoir retirer le plein potentiel de cet ouvrage. Mais la liste des références fournies en fin de critique devrait vous permettre d'acquérir cette dernière.
Même si l'on ne connaissait pas Ada avant, au fur et à mesure des pages on en vient à se dire que c'est vraiment un très beau langage, très bien conçu et pour peu que l'on s'informe un minimum on se rend compte qu'il a vraiment fait ses preuves et ce depuis de nombreuses années.
Le prix de cet ouvrage est d'autant plus raisonable qu'il est concu pour
durer. La seconde édition présentement passée en revue date de 1998 et est
toujours d'actualité. En outre, alors que nombres d'ouvrages récents sont
physiquement fragiles et trop grands ou trop petits, ce livre est solide et
possède juste les bonnes dimensions pour être utilisé au bureau ou dans les
transports.
En conclusion, si la programmation concurrente vous intéresse, c'est vraiment
l'ouvrage à posséder.
Table des matières
- 1 The Ada Language
- 2 The Nature and uses of Concurrent Programming
- 3 Inter-Process Communication
- 4 Ada Task Types and Objects
- 5 The Rendezvous
- 6 The Select Statement and the Rendezvous
- 7 Protected Objects and Data-Oriented Communication
- 8 Avoidance Synchronisation and the Requeue Facility
- 9 Using Protected Objects as Building Blocks
- 10 Exceptions, Abort and Asynchronous Transfer of Control
- 11 Tasking and Systems Programming
- 12 Real-Time Programming
- 13 Object-Oriented Programming and Tasking
- 14 Distributed Systems
- 15 Conclusion
- References
- Index
Références
- Le site du livre.
- Le département temps réel de l'universitée de York.
- GNAT et librairies pour GNU/Linux.
- GNAT et librairies pour MacOS.
- The bigonline book of Linux Ada Programming. : Tout ce que vous avez toujours voulu savoir (et même plus encore) sur la programmationde Linux en Ada.
- Ada 95: The Craft of Object-Oriented Programming : le livre en ligne.
- Ada France, association française très sympathique.
- Ada ReferenceManual (ARM)
- Ada95Rationale : les justifications des choix du langage.
- Quality and style guide : la norme de programmation Ada (peut être vérifiée par GNAT)
- OpenRavenscar
- Petit tutoriel enFrançais de Polytechnique Montreal
- Le cours de l'IUT d'AIX Marseille
- Liste de livres et detutoriaux sur le Web en anglais.
Re: Critique de livre : le langage ADA
Article très sympa, peut-être à la rigueur manque-t-il le petit logo "publi-information" en petit caractère en bas à gauche, et un lien direct sur amazon pour acheter le livre en 1-click.
Sinon au lien de proposer des bouquins propriétaires, peut-être eut-il été pertinent de mettre des liens vers des ouvrages gratuits ? Par exemple http://www.vaxxine.com/pegasoft/homes/book.html(...) ou http://www.adahome.com/Tutorials/(...) ?
-
[^]Re: Critique de livre : le langage ADA
Posté par Nico () le 03/12/2002 à 15:41. (lien). Évalué à 2.les commentaires sont faits pour ça !
-1-
[^]Re: Critique de livre : le langage ADA
Posté par Harry Cover () le 03/12/2002 à 15:48. (lien). Évalué à 0.Et c'est bien ce que fait mon commentaire constructif, donc +1 plutôt, non ?
-
[^]Re: Critique de livre : le langage ADA
-
-
-
[^]Re: Critique de livre : le langage ADA
Posté par Pierre Tramo (page perso, ) le 03/12/2002 à 16:20. (lien). Évalué à 4.C'est quoi un bouquin "propriétaire" ?
Et quel rapport avec la gratuité ?--
C'est ce que je pensais, vous êtes un petit con monsieur. Une merde de plus dans une immensité de caca virtuel. Vous êtes la honte du net francophone vous et vos copains. (Phill)-
[^]Re: Critique de livre : le langage ADA
-
[^]Re: Critique de livre : le langage ADA
Posté par Pierre Tramo (page perso, ) le 03/12/2002 à 22:18. (lien). Évalué à 1.Je sais ce qu'est la fdl, merci.
Maintenant je vois pas le rapport avec le terme propriétaire sur un bouquin. Et encore moins le rapport avec la gratuité.--
C'est ce que je pensais, vous êtes un petit con monsieur. Une merde de plus dans une immensité de caca virtuel. Vous êtes la honte du net francophone vous et vos copains. (Phill)-
[^]Re: Critique de livre : le langage ADA
Posté par gege (page perso, ) le 04/12/2002 à 08:37. (lien). Évalué à 2.il est pas fourni avec le code source ;-)
FAITES ATTENTION LES GARS ! Libre n'est pas forcément gratuit, gratuit n'est pas forcément libre.
-
-
-
Re: Critique de livre : le langage ADA
qui utilise ada en france et pourquoi ?
-
[^]Re: Critique de livre : le langage ADA
Posté par Hardy Damien (page perso, ) le 03/12/2002 à 15:44. (lien). Évalué à 2.Pour les applications temp reel souvent.
-
[^]Re: Critique de livre : le langage ADA
Posté par benoit orihuela () le 03/12/2002 à 15:48. (lien). Évalué à 3.c'est pas mal utilisé dans l'aéronautique pour les systèmes temps réel (systèmes embarqués dans l'avion, contrôle de trafic aérien)
-
[^]Re: Critique de livre : le langage ADA
Posté par Bruno Hondelatte (page perso, ) le 03/12/2002 à 15:53. (lien). Évalué à 11.Grande question ... et pas mal de réponses : Ada est utilisé dans beaucoup d'endroits où les contraintes temps-réelles sont fortes. Cela va des systèmes embarqués à des serveurs. Pour ne citer que quelques entreprises : Dassault, Matra, EDF, Canal+, Thalès, et j'en passe.
Les principales raisons ? La tasking très puissant, la fiabilité, la maintenabilité, ...
Juste au passage, gnat a été intégré à gcc depuis la version 3.1, et qu'un très bon debugger graphique dans la lignée de DDD est disponible, à savoir GVD (Gnu Visual Debugger, http://libre.act-europe.fr/gvd/(...))
PS : Ada est bien écrit dans tout l'article, sauf dans le titre : ce n'est pas un loueur de voiture, Ada est à l'origine un prénom (Ada Lovelace, 1815-1852)-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Boulay () le 03/12/2002 à 16:16. (lien). Évalué à 1.Hum, c'est aussi vu comme un programme pour riche car les runtimes Ada coutait super chère (sauf depuis Gnat) et était souvent buggué.
Bref, tout le monde est en train de passé au C. Parce qu'il y a plein d'outils, parce que tout les écoles en font,...
Bref, gnat est vu comme arrivant trop tard.--
"Tout ce que les être humains font pour contrôler les réseaux informatiques facilite, dans le même temps, le contrôle des êtres humains par les réseaux informatiques."-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Roard (page perso, ) le 03/12/2002 à 16:55. (lien). Évalué à 2.tout le monde est en train de passé au C
Pardon ???
Heu... non. C++ est une autre des références, java progresse aussi. Mais pour les taches vraiments pointues et nécessitant une certaine robustesse (aéronautique...), Ada reste un grand classique.
Ada apporte pas mal de trucs de base (tasks...), la notion de composants est au coeur du langage, les exceptions et le compilateur sont super fichus, la bibliothèque de base est largement fournie, etc.
Honnêtement, pour un projet de grande taille ou la robustesse serait un point important, je choisirais sans hésiter Ada, et surtout pas C++... et encore moins C !
Pour de l'embarqué, ça dépends de l'utilisation, mais bon en général on attends là aussi une certaine fiabilité, ça se rejoint...-
[^]Re: Critique de livre : le langage ADA
Posté par Moby-Dik () le 03/12/2002 à 18:10. (lien). Évalué à 2.Pour l'embarqué sous C++, voir ACE (Adaptive Communication Environment), bibliothèque haut-niveau (frameworks etc.), portable, performante.
http://www.cs.wustl.edu/~schmidt/ACE.html(...)
Semblerait que ce soit pas mal utilisé dans l'industrie. Y a aussi un ORB Corba (TAO).-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Roard (page perso, ) le 03/12/2002 à 18:14. (lien). Évalué à 1.oui effectivement :)
TAO permet entre autre de n'embarquer que ce qui est nécessaire je crois...
-
-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Boulay () le 04/12/2002 à 08:51. (lien). Évalué à 1.bah désolé de ton contredire mais je bosse dans l'aéronautique.
VxWorks par exemple qui est très utilisé, s'utilise très mal avec Ada (possibilité de debug natif réduit) mais très bien avec le C.
J'ai discuté d'Ada avec de 2 architects de programme info d'EADS dans 2 branches différentes. Et il en ressortait la même chose sur Ada : chère, peu fiable (différence de compilation entre cible ! genre un signed qui devient un unsigned), et il envisageait de laisser tomber pour le C en gros.--
"Tout ce que les être humains font pour contrôler les réseaux informatiques facilite, dans le même temps, le contrôle des êtres humains par les réseaux informatiques."-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Boulay () le 04/12/2002 à 08:52. (lien). Évalué à 1.(au fait, je ne dis pas qu'il ont raison mais c'est "l'ambiance" en ce moment)
--
"Tout ce que les être humains font pour contrôler les réseaux informatiques facilite, dans le même temps, le contrôle des êtres humains par les réseaux informatiques."
-
-
[^]Re: Critique de livre : le langage ADA
Posté par Olivier Jeannet () le 06/12/2002 à 10:32. (lien). Évalué à 1.pour un projet de grande taille ou la robustesse serait un point important, je choisirais sans hésiter Ada, et surtout pas C++... et encore moins C !
J'ai eu une formation par un type qui avait une grande culture technique/informatique, et qui nous a rapporté qu'on faisait 50 (!) fois plus d'erreurs en C++ qu'en Ada. Des types ont dû se pencher sur la question et faire des évaluations.
Ca ne m'étonne qu'à moitié car l'Ada force la rigueur, le compilateur vérifie beaucoup de choses, le "run-time" peut intégrer des vérifications de limites (tableaux, etc), et on peut préciser beaucoup de choses, genre un type qui va de 0 à 9 et puis de 100 à 999. On peut itérer sur un énuméré. Un de mes collègues en a fait sérieusement et il regrette certaines fonctionnalités. J'en ai fait il y a 10 ans mais pas énormément.
Il a aussi ajouté que le C était relativement bien fait dans son genre, et avait une certaine cohérence. C'est le C++ qui avait la plus mauvaise réputation.
-
-
[^]Re: Critique de livre : le langage ADA
Posté par gege (page perso, ) le 04/12/2002 à 08:27. (lien). Évalué à 2.Non pas du tout, efface. Des compilateurs Ada libres existent depuis la création du langage : Ada/Ed est le premier compilateur certifié pour Ada83 (en fait, c'est un interpréteur), Gnat (Ada95) existe depuis 1995. Le seul problème a été que pendant de nombreuses années, le code Ada a été très mal optimisé, d'où sa difficile persée.
Quant au C, tout le monde n'est pas en train d'y passer, car tout le monde en fait déjà. Non, tout le monde est en train de passer au C++/Java/Python/Perl/C#... euh non, pas C# en fait :-)
L'Ada a toutefois trouvé des niches importantes comme le fait remarquer Dsls : la défense, le transport (aéronautique, spatial, ferroviaire, ...), le médical, ainsi que d'autres domaines plus spécifiques encore (Canal+ Technologies pour ses serveurs de télévision numérique, des projets libres comme GVD, adaCoinCoin !!!)
Bref, gnat n'est pas arrivé trop tard, mais l'Ada (comme tout langage) n'est pas destiné à tout faire (même si on peut), et donc persiste dans des domaines où il est utile.-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Boulay () le 04/12/2002 à 08:46. (lien). Évalué à 1.Est-ce que une entreprise comme EADS est une entreprise assez grosse comme exemple ?
Je tiens ce que je dis de chef de projet info de là-bas. Je crois qu'en aéronautique, ils s'y connaissent un peu...--
"Tout ce que les être humains font pour contrôler les réseaux informatiques facilite, dans le même temps, le contrôle des êtres humains par les réseaux informatiques."
-
[^]Re: Critique de livre : le langage ADA
Posté par Brice Carpentier (Jabber id, page perso, ) le 04/12/2002 à 17:55. (lien). Évalué à 1.euh si, justement, a la base Ada a été crée pour tout faire...au sein du département de la défense des USA en tout cas, mais autant pour des applis embarquées que pour de la gestion.
Juste une petite remarque sans grands interet si ca n'est que (cocorico) Ada est un langage (une norme ?) française.--
Développeur OpenSource
-
-
-
[^]Re: Critique de livre : le langage ADA
-
[^]Re: Critique de livre : le langage ADA
Posté par Brice Carpentier (Jabber id, page perso, ) le 03/12/2002 à 20:55. (lien). Évalué à 1.Juste au passage, gnat a été intégré à gcc depuis la version 3.1>
Est-ce que cela signifie qu'ayant gcc 3.2 je n'ai rien de particulier a faire pour utiliser Ada ?--
Développeur OpenSource-
[^]Re: Critique de livre : le langage ADA
Posté par Bruno Hondelatte (page perso, ) le 03/12/2002 à 23:28. (lien). Évalué à 1.Est-ce que cela signifie qu'ayant gcc 3.2 je n'ai rien de particulier a faire pour utiliser Ada ?
A priori oui. Rien de mieux qu'un "hello world" pour le tester :
~$ cat > hello.adb
with Ada.Text_IO;
procedure Hello_World is
begin
Ada.Text_IO.Put_Line ("Hello, world");
end Hello_World;
^D
~$ gcc -o hello hello.adb-
[^]Re: Critique de livre : le langage ADA
Posté par Brice Carpentier (Jabber id, page perso, ) le 04/12/2002 à 18:31. (lien). Évalué à 1.ca met :
[k@daKweb.no-ip.org k] gcc -o hello hello.adb
gcc: hello.adb: Ada compilateur n'est pas installé sur ce système
*sigh*--
Développeur OpenSource
-
-
[^]Re: Critique de livre : le langage ADA
Posté par gege (page perso, ) le 04/12/2002 à 08:30. (lien). Évalué à 2.ben si tu as installé le frontend et la libgnat, oui.
-
[^]Re: Critique de livre : le langage ADA
Posté par Brice Carpentier (Jabber id, page perso, ) le 04/12/2002 à 18:00. (lien). Évalué à 1.et ca s'installe comment cette chose ?
parce que les sources de gnat (meme la 3.15) demande un gcc 2.81
kan a libgnat j'en ai trouvé des rpm mais pas de paquet de sources...et je n'ai pas rpm sur mon systeme (gentoo) en tout cas pas envie de l'installer.--
Développeur OpenSource
-
-
-
-
[^]Re: Critique de livre : le langage ADA
Posté par Julien CARTIGNY (page perso, ) le 03/12/2002 à 15:56. (lien). Évalué à 2.Pas mal aussi pour l'enseignement. Je me souviens de mes TPs de Deug 2ème année, mais aussi des cours d'architecures logicielles uniquement basés sur ce langage.
C'est vrai que le langage est bien foutu pour commencer, assez élégant dans sa démarche mais certaines abstractions rebuttent le plus souvent les adorateurs du cooding pur.
Spécial dédicace à mon projet de compresseur / décompresseur en première année de licence, le LZW entièrement en ADA ;-)--
"Nobody expects the spanish inquisition"-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Roard (page perso, ) le 03/12/2002 à 17:01. (lien). Évalué à 2.Je me souviens que les cours de première année en DUT étaient entièrement basés sur Ada. Et pour apprendre la programmation, c'est un langage idéal, rigoureux (quelle plaie pour compiler :) et qui pousse je pense à de bonnes pratiques.
Comme en plus il est suffisamment riche pour montrer les algos classiques de façon simple (prog parallèle, etc.) ... Franchement un bon langage. Même si pénible à écrire ;) et qu'il vaut mieux avoir des profs qui expliquent clairement le truc ;)-
[^]Re: Critique de livre : le langage ADA
Posté par Nicolas Roard (page perso, ) le 03/12/2002 à 18:12. (lien). Évalué à 1.Ah ben d'ailleurs j'avais pas fait gaffe mais dans les liens de l'article il y a le cours de mon prof de l'époque, Daniel Feneuille ..
Un grand merci à lui ! :)
-
[^]Re: Critique de livre : le langage ADA
Posté par Brice Carpentier (Jabber id, page perso, ) le 03/12/2002 à 20:45. (lien). Évalué à 3.Ouaip, chuis en iut isi et en premiere année c Ada, on en bave, on le deteste, en deuxieme année on voit le C c la délivrance.
Pis on refait un tp d'ada, et là on s'perçoit que c'est vraiment un excellent langage.--
Développeur OpenSource
-
-
-
[^]Oui, pourquoi ?
Posté par Nicolas Boulay () le 03/12/2002 à 16:19. (lien). Évalué à 1.Il y a aussi des mega projet de soft de banque. Un chef de projet me disait que C++ devient vite un gros problème sur les gros projet (Java ne devait pas encore exister au démarage de son projet).
Ada est plus propre et sa compilation donne des binaires au moins aussi rapide que le C si ce n'est plus.
Bref, il n'a pas eu son heure de gloire en dehors de l'embarqué et c'est bien dommage (problème de librairie ?)--
"Tout ce que les être humains font pour contrôler les réseaux informatiques facilite, dans le même temps, le contrôle des êtres humains par les réseaux informatiques."-
[^]Re: Oui, pourquoi ?
Posté par Brice Carpentier (Jabber id, page perso, ) le 03/12/2002 à 20:46. (lien). Évalué à 2.et Ada a un certain avantage sur Java, car les spécifications d'Ada sont totalement disponibles.
--
Développeur OpenSource
-
-
[^]Re: Critique de livre : le langage ADA
-
[^]Re: Critique de livre : le langage ADA
Re: Critique de livre : le langage ADA
C'est pas pour jouer les rabat-joie, mais une fois de plus, il y a un scrouitch dans la traduction : Concurrent ne se traduit pas par concurrent, mais plutôt, au choix, par concourant, concomitant ou simultané.
En aucun cas les processus ne cherchent à se concurrencer, mais juste à s'exécuter simultanément et proprement ...
BB
-
[^]Re: Critique de livre : le langage ADA
Posté par Brice Carpentier (Jabber id, page perso, ) le 04/12/2002 à 18:03. (lien). Évalué à 1.on parle pourtant de gestion des acces concurrent...
--
Développeur OpenSource
-
[^]Re: Critique de livre : le langage ADA
Posté par Michaël Grünewald () le 05/12/2002 à 21:12. (lien). Évalué à 2.Si les processus agissent a priori de concert pour mener à bien une tâche, ils entrent en concurrence pour utiliser les ressources du système.
Un processus peut occuper toutes les ressources d'un type donné sur le système, temporairement, ou de manière permanente : mémoire, temps d'exécution, nombre de fichiers ouverts (handle), appel système (par exemple DOS n'est pas réentrant, pour demander au système d'écrire dans un fichier, il faut attendre qu'il ait terminé toutes les opérations d'écriture en cours, sinon c'est l'UB), opération non atomique sur une valeur partagée, etc ...



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.