IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

289PARTAGES

10  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de piGrimm
Nouveau Candidat au Club https://www.developpez.com
Le 06/06/2018 à 6:08
Citation Envoyé par jpiotrowski Voir le message
@piGrimm : je vous trouve très intolérant, voire franchement prétentieux. Ne pas supporter le typage stricte n'est pas un signe d'équilibre, en plus...
C est parfois le langage des gens qui veulent en foutre plein la vue. Comme APL à une certaine époque.
intolérant? LOL de dire la Vérité serait une forme d'intolérance? Je pense plutôt que nous vivons une bien mauvaise époque où il faut surveiller sa propre auto-censure, quel que soit le domaine même technique, de peur de "choquer" quelques occultes pédants venant eux, vous badigeonner de leur propre intolérance bien ouatée.
J'ai parfois vu des programmes écrits avec plus de 10 000 lignes de code par UN SEUL bonhomme en pascal, jamais vu le cas en fouilli C. Ceci pour DEUX raisons
1) le typage strict
2) le "human readable" comme disent les anglois = humainement compréhensible

Pourquoi le C, C++ ont-ils pris le pas sur Pascal, ObjectPascal?
Parce que
1) je l'ai déjà dit pour faire plus smart auprès de clients ballots qui prenaient les informaticiens pour des magiciens
2) à une epoque où la ram était chere il était plus économique d'écrire '*' plutot que 'pointer', '{' plutot que 'begin', etc
3) le C semblait (à tort) plus proche de l'assembleur, (je dis bien à tort car un bon programmeur Pascal est à même de faire les mêmes choses qu'un programmeur C)
4) une fois ces 3 raisons ouvertes, les gros investisseurs finirent de faire pencher la balance, en payant à grands frais de grosses têtes pour faire adopter le C

Mais le Pascal résista, grâce à des passionnés, le plus souvent bénévoles, à cette mode, que pour ma part je trouve fort stupide !
Du coup, (et je n'ai pas à m'en justifier) quand je vois des gens débouler dans un coin Pascal, vanter les mérites de GRAS BUSINESS, avec si peu d'arguments, de la mauvaise foi, ou un empirisme flagrant, alors je rétablis l'équilibre !!! Par la Vérité, y compris Historique! C'est de la prétention ça ?? MDR on n'a pas le même dico LOoOL. Perso, je trouve prétentieux les gens qui vantent le C sur un coin Pascal (je ne m'imagine pas aller fiche le souk sur le coin C en vantant le Pascal, alors même que j'ai pondu des logiciels Qt).

Citation Envoyé par danardf Voir le message
@piGrimm j'ai travaillé chez Tandy France et je me rappelle avoir eu dans le magasin un TRS80 model 2000 avec un lot de compilateurs Pascal, Fortran, Cobol.
J'avais même le classeur avec le schéma du TRS80 model 2000
Aussi, j'ai connu Turbo Pascal sur Amstrad CPC 664 & 6218 avec l'éditeur à la WordStar
Le modèle 2000 avait la couleur moi j’étais TRS-80 Model 1 LeveL 2 Basic, le 1er basic microsoft LOL, ensuite oui je me suis offert un amstrad cpc 6128 et le wordstar du bourrin dont il fallait 8 mois pour apprendre les raccourcis clavier mdr (enchanté danardf)
on n'avait pas des vies faciles en ces époques pré-informatiques hahaha
4  0 
Avatar de Alcatîz
Responsable Pascal, Lazarus et Assembleur https://www.developpez.com
Le 09/06/2018 à 22:55
Bonjour,

Citation Envoyé par anapurna Voir le message
Je suppose que si MS avait porté son attention sur un compilateur Pascal la donne n'aurait pas été la même.
Microsoft a quant même sorti Microsoft Pascal puis QuickPascal.

Je vous laisse savourer ce comparatif dans l'Info World du 12 septembre 1988. Nostalgie garantie !
3  0 
Avatar de inspirateur
Membre averti https://www.developpez.com
Le 29/05/2018 à 11:08
J'ai toujours su qu'on peut faire beaucoup de choses avec le langage Pascal. Même à notre époque, on peut toujours utiliser Pascal pour un développement professionnel. Pour moi, ce qui est important au développement n'est pas le langage mais l'objectif à atteindre peu importe le langage à utiliser Pascal ou Java...
2  0 
Avatar de anapurna
Expert confirmé https://www.developpez.com
Le 06/06/2018 à 11:06
Salut

