Trolldi : pour ou contre les noms de fonctions drôles dans son code ?
Les développeurs du client mail Eudora semblent avoir été un peu farceurs
Computer History Museum (CHM), l’une des plus grandes institutions au monde à explorer l'histoire de l'informatique et son impact sur l'expérience humaine, a annoncé le 22 mai 2018 la publication et la préservation à long terme du code source d'Eudora, l'un des premiers clients mails couronnés de succès. Une publication qui intervient après une négociation de cinq ans avec Qualcomm.
Il a fallu un peu plus d'un an à Steve Dorner pour créer la première version d'Eudora, qui comptait 50 000 lignes de code C et fonctionnait uniquement sur Macintosh. Comme de nombreux programmes produits par les universités, il était accessible à tous gratuitement.
En 1991, Qualcomm, qui était alors une société de communication de San Diego célèbre pour la technologie de communication cellulaire CDMA, a obtenu une licence Eudora de l'Université de l'Illinois. Dorner a finalement été embauché par l’entreprise pour continuer à le développer, travaillant à distance de sa maison dans l'Illinois.
Mais Qualcomm voyait d’un mauvais œil un produit cantonné sur Mac. Aussi, le responsable du projet Qualcomm, John Noerenberg, a confié à Jeff Beckley et Jeff Gehlhaar à San Diego la tâche de créer une version MS-DOS puis Windows du programme. « Le style de l'entreprise consistait à installer un ordinateur MS-DOS ou Macintosh sur le bureau de chaque employé, selon ce qui convenait le mieux à leurs besoins et à leurs préférences personnelles », a-t-il déclaré. « Nous avions besoin d'un logiciel de messagerie électronique qui soit intuitif sur Internet et indépendant de la plateforme. Il n'y avait rien de disponible sur le marché qui satisfaisait à l'un ou l'autre de ces objectifs, et encore moins aux deux ».
A l'origine, Eudora n'était utilisé qu'en interne chez Qualcomm et était plutôt bien accueilli. Noerenberg a entendu un responsable financier chez Qualcomm disant : « Je détestais le courrier électronique. Mais j'adore Eudora ». « C'est à ce moment que j'ai réalisé que nous étions sur quelque chose », a indiqué Noerenberg.
La société a déclaré plus tard : « En tant que leader du développement et de la communication numérique, Qualcomm a reconnu que le courrier électronique est un outil de communication important pour l'avenir ». C’est ainsi qu’elle l'a commercialisé en 1993. L'équipe Eudora de Qualcomm s'est rapidement développée : au départ il s'agissait d'un groupe de quatre personnes qui a progressivement gagné en importance. À son apogée, l’équipe était composée de plus de 50 personnes.
Eudora a gagné rapidement en popularité. Disponible à la fois pour IBM PC et pour Apple Macintosh, Eudora, à son apogée, comptait des dizaines de millions d'utilisateurs. Après 15 ans, en 2006, Qualcomm a décidé qu'Eudora ne correspondait plus à leurs autres grandes lignes de projet et a arrêté le développement.
Le petit mot de CHM
Len Shustek, président du conseil d'administration de CHM, y est allé de son commentaire :
« Le courrier électronique était l’une des “killer app” de l'informatique en réseau. La possibilité d'envoyer et de recevoir rapidement des messages sans avoir à être en ligne en même temps a créé une nouvelle forme de communication humaine. À ce jour, des milliards de personnes ont utilisé le courrier électronique.
« Le courrier électronique a une longue histoire, remontant au Compatible Time Sharing System (CTSS) du MIT et au AUTODIN du gouvernement américain au début des années 1960. Ces premiers systèmes, qui utilisaient souvent des réseaux et des protocoles de communication propriétaires, étaient généralement incompatibles entre eux; vous ne pouviez échanger des courriels qu’avec des personnes utilisant le même système.
« Le premier courriel sur l'ARPANET (le prédécesseur de l'Internet d'aujourd'hui) a été envoyé par Ray Tomlinson en 1971, et les formats de courrier sont devenus standardisés (RFC 524, RFC 561) peu de temps après. Dans les années 1980, le protocole TCP / IP codifie la communication entre les clients de messagerie (qui s'exécutent sur l'ordinateur de l'utilisateur) et le serveur de messagerie (où les messages sont reçus d'autres systèmes et stockés), de sorte qu'il peut y avoir des implémentations indépendantes. à la fois sur différents ordinateurs et systèmes d'exploitation.
Len Shustek, président du conseil d'administration de CHM
« Finalement, de nombreux clients de messagerie ont été écrits pour les ordinateurs personnels, mais peu ont eu autant de succès que Eudora. Disponible à la fois pour IBM PC et pour Apple Macintosh, Eudora, à son apogée, comptait des dizaines de millions d'utilisateurs satisfaits. Eudora était élégant, rapide, riche en fonctionnalités et pouvait faire face à des dépôts de courrier contenant des centaines de milliers de messages. À mon avis, c'était le meilleur client de courrier électronique jamais écrit, et il n'a pas encore été surpassé.
« Je l'utilise encore aujourd'hui, mais, hélas, la dernière version d'Eudora a été publiée en 2006. Grâce à Qualcomm, nous sommes heureux de publier le code source d'Eudora pour son intérêt historique, et avec le faible espoir qu'il pourrait être ressuscité ».
Mais qui a écrit les fonctions dans cette partie du code source ?
Le code source comprend un fichier anal.c, il s’agit probablement d'outils d'analyse, mais quelqu’un a du VRAIMENT s’amuser avec les noms des fonctions :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 OSErr AnalInit(void) void AnalScan(void) short AnalScore(struct TAESessionState *pSession); OSErr AnalDispose(void); Boolean AnalWarning(MessHandle messH) OSErr AnalFindMine(void) #define IsAnalHot(collection) ((collection)%2==0) long LastAnalUse; void AnalScanPete(PETEHandle pte,Boolean toCompletion,Boolean toSpeak) void AnalScanPeteInner(PETEHandle pte, struct TAESessionState *pSession, long *pScanned,Boolean toSpeak); void AnalIdle(void) { if (AnalCount>1) return; // still active if (!AnalCount) return; // dead already // flush the anal stuff if we haven't used it in a long time if (DiskSpunUp() && LastAnalUse-TickCount()>GetRLong(MAX_ANAL_IDLE)) AnalDispose(); }
Télécharger le code source (Windows et Mac)
Source : Computer History Museum
Et vous ?
Que pensez-vous de cette initiative du CHM ?
Que pensez-vous vous du choix des noms de variables et des fonctions ? Utilisez-vous aussi dans votre code des noms de fonction pour amuser ceux qui font maintenir votre code ?
Avez-vous des anecdotes à partager sur des noms de fonctions ou autres portions de code qui vous ont marqué ?
Voir aussi :
Trolldi : des chercheurs préconisent de ne pas ouvrir de messages extraterrestres, ils pourraient contenir des maliciels pour détruire la Terre
Trolldi : une brève histoire totalement exacte des langages de programmation qui est complètement inspirée de faits
Trolldi : une blague de Richard Stallman sur l'avortement crée la polémique, 26 ans après avoir été écrite dans la documentation du projet glibc
Trolldi : une société propose de vous euthanasier pour conserver votre cerveau, dans l'espoir de pouvoir le sauvegarder plus tard dans le cloud
Trolldi : et si le rôle de la chance dans le succès était beaucoup plus important que nous ne le pensions ? C'est ce que suggère une étude
Partager