Le code source de Photoshop 1.0, le logiciel d'édition d'images, révèle qu’il fut écrit en Pascal
Pour Grady Booch, créateur de la méthode Booch, c’est un exemple de code bien écrit, partagez-vous cet avis ;?
S’il est un logiciel qui fait l’unanimité en matière de retouche d’images aussi bien dans le monde professionnel que celui des amateurs, c’est bien Photoshop. Aujourd’hui, ce logiciel compte des millions d’utilisateurs et le nombre de nouveaux utilisateurs ne cesse de croître. Bien que plusieurs alternatives existent dans le domaine, comme Gimp, PicMonkey, Photo Pos Pro, Paint.Net, Pixlr Editor, Krita, Sketch, Corel PaintShop Pro, Pixelmator et bien d’autres encore, la force de Photoshop est qu’il répond largement aux besoins des utilisateurs en raison de ses nombreux avantages et fonctionnalités, notamment sa facilité d’apprentissage, son environnement assez large, ses outils d’édition d’images assez étoffées, etc.
Avant de connaître le succès que nous lui savons aujourd’hui, il faut savoir que ce projet a démarré initialement comme projet personnel pour modifier les images numériques avec les frères Thomas Knoll et John Knoll sous le nom de « ;Display ;» en 1987. Vu les premières itérations qui semblaient prometteuses, les frères ont peaufiné leur produit afin de le hisser au stade de produit commercialisable. En 1988, les premières ventes ont commencé à se faire avec la version 0.87 nommée Photoshop. Un an plus tard, les décideurs de l’entreprise Adobe ont flairé l’opportunité que revêtait ce produit et ont acheté une licence pour distribuer une version avancée de Photoshop. En 1990, la version 1.0 de Photoshop est sortie sur les Mac OS et deux ans plus tard, c’est-à-dire en 1992, sur les systèmes Windows.
Exceptionnellement pour cette version 1.0.1 de Photoshop, Adobe Systems a donné l’autorisation au Computer History Museum afin de mettre à la disposition du public le code source de ce produit à des fins non commerciales. Après avoir parcouru le code, Computer History Museum fait savoir que les 179 fichiers contenus dans le dossier archivé comportent environ 128 ;000 lignes de code qui ne sont pour la plupart pas commentées, mais très bien structurées. Et pour ce qui concerne la nature de ces lignes de code, environ 75 % d’entre elles sont écrites avec le langage Pascal et 15 % en langage Assembleur 68000. Le reste du code est constitué de données et diverses autres informations.
Grady Booch, le créateur de la méthode Booch (la méthode d’analyse et de conception orientée objet), également scientifique en chef dans la branche génie logiciel chez IBM Research Almaden et aussi administrateur au Computer History Museum, a aussi parcouru le code source de Photoshop 1.0 et a fait les déclarations suivantes :
« ;En ouvrant les fichiers qui constituaient le code source de Photoshop 1.0, je me sentais un peu comme Howard Carter lorsqu’il a d’abord percé la tombe du roi Toutankhamon. Quelles merveilles m’attendaient ;? Je n’ai pas été déçu par ce que j’ai trouvé. En effet, ce fut un merveilleux voyage pour ouvrir les rouages d’une application que j’avais utilisée il y a plus de 20 ans.
Architecturalement, c’est un système très bien structuré. Il y a une séparation cohérente de l’interface et de l’abstraction, et les décisions de conception prises pour subdiviser ces abstractions — avec généralement un type majeur pour chaque combinaison d’interface et d’implémentation — facilitèrent le suivi. Les abstractions sont assez matures. La dénomination cohérente, la granularité des méthodes, la simplicité à couper le souffle des implémentations, parce que chaque type était si bien abstractisé, tout concourt à rendre facile le discernement de la texture du système ;».
En comparant ce code source avec l’architecture actuelle de Photoshop, Booch souligne que les structures fondamentales ont persisté, bien que probablement dans des formes plus évoluées pour ce qui concerne l’implémentation moderne. Il ajoute que « ;les tuiles, les filtres, les abstractions pour la mémoire virtuelle (pour s’occuper d’images beaucoup plus grandes que les tampons d’affichage ou que la mémoire principale pourrait normalement gérer) sont tous présents dans la première version. Pourtant, il avait un peu plus de 100 ;000 lignes de code, par rapport à plus de 10 millions dans la version actuelle ;! Ensuite et maintenant, une grande partie du code fait référence à l’entrée/sortie et à la myriade de formats de fichiers que Photoshop doit prendre en charge ;».
« ;Il n’y a que quelques commentaires dans le code source de la version 1.0, dont la plupart sont associées à des extraits de code du langage Assembleur. Cela dit, le manque de commentaires n’est tout simplement pas un problème. Ce code est si alphabétisé, si facile à lire, que les commentaires auraient même pu gêner. […] Ce sont de très petits éléments de la base du code global, mais leur apparence me rappelle qu’aucun code n’est une île ;».
« ;C’est le genre de code que j’aspire à écrire ;», conclut-il. Après de telles déclarations d’un homme avisé en la matière, l’on est tenté de dire que ce code est exemple de bon code.
Avez-vous parcouru le code source de Photoshop 1.0 ;? Quel est votre avis personnel sur la qualité du code de Photoshop 1.0 ;? Partagez-vous les conclusions de Grady Booch ;? Pensez-vous que la qualité du code source de Photoshop 1.0 ait pu contribuer à renforcer le succès actuel de Photoshop ;?
Télécharger le code de Photoshop 1.0
Source : Computer History Museum
Et vous ?
Avez-vous parcouru le code source de Photoshop 1.0 ?
Quel est votre avis sur la qualité de ce code ?
Pensez-vous que ce code ait contribué d’une manière ou d’une autre au succès de Photoshop ?
Voir aussi
Photoshop fête ses 25 ans et garde le monopole sur le marché des logiciels de retouche d'images
Le code source du premier Photoshop disponible, Adobe fait don de la version 1.0 du logiciel au Computer History Museum
Apple travaillerait sur un concurrent de Photoshop ? Des brevets de la firme révèlent un nouveau concept d'application de dessin
Chrome OS : Google et Adobe présentent Project Photoshop Streaming, une beta qui apporte Photoshop au Chromebook
Adobe Photoshop CS5 : vieillir des photos à l'aide de calques de réglage et de fusion
Le code source de l'éditeur d'images Photoshop 1.0 révèle qu'il fut écrit en Pascal
Pour Grady Booch, c'est un exemple de code bien écrit
Le code source de l'éditeur d'images Photoshop 1.0 révèle qu'il fut écrit en Pascal
Pour Grady Booch, c'est un exemple de code bien écrit
Le , par Olivier Famien
Une erreur dans cette actualité ? Signalez-nous-la !