Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Eiffel - introduction
(Article écrit par Damien Guichard et extrait d'Amiga News - décembre 1995)
|
|
Hier, l'Amiga faisait figure de pionnier en proposant le meilleur (le multitâche préemptif) à un prix très démocratique. Aujourd'hui,
les choses ont changé. Le multitâche deviendra bientôt la norme et l'Amiga aura moins d'arguments technologiques à opposer aux
matériels compatibles ultra-concurrentiels.
Je pense que l'Amiga peut servir à autre chose que des jeux, des présentations multimédia, de l'imagerie de synthèse, du traitement
de son et autres domaines dans lesquels on l'a cantonné. Il est temps que s'affirment d'autres usages plus répandus sur d'autres
plates-formes telles que la bureautique, les bases de données, la PAO, la CAO... Sinon, le risque de marginalisation subsiste
à long terme même si l'on possède sur l'instant un marché suffisant.
Récapitulons...
Au départ, les systèmes se résumaient à un ensemble de commandes, puis ils ont successivement intégré une interface graphique,
le traitement multitâche, l'hypertexte, le multimédia, les facilités réseaux.
Demain, pour subsister, les systèmes devront offrir le meilleur des nouvelles techniques orientées objet. Actuellement, les plus
grands acteurs économiques (IBM, Apple, Microsoft) sont friands de technologies objet et ont créé différents organismes (OMG,
Taligent) dans le but de les acquérir et de les intégrer dans leur offre micro-informatique. Les systèmes d'exploitation les
plus crédibles (NeXTStep, OS2, Windows NT, X Window) sont en compétition pour décrocher ce supplément de prestige qui fait la
différence. La confiance de l'Amiga dans ses possibilités multimédia ne fait qu'accentuer le fossé que creuse la concurrence,
il faut aller plus loin sous peine de faire une nouvelle fois les frais d'une politique nombriliste. Évidemment, le choix d'un
langage support est stratégique pour la pérennité d'une solution orientée objet pour l'Amiga. La profusion des langages OO
impose une réflexion sur leur qualité respective.
Eiffel est le langage qui s'impose
Il incarne le "mieux-disant" technologique en matière de génie logiciel. Il intègre tous les acquis culturels nés de l'utilisation
des langages qui l'ont précédé. Il est novateur par sa rigueur et sa simplicité. Choisir Eiffel n'est pas marginalisant, mais au
contraire fédérateur.
C'est le langage plébiscité par la presse informatique (Byte, Programmer's Update, Journal of Object-Oriented programming, Unix
World, Computer Language, Software Design, Dr Dobb's Journal, Unix Review). C'est le langage support des conférences internationales
sur l'OO (ESEC : European Software Engineering Conference, TOOLS : Technology of Object-Oriented Languages and Software, OOPSLA :
Object-Oriented Programming Systems Languages and Applications, SIGPLAN).
C'est de façon plus générale le langage privilégié pour tous ceux qui recherchent la qualité logicielle (produits industriels dont
la sécurité est un facteur critique, soutenances de thèse, ouvrages universitaires...). Plus qu'un langage d'implémentation,
Eiffel est aussi un outil puissant d'analyse, de conception et de prototypage. Il est le meilleur allié des méthodes modernes
de conception les plus usitées (OMT : Object Modeling Technique, Booch, OMRB : Object Modeling Resources Base, HOOD :
Hierarchical Object-Oriented Design). Son expressivité dépasse largement le cadre de la programmation ce qui en fait le candidat
idéal pour une approche objet systématique. Les FAQ concernant Eiffel sont disponibles sur Usenet/comp.lang.eiffel.
Convaincu de l'intérêt d'un tel langage, j'ai commencé une implantation. Malheureusement, la commercialisation d'un tel produit
sur Amiga se heurte aux obstacles suivants qui expliquent en partie la pauvreté de la machine en AGL :
- Le peu d'impact de l'Amiga dans le monde de la finance, des assurances, des SSII, et autres organismes premiers consommateurs
d'AGL, et plus généralement le manque de notoriété de la machine et la méconnaissance de ses possibilités.
- Le manque relatif de concurrence en matière de distribution n'est profitable ni aux développeurs, ni aux consommateurs qui
pâtissent de trop grosses marges bénéficiaires.
- La relative étroitesse du marché pousse les prix à la hausse. Cet argument est compensé par le fait que le développement sur
Amiga est moins coûteux que sur une autre plate-forme. Mais il est alors très tentant de se contenter de prototyper sur
Amiga pour ensuite développer sur des environnements plus lucratifs. Il en résulte que l'Amiga n'a aucun espoir de se voir
équiper du logiciel qui lui fait défaut.
Toutefois, il existe une solution
Par le passé, Commodore a réussi à imposer sur Amiga des technologies que tous utilisent aujourd'hui (REXX, AmigaGuide, datatypes,
pour ne citer que les plus marquantes) et qui n'auraient pas eu de marché sans être intégrées au système même de la machine.
J'ai pensé qu'il pouvait en être de même pour Eiffel. Ce mode de distribution me paraît en effet atteindre tous les objectifs
dont on puisse rêver :
- La gratification de voir son produit profiter à tous pour un prix modique plutôt qu'à quelques-uns pour une somme substantielle
est un plus appréciable. Cette préoccupation rejoint l'objectif qui a toujours été celui de l'Amiga. Dans cette optique, Eiffel
n'est plus le langage d'élite qu'il est aujourd'hui mais un langage pour tous, comme l'a voulu son auteur français, Bertrand
Meyer (la contribution de la France dans le domaine du génie logiciel s'affirme de plus en plus depuis ADA). Jusqu'à présent,
la configuration matérielle et logicielle nécessaire rendait utopique le geste très généreux de B. Meyer qui a légué la définition
du langage Eiffel au domaine public.
- Une telle échelle de distribution démocratiserait, voire banaliserait, une technologie aujourd'hui réservée à une caste
d'initiés utilisateurs de stations Unix. Elle placerait l'Amiga en position de tête de toutes les plates-formes de développement
orientées objet et anticiperait les tendances technologiques de demain en proposant dès aujourd'hui une alternative au C/C++ dont
les lacunes en matière d'ingénierie logicielle ne sont plus à démontrer. Bien sûr, l'apparition d'Eiffel sur Amiga doit
s'accompagner d'une préparation adéquate (références bibliographiques, articles...) sous peine de provoquer un choc
psychologique même chez les programmeurs chevronnés. En effet, Eiffel gère le paradigme de programmation par contrat, qui
subsume le paradigme de programmation orientée objet actuellement encore peu en vogue sur Amiga. Ce véritable fossé culturel,
invisible pour un programmeur débutant, peut devenir une gêne pour quelqu'un maîtrisant un langage "traditionnel" comme C/C++.
Quelques exemples et une bonne documentation doivent suffire à dissiper les craintes des plus réticents à cette évolution majeure.
- On peut même imaginer qu'une offre Amiga/Eiffel comparée au coût exorbitant d'une plate-forme classique Unix-Motif/Eiffel
(32 Mo de mémoire + 500 Mo de disque dur + compilateur C/C++) entraîne un phénomène de "downsizing" (comme pour le Power Mac
avec le traitement d'image) qui tendrait à imposer l'Amiga comme plate-forme privilégiée du développement croisé orienté objet
pour une large part du cycle de vie du logiciel allant du prototypage jusqu'à la maintenance.
- La marginalisation du piratage moralise la distribution.
- La suppression des dépenses publicitaires indispensables au lancement de toute nouveauté de grande distribution évite toute
surenchère du produit.
- Le seul inconvénient d'une telle façon de procéder pourrait être le risque d'étouffer toute autre tentative d'implémentation
d'un environnement Eiffel concurrent. Toutefois, au regard du phénomène d'avant-garde que représente Eiffel, les utilisateurs
actuels d'un tel environnement ne sauraient être que des professionnels. Au contraire, le passage à une distribution de masse
ouvrirait une voie et un marché pour des AGL concurrents et/ou complémentaires.
- Le développement d'un tel marché sur Amiga serait d'un bénéfice considérable sur son image et son impact dans le monde du
travail.
Conclusion
L'Amiga ne doit pas se contenter de cultiver sa spécificité, il doit aussi intégrer les technologies montantes. En informatique,
le matériel compte peu. Il ne faut pas s'en remettre à lui pour faire des profits à court terme, il faut penser pour l'Amiga
une stratégie logicielle globale qui l'engage plus à l'ouverture et aux technologies multiplates-formes, jouer la carte d'un
futur assuré tout en préservant son identité. Dans ce contexte, la grande force du langage Eiffel est d'appartenir au domaine
public, d'être déjà largement reconnu par les spécialistes de l'OO et la presse universitaire, et de bénéficier d'une
expérience probante au sein de plusieurs grandes entreprises.
Je me tiens à la disposition des services concernés du repreneur (sauveur ?) de l'Amiga quant à l'éventuelle distribution d'un
produit bénéficiant des qualités d'Eiffel V3. Vous trouverez ci-joint une version de démonstration d'un tel produit destinée
exclusivement à la rédaction d'Amiga News et aux services d'Escom. A ce stade, il ne m'est plus guère possible de continuer
le développement sans faire d'hypothèses sur l'environnement cible.
Bibliographie
Eiffel : The Language
Bertrand Meyer
Prentice Hall Publishing Company. ISBN: 0-13-247925-7 (English version) ISBN 2-7296-0525-8 (French version)
Provides a complete description of the Eiffel 3.0 language.
Object-Oriented Software Construction
Bertrand Meyer
Prentice Hall Publishing Company. ISBN 0-13-629049-3
Explains the Eiffel approach to the design and implementation of high-quality software.
Object Oriented Design with Applications
Grady Booch
Benjamin/Cummings Publishing Company. ISBN 2-87908-004-5 (French version)
Good introduction to OOP concepts.
Eiffel FAQ : ftp://rtfm.mit.edu/pub/usenet/comp.lang.eiffel.
|