Smalltalk est l’avenir du code – 1ère partie – Programmez! Magazine #243
Publié le |
Pour fêter le 40ème anniversaire de Smalltalk-80, la communauté francophone du Smalltalk libre Pharo a écrit une série d’articles. Ils sont publiés dans le magazine “Programmez!”, à destination des développeurs. Ce dossier a été assemblé et relu par Stéphane Ducasse (INRIA). La coordination en a été assurée par Laurent Julliard (Google Cloud).
Vu le nombre conséquents de papiers, les festivités ont été réparties sur 2 numéros : le dernier de 2020 et le premier de 2021. Ainsi, la première vague est disponible dans le numéro de novembre-decembre 2020 de “Programmez!”. En voici un aperçu qui, j’espère, vous donnera envie de lire la totalité du dossier.
Sommaire
- Introduction : Smalltalk: le rerour d’un langage mythique – Stéphane Ducasse.
- Historique : La Saga Smalltalk – Laurent Julliard.
- Langage : Introduction à Smalltalk – Laurent Julliard.
- Innovations : L’héritage de Smalltalk – Laurent Julliard.
- Retour vers le future : Pharo – pureté, interactivité, réflexivité – Noury Bouraqadi & Luc Fabresse.
- Portabilité : La machine virtuelle de Pharo – Pablo Tesone.
- Versionning : Iceberg – une intégration Git pour Pharo – Guillermo Polito.
- Empreinte mémoire : MetaL – un framework pour boostrapper de petites images Pharo – Carolina Hernández Philips
Smalltalk: le retour d’un langage mythique
Stéphane Ducasse
Smalltalk n’est pas le langage de programmation le plus connu. Et pourtant, il joua un immense rôle dans la micro-informatique et les grandes révoutions technologiques des années 70 et 80. […]
Programmez! vous propose de découvrir, de redécouvrir ce fantastique langage avant de longuement aborder Pharo, implémentation moderne de Smalltalk. […]
La Saga Smalltalk
Laurent Julliard
Début 1980, PARC, le célèbre centre de recherche de Xerox situé à Palo-Alto publie Smalltalk-80. C’est le point d’orgue de près de 10 ans de recherche. Smalltalk-80 et son indissociable compagnon, l’ordinateur personnel Alto, ont dix ans d’avance sur le marché. […]
Parmi les visiteurs privilégiés, Steve Jobs. […] bien que Steve Jobs s’en soit toujours défendu en interview, il sort de cette visite totalement hypnotisé par l’environnement graphique qu’il vient de voir. Le Lisa sortira sur le marché en 1983 avec une interface graphique, une souris et des logiciels très inspirés (pour ne pas dire copiés) des travaux du Xerox PARC. […]
Le très célèbre magazine de micro-informatique américain BYTE qui tire à 500 000 exemplaires, consacre son numéro d’Août 1981 à Smalltalk-80. […]
Introduction à Smalltalk
Laurent Julliard
Laurent Julliard
L'héritage de Smalltalk
[…] l’histoire de Smalltalk est une véritable saga. Mais, ce qui fascine encore davantage ce sont les innombrables innovations que l’équipe CSL (Computer Systemes Lab) de Xerox Parc nous a laissé en héritage de cette même période. Aujourd’hui, dans la plupart des outils, langages et méthodologies utilisés, nous retrouvons l’empreinte indélébile de cette folle décennie de recherche.
[…] Machine virtuelle […] Modele MVC […] Souris […] Ethernet […] Imprimante laser […] Extreme programming […] Refactorings […] TDD […]
Pharo - pureté, interactivité, réflexivité
Noury Bouraqadi & Luc Fabresse
[…] Pharo est un descendant direct et libre de Smalltalk, lancé en 2008 sous licence MIT. Il allie stabilité et innovation, grâce à une communauté qui regroupe aussi bien des entreprises que des établissements académiques.
Oubliez les fichiers ! […] lorsqu’on code, on raisonne en termes de paquetages (packages), de classes et de méthodes. Ce sont justement ces concepts qui sont mis en avant par l’outil System Browser de Pharo […]
2 fichiers pour les contrôler tous […] le développeur Pharo crée et initialise les objets qui constituent le programme. Puis, il sauvegarde le contenu de la mémoire de travail dans un fichier binaire dit image. A l’exécution, la machine virtuelle Pharo transfère le contenu du fichier image dans la mémoire RAM. On retrouve ainsi tous les objets sauvegardés prêts à l’emploi. La majorité des opérations d’initialisation étant faites lors du développement, le chargement du programme se fait à la vitese de l’éclair ! […]
Développement interactif piloté par les tests. Une autre cractéristique de Pharo tient à sa capacité de remplacer du code à chaud, c’est-à-dire en cours d’exécution. Le développement d’applications peut ainsi être réalisé de manière increementale […] Les champs et les méthodes dont on a besoin sont ajoutés au fur et à mesure de l’introduction des fonctionnalités. Les objets sont automatiquement mis à jour par Pharo de manière à intégrer les changement sans jamais avoir à relancer un quelconque interpréteur ou à recompiler des fichiers. [….]
Cette interactivité se conjugue parfaitement avec la démarche TDD (Test Driven Development) de développement piloté par les tests, bien connue dans les méthodologies de gestion de projet agile. […]
La machine virtuelle de Pharo
Pablo Tesone
Dans cet article, nous présentons un bref aperçu de la machine virtuelle (VM) utilisée par Pharo. Cette VM présente des capacités intéressantes qui mettent en évidence la puissance de Smalltalk. De plus, c’est une excellente VM aussi bien pour faire de la recherche qu’à utiliser en production grâce à son histoire longue et riche, et à son avenir très prometteur. […]
La VM Pharo est le produit d’une évolution continue qui s’étale sur une longue période de temps. Elle comprend des éléments qui ont été introduits dans les versions originales de Smalltalk et qui ont évolué depuis. Elle inclut des techniques modernes telles que la compilation Just In Time et les ramasse-miettes automatiques avancés. […]
L’un des principaux avantages de la VM Pharo est qu’elle est écrite en Pharo. Elle peut être exécutée comme n’importe quel autre programme Pharo. Cela nous permet d’écrire des tests, de simuler l’exécution de la VM, de la modulariser, d’utiliser tous les outils Pharo existants et de la documenter comme n’importe quel autre programme. […]
Nous proposons une véritable version open-source pour ARM 64 bits ; versions mises à jour pour Windows, Linux et Mac. […]
t
Iceberg – une intégration Git pour Pharo
Guillermo Polito
Depuis deux ans, Pharo offre une intégration très proche du gestionnaire de versoins Git, qui a remplacé Monticello, le gestionnaire de versions que Pharo utilisait depuis 2008. Non seulement les projets écrits en Pharo peuvent être stockés sur des forges et dépôts Git, mais le projet Pharo lui-même est géré avec un dépôt Git. Cet article présente le module d’interfaçage à Git nommé Iceberg : sa raison d’être, ce qu’il offre et ses avantages par rapport à l’utilisation de Git depuis la ligne de commande. […]
Iceberg offre le meilleur des deux mondes : de la programmation avec des objets vivants, un des concepts fondamentaux de Smalltalk, et une sauvegarde textuelle transparente comme le font classiquement les IDE du marché.
Pour simplifier l’installation de Pharo et Git […] Iceberg utilise la librairie libgit, qui implémente les fonctionnalités de base Git, et qui est écrite en C de manière portable. Iceberg utiliser libgit via la biliothèque UnifiedFFI.
UnifiedFFI permet d’interfacer Pharo avec des biliothèques extenres. Le FFI permet d’appler des biliothèques externes qui ont une convention standard d’appel, comme le code C, avec une liaison dynamique. […]
MetaL – un framework pour boostrapper de petites images Pharo
Carolina Hernández Philips
Laisser un commentaire Annuler la réponse
Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.
Un commentaire