Dans ton analyse tu as oublié le soutien par la création d'un compilateur de notre cher Microsoft face au petit Borland qui a su tant bien que mal résister dans le monde de PC's.
Je suppose que si MS avait porté son attention sur un compilateur Pascal la donne n'aurait pas été la même.

Commercialement MS était indétrônable a l’époque de BG ... qui pour la petite histoire n'a jamais rien inventé et surtout pas le DOS.
2  0 
Avatar de piGrimm
Nouveau Candidat au Club https://www.developpez.com
Le 31/05/2018 à 22:44
Citation Envoyé par 23JFK Voir le message
Jamais dit que le C n'existait pas, seulement que les compilateurs de C n'étaient pas aussi aisés à trouver car moins populaires, plus confidentiels et/ou considérés comme difficile d'emploi et réservé aux pro. Les magazines de l'époque faisaient plus la promo du Basic et du Pascal que du C.
j'ai 54 ans et j'ai commencé en 1979 sur des cartes Hexa (genre UC-EMR), puis en 81 sur TRS-80, et je suis en parfaite contradiction DANS MON VECU avec ton empirisme conjectural qui sent bon le jeunot martyrisé de "on dit" glanés dans des décennies de foutaises colportées par des incompétents!

demande a google "TRS-80 Misosys C" ou "Alcor C", matte bien les dates (genre 1979) et cesse tes sornettes, car tu passes franc pour un idiot auprès des vrais pros.
Les compilateurs C n'étaient ni rares ni complexes (j'ai même utilisé un compilateur C totalement ecrit en basic), ils étaient ce qu'ils sont encore, des compilateurs pour les esprits qui ne supportent pas le typage STRICT et un mental BIEN structuré.. ainsi que des compilateurs pour des fainéants aimant bien les raccourcis en lieu et place de texte humainement compréhensible, pour faire "smart" auprès des clients les plus ballots
1  0 
Avatar de byrautor
Membre éclairé https://www.developpez.com
Le 04/06/2018 à 20:35
Pascal : trop simple pour les ............complexés.
Et pourtant il y avait tout ou presque sans avoir une mémoire "hédoniquement" phénoménale.
Mais pourquoi faire simple quand on peut faire compliqué !
1  0 
Avatar de danardf
Membre du Club https://www.developpez.com
Le 05/06/2018 à 6:11
@piGrimm j'ai travaillé chez Tandy France et je me rappelle avoir eu dans le magasin un TRS80 model 2000 avec un lot de compilateurs Pascal, Fortran, Cobol.
J'avais même le classeur avec le schéma du TRS80 model 2000
Aussi, j'ai connu Turbo Pascal sur Amstrad CPC 664 & 6218 avec l'éditeur à la WordStar
1  0 
Avatar de candide02
Membre actif https://www.developpez.com
Le 05/06/2018 à 10:42
Pascal Basic Fortran : n'importe quel programmeur peut lire ces programmes car ils sont proche du langage parlé

Le C en revanche ....
1  0 
Avatar de piGrimm
Nouveau Candidat au Club https://www.developpez.com
Le 06/06/2018 à 13:10
+1 anapurna
Oui, il n'y a pas à fouiller long pour découvrir que les DOS viennent de MISOSYS(propriétaire) puis de CP/M (opensource), et le patron de MISOSYS s'était suicidé, Lui était un Mathématicien hors pair (qui connaissait vaguement B. gates), chagriné de bien des choses, dans lesquelles figurent ce Billou le Gateux, copieur de pans entiers du code source CP/M et MISOSYS, du dit suicidé, pour les revendre (et cher puisque pourcentage) a IBM. donc au départ la fortune de microcrote est fondée sur un truandage éhonté
1  0 
Avatar de anapurna
Expert confirmé https://www.developpez.com
Le 24/05/2018 à 16:27
salut

beaucoup de personne ont oublié que le premier os d’Apple était en pascal
et oui le C n’était pas le seul compilateur système
0  0