Fin 88, le premier article que j’ai écrit dans la Lettre des Développeurs Apple (N°4) avait pour objet HyperCard, et commençait par ce script :
On KetchUp
if water is boiling then
put spaghetti into water
end if
wait 480 seconds
drain spaghetti
crush tomatoe
end KetchUp
En dehors du fait que ce script ne peut pas fonctionner, je voulais juste montrer la relative simplicité du langage HyperTalk, très proche du langage naturel. Jusqu’à HyperCard, la programmation des ordinateurs passait par des langages relativement difficiles à apprendre. Le langage Basic avait été la première tentative de simplifier les programmes, mais les informaticiens purs et durs dédaignaient ce type d’approche, trop simpliste à leur goût, et ne juraient que par l’assembleur (accès direct aux instructions du microprocesseur) ou par des langages complexes comme le Cobol ou le Fortran. Je me rappelle avoir donné des cours de Basic à de nombreux élèves, enfants comme adultes. J’animais des ateliers de micro-informatique, sur des Apple II, qui disposaient d’un Basic intégré, et c’est comme ça que tout a commencé :
10 home
20 input « Quel est votre prénom ? » ; prenom$
30 print « Bonjour, » ; prenom$
Je me rappelle que le Logo avait lui aussi du succès auprès des enseignants, avec ses possibilités de faire dessiner l’ordinateur par une suite de commandes directionnelles de la tortue, curseur graphique piloté par le langage. Inspiré des textes sur la théorie de la connaissance de Jean Piaget, et développé au MIT, il n’a pas survécu à la vague Internet. De même, je m’amusais à programmer en Forth, autre langage disparu, mais conceptuellement très puissant, qui utilise la notion de piles, avec une expression que j’aimais particulièrement, la notation polonaise inversée, ou LIFO (last in, first out), approche fonctionnelle des mathématiques.
Le Basic a rapidement été abandonné au profit du Pascal, plus évolué, plus puissant, plus rapide (les lignes de code étaient compilées, pour donner un programme exécutable, alors que le Basic était interprété ligne après ligne par l’ordinateur). Quand le Macintosh est arrivé, il comportait plusieurs logiciels, MacWrite (le traitement de texte), MacPaint (le dessin), puis rapidement MacDraw, et Excel, le successeur du tableur Multiplan, développé d’abord pour le Mac par Microsoft. MacPaint avait été créé par Bill Atkinson, co-auteur avec Andy Herzfeld de la bibliothèque graphique QuickDraw, élément majeur du système d’exploitation, destiné à gérer l’affichage graphique des menus, icônes et fenêtres.
Pour développer des logiciels sur Mac, il fallait d’abord passer par les outils du Lisa, l’ancêtre du Mac, puis à partir de 1985 par MPW (Macintosh Programming Workshop), environnement de développement donnant accès aux compilateurs Pascal , C et C++, et à des outils de débugging. La bible des premiers développeurs français a été « Programmez votre Macintosh« , écrit par Christophe Droulers et Alain Andrieux, qui ont été à l’origine du support développeurs chez Apple France.
Après MacPaint, Bill Atkinson a créé WildCard (le jocker), renommé ensuite HyperCard. Là aussi, un coup de génie. C’est à la fois un gestionnaire de base de données, un outil de présentation, et un outil de programmation, qui s’appuie sur la notion de carte (=un écran graphique), sur laquelle on peut disposer des images, des champs de textes, et des zones interactives. Plusieurs cartes peuvent être assemblées en piles (stacks). Pour relier ces éléments, on associe tout simplement des scripts de navigation à chacun d’entre eux, contenant les instructions écrites en HyperTalk. Ce langage, orienté objet, se sert du langage naturel. Pour dire d’aller à la carte suivante, on écrit par exemple dans une zone interactive (= un bouton)
on MouseUp (quand la souris est relevée, c’est à dire quand on a cliqué sur la zone en question)
go next (pour les anglophobes, « va à la suivante »)
end MouseUp (fin du script)
HyperTalk disposant de toutes les ressources nécessaires pour manipuler des données, HyperCard a eu énormément de succès, auprès d’utilisateurs très divers, du médecin généraliste au professeur d’école, du créateur de jeu au gestionnaire de PME. L’une des raisons de ce succès était aussi que Bill Atkinson avait obtenu d’Apple que HyperCard soit gratuit, et donné avec toutes les machines. Des piles d’exemples étaient livrées avec le logiciel, chacune étant éditable et modifiable. Pour la petite histoire, l’un des jeux les plus célèbres à cette époque, MYST, avait été créé initialement avec HyperCard (précédé par Cosmic Osmo, le premier jeu des auteurs, les frères Miller).
Pour aller plus loin, on pouvait également ajouter des commandes externes (XCMD), éléments créés dans MPW, mais facilement intégrables dans HyperCard selon les besoins. Il y avait chez Apple un fou d’HyperCard, Frédéric Rinaldi, dit FreDOS, ingénieur technico-commercial, (je disais plutôt un génial technico-commerceur) qui passait son temps à écrire des commandes et des fonctions externes, plus inventives les unes que les autres.
Le groupe développeurs d’Apple France, dont je faisais partie, organisait chaque année les Trophées Apple, destinés à récompenser les auteurs de logiciels particulièrement innovants. Nous avons ainsi pu rencontrer de nombreux passionnés, et les aider à commercialiser leurs projets. Je me rappelle de certain(e)s, ayant ainsi commencé une autre vie, un nouveau métier, ou ajouté de nouvelles facettes à leur activité, grâce à l’informatique et à HyperCard.
HyperCard a lui aussi subit le contrecoup d’internet, pour ne pas avoir anticipé un système véritablement communicant. Les difficultés financières d’Apple, et une mauvaise gestion du produit, laissé aux mains de sa filiale Claris, ont entraîné son abandon. Pourtant, si l’on y réfléchit, le langage HTML (HyperText Markup Language) n’est qu’un pâle succédané d’HyperTalk, véritable pionnier de l’hypertexte…
6 réponses sur « HyperCard »
[…] -sur supports disquettes 3,5″ (trois pouces et demi) – étaient donc développés avec HyperCard, et son langage HyperTalk, environnement de développement génial, malheureusement abandonné par […]
[…] Mac d’origine, véritable boîte à outils au cœur du système. Et l’auteur d’HyperCard, dont je parle dans un autre […]
Comme il est amusant de retrouver son passé sur Internet 🙂
Hypercard ? Vous avez dit Hypercard ?
Je me rappelle de cet article de la LDA comme si elle était parue hier !
content de te retrouver Brie.
On pourrait parler aussi de Macromedia Director, créé en 1994, racheté ensuite par Adobe, et dont le langage de script (Lingo) était un copié-collé d’HyperTalk. Director fonctionnait aussi sur PC, il a donc été utilisé pour produire des CD multimédia commerciaux. J’en reparlerai à l’occasion, il y a de belles histoires là aussi.
Bonjour Brieuc
« Toute une époque » comme disait, nostalgique, Blier dans les Tontons Flingueurs.
Ah oui, Hypercard était bien et novateur et j’ai toujours le trophée Apple gagné en…? 1991 ou 1992 ?
Les débats de l’époque entre « vrais développeurs » et les autres m’amusent encore.
Je n’ai pas adhéré aux successeurs SuperCard puis Revolution.
Mais bon, ça c’était « avant ». 😉
[…] et nous permettait d’apprendre. La notion d’hypertexte, initiée avec des outils comme HyperCard et le langage HyperTalk, prit tout son sens avec l’internet et l’HTML (Hyper Text […]