Interview de Dan Ingalls

From OFSET Wiki

Jump to: navigation, search

Interview de Dan Ingalls, mené par Nicolas Roard et Serge Stinckwich pour le compte de Linux Magazine France pendant la conférence ESUG 2004. A été publié dans Linux Magazine 65, Octobre 2004.


"The purpose of the Smalltalk project is to provide computer support for the creative spirit in everyone." -- Dan Ingalls (1)

Dan Ingalls est le concepteur de la machine virtuelle qui a rendu Smalltalk opérationnel en 1976. Il est aussi à l'origine du BitBlt, le système graphique abstrait qui permet de manipuler l'écran comme un ensemble de bits, qui est maintenant utilisé par tous les systèmes de fenêtrage existants, ainsi que les menus contextuels (pop-up menu). Il a notamment reçu les prix suivants : ACM Grace Hopper Award for Outstanding Young Scientist, ACM Software Systems Award, 2002 Dr. Dobb's Excellence in Programming Award.

Ses contributions à Squeak sont également nombreuses : la conception original d'un Smalltalk écrit en lui-même qui soit à la fois portable et efficace au moyen d'un traducteur Smalltalk-C. Il a généralisé le mécanisme de BitBlt à un nombre arbitraire de profondeur de couleur avec des opérations de rotation, d'anti-crénelage, ...

Contents

[edit] Interview en français

Présentation de Dan Ingalls pour ESUG 2004
Présentation de Dan Ingalls pour ESUG 2004
  • Linux Magazine France : On peut considérer que Smalltalk est un des premiers environnement "ouvert" -- les utilisateurs ayant accès dés l'origine au code et pouvant le modifier facilement. Quel regard portez-vous sur le mouvement du logiciel libre et la FSF (Free Software Foundation) ? que pensez vous de Linux, pas du point de vue technique peut-être, mais plutôt du point de vue philosophique, du partage du code et de la connaissance ?
  • Dan Ingalls : Je ne suis pas le mieux placé pour parler de la FSF ou de Linux, mais ce que j'aime dans le mouvement du logiciel libre, c'est tout simplement la création et la mise à disposition de logiciels intéressants. C'est ce que nous avions à l'esprit en créant Smalltalk-80, et ça ne s'est pas passé aussi bien que je l'espérais jusqu'à ce que nous ayons sorti Squeak. Tous ces logiciels intéressants deviennent disponibles et les gens peuvent les utiliser -- ils jouent avec, ils créent de nouvelles choses avec, et l'ensemble s'améliore.
  • LMF : Le mouvement du logiciel libre est basé sur la coopération. Les environnements Smalltalk favorisent également cette approche, la communauté Smalltalk est assez semblable à une communauté open-source du point de vue de l'enthousiasme et la vision qui est partagé par tous. Quelles sont les leçons que vous en avez tiré, techniquement et philosophiquement ? Imaginez vous des systèmes permettant une meilleur collaboration dans le futur ?
  • DI : Je pense que nous avons une bonne coopération dans la communauté Squeak et dans la communauté Smalltalk en général. À mon avis je ne suis pas très bon pour coordonner le travail de différentes personnes. J'ai servi de "tsar" un petit moment pour Squeak, en rassemblant ce que les gens faisaient, mais je ne pense pas avoir fait un bon travail. Certes c'était consistant, car je décidais de tout, mais plusieurs personnes ont été frustrées parce que leur code n'a pas été intégré. Je pense que la communauté n'était pas autant impliqué que maintenant, où les choses sont plus démocratiques, je pense. Il y des avantages dans chaque approche, et on verra comment les choses évoluent. Je peux imaginer (et on peut déjà voir) plusieurs systèmes comme SqueakMap ou encore Monticello qui vont dans cette direction. Et dans d'autres Smalltalk, ainsi que dans autres logiciels, il y a des gens qui apprennent à faire bien mieux.
  • LMF : Avec Smalltalk et Squeak, l'un des buts était de permettre à tout le monde l'accès à l'informatique (en particulier concernant les enfants), de fournir un outil agissant comme un "catalyseur de rêves". Que pensez vous de l'informatique telle quelle est utilisée en ce moment ? Est-ce que cet objectif à été complètement réalisé ?
  • DI : À mon avis nous avons certainement atteint notre but -- rendre Smalltalk accessible à peu près à tout le monde, même si on peut toujours imaginer beaucoup d'améliorations, aussi bien pour rendre des systèmes simples accessibles que sur le modèle idéal permettant d'introduire les gens à l'informatique. Etoys (2) est un bon début dans cette direction, de même que le travail réalisé sur Scratch (3), mais je ne dirais jamais que ces buts ont été complètement réalisés, car il y a pleins d'autres choses à essayer. En particulier, le système que nous avons rendu disponible pour les enfants est un modèle particulier de l'ordinateur, et il y a beaucoup d'autres modèles de pensées rationnelles, je pense par exemple aux systèmes basés sur des règles, des choses comme Prolog. Il y a différentes façons de penser et je pense que nous avons besoin d'expérimenter un maximum de directions.
  • LMF : Smalltalk est un système réflexif par nature (i.e les classes sont elles des objets, l'ensemble du comportement du système peut-être redéfini). Est-ce que cet aspect vous semble important dans le succès de Smalltalk ou au contraire cela complique inutilement le système ?
  • DI : Je pense que la nature réflexive de Smalltalk est vraiment importante, cela permet de s'amuser avec, et c'est cela qui fait que c'est un système puissant à utiliser. Vous pouvez vous amuser à faire des figures géométriques avec la tortue ou construire des Etoys très simple, mais il y a toujours des gens ou des enfants qui dépassent cela et qui ont des questions plus fondamentales. Disposer alors d'un système qui permet d'aller plus loin et qui permet d'expérimenter des choses plus pointues est vraiment important. Nous ne savons pas quand nous aurons un nouveau Léonard de Vinci qui pourra s'emparer de cet outil mais si c'est le cas, je veux qu'il dispose de la plus grande flexibilité possible.
  • LMF : Si on regarde Smalltalk-80, on retrouve la plupart des fonctionnalités qui sont maintenant à la mode dans les environnements de développements Java ou C#. Certains d'ailleurs disent : si vous voulez voir le futur de l'informatique, regardez Smalltalk il y a 10 ou 20 ans. N'avez-vous pas l'impression que Smalltalk était en avance sur son temps et qu'il n'a pas été compris à l'époque ? Pourquoi n'est-il pas plus utilisé aujourd'hui ? Pourquoi garde-t-il cette réputation de complexité voire "d'ésotérisme" ou de snobisme alors qu'il est tout au contraire un langage très simple disposant d'environnements de programmation facilitant énormément le travail du programmeur ? C'est une situation qui semble réellement paradoxale ...
  • DI : Oui, vous avez raison, c'est une situation paradoxale. Je pense qu'au moins au début de Smalltalk, le faire accepter par le marché n'était pas une priorité, et on s'est plutôt concentré sur comment le rendre élégant et fun. Je pense que ces caractéristiques sont parfois regardées avec suspicion dans l'informatique "sérieuse" et dans l'industrie. Il y a sûrement des choses que l'on aurait pu faire pour augmenter son acceptation commerciale. Les gens qui travaillent sérieusement à la commercialisation de Smalltalk ont beaucoup fait pour aider et le faire accepter. Mon intérêt en ce moment est de créer une variante de Smalltalk qui soit sécurisée et modulaire et qui tourne sur les machines 64 bits, cela aura certainement un impact commercial important. Je pense que si moi ou quelqu'un d'autre réussit dans cette direction, cela sera au bénéfice de tout le monde.
  • LMF : Quel futur pour les langages dynamiques et notamment Smalltalk ? Quel place pour Smalltalk parmi les différents langages dynamiques qui sont apparus récemment comme Python, Ruby, ... ? N'avez vous pas l'impression qu'ils réinventent Smalltalk en quelque sorte ?
  • DI : Je pense que la diversité est une bonne chose, et les gens de ces différentes communautés ont autant de plaisir que nous en avons eu à créer notre propre monde. Fréquemment ils ont fait des choses d'une meilleur façon, ou repris nos propres points forts; je pense qu'il y a de la place dans le monde pour toutes les tentatives de création d'un univers parfait. Nous n'y sommes pas encore ...
  • LMF : Smalltalk à l'origine était son propre système d'exploitation, puisque l'ensemble des composantes systèmes était implémenté en Smalltalk : gestion du réseau, de la souris, système de fichier, système de fenêtrage, ... Certains Smalltalk (comme Resilient) sont maintenant utilisés dans des systèmes embarqués. Pouvez vous nous donner les avantages que cela procure ?
  • DI : Il y a en fait des avantages et des désavantages. Avoir un système comme Linux (ou au moins un BIOS) en dessous de Squeak est pratique, vous n'avez pas à implémenter les opérations de bas niveau. Cependant, c'est vraiment intéressant d'avoir un système autonome à utiliser directement sur le matériel, car cela permet facilement de créer un produit, vous n'avez rien à acheter en plus, et vos coûts de revient sont peu élevés. Donc je pense qu'il y a une opportunité pour de tels systèmes embarqués.
  • LMF : Vous avez créé plusieurs "briques" fondamentales des systèmes informatiques modernes (machine virtuelle, BitBlt ...), vous êtes aujourd'hui présent à une conférence dédiée (ESUG 2004) à ce que vous avez participé à créer. Quel regard portez vous sur votre création et sur ses enfants :-) ?
  • DI : Ce n'est pas uniquement mon travail, beaucoup de personnes ont été impliqués dans la création de Smalltalk; mais c'est un vrai plaisir pour moi de voir que tant de personnes continuent de s'amuser et de faire des choses créatives avec Smalltalk.
  • LMF : Enfin, la question qu'il ne faut pas poser :-) Squeak, que les squeakers considèrent comme open-source, utilise une licence ayant quelques points polémiques réduisant son champ d'utilisation (récemment, dans une distribution linux pour l'éducation). La licence Squeak n'est d'ailleurs pas considéré comme open-source du point de vue de l'OSI. Quel est votre avis sur ce problème ? qu'est-ce qui est prévu pour le résoudre ?
  • DI : Oui, je vois bien qu'il y a un problème, et les personnes que l'on peut rassembler largement sous le terme de "Squeak Central" comprennent qu'il y a un problème. Je ne peux pas faire un commentaire sur ce qui ce passe, mais j'espère que l'on va pouvoir faire des progrès sur ce point avec la communauté.
  • LMF : Et finalement ... Qu'est-ce qui vous intéresse en ce moment ? Sur quoi travaillez vous ? Participez vous au développement d'OpenCroquet (4) ?
  • DI : Comme je l'ai déjà dis précédemment, je viens de finir le travail sur la version 64 bits de la VM Squeak avec Ian Piumarta, ce qui n'est pas d'un intérêt essentiel pour moi mais qui ouvre de nouvelles possibilités. Ce qui m'intéresse vraiment, c'est d'arriver à combiner les avantages de systèmes tel Squeak avec les travaux effectués sur les systèmes répartis, l'informatique sécurisé -- tout spécialement le système E (5). Si on arrive à mettre tout cela ensemble tout en restant simple, les résultats devraient être intéressants. En ce qui concerne OpenCroquet, je ne suis pas un participant actif, tout simplement car je travaille sur d'autres choses et qu'ils sont eux aussi très occupés. Mais on se voit très fréquemment, et on discute ensemble. Et puis vous n'avez pas besoin de réfléchir longtemps pour comprendre qu'un environnement sécurisé pour l'informatique répartie serait d'une grande aide pour Croquet.

[edit] English Version

Démonstration de Smalltalk-72 à ESUG 2004
Démonstration de Smalltalk-72 à ESUG 2004
  • Linux Magazine France: We could consider that Smalltalk, philosophically, is one of the first "free or open?" environment -- users had access from the beginning to the code and could modify it very easily. What's your opinion about the free software movement and the Free Software foundation (FSF) ? What do you think about Linux, perhaps not from the technical level point of view, but more at the philosophical level, that deals with code and knowledge sharing ?
  • Dan Ingalls: I'm not a good person really to comment on the FSF or about Linux but, what I love about the FS movement is simply making interesting software for people to have access that was what we cared about in releasing Smalltalk 80 and that didn't happen the way I had hoped in releasing squeak. That all that interesting software became available for people to play with and the wonderful things is that then it all comes back. People play with it, they do new things with it, and it grows.
  • LMF: The open-source movement is based deeply on cooperation and code sharing. Smalltalk environments are mainly based on this approach, Smalltalk community is very similar the open-source one (same enthousiam, same caring people, sharing of code, ...). What lessons can you make from this, technically and philosophically ? Can we imagine now systems that can augment collaboration between people in the near future ?
  • DI: So well I think that we've got good cooperation in the Squeak community and in the Smalltalk community generally. I think I'm not a really good person at coordinating what different people do. I served for a while as the czar in Squeak of pulling things together that people did. But I don't really think that I did that good a job. Well it was consistent because it was me, but many people had frustrations because their stuff didn't get in, and I think that the community didn't participate as it does now, where things are more democratic, I guess. But there are strengths to both sides, but we'll see. I can imagine and we see already various software systems like SqueakMap and Seaside and Monticello that certainly really help in this direction and in that larger Smalltalk and other software areas people are really learning to do a much better job at this.
  • LMF: One of the original goals of Smalltalk (and now Squeak) was to facilitate the access to computing to every one (and more specially kids), to propose a tool that works like an "ideas amplifier" or dream catalyzer in the Squeak terminology ;-). What you think about the state of computing on this point right now ? Have these goals been completly realised ?
  • DI: Ok, well, I think we certainly achieved the goal of making Smalltalk accessible to just about everyone, but I think that there's still a lot of progress to be made both on making really simple systems accesible and also on the perfect model to introduce people to computing. I think etoys is a good start on this direction and also the Scratch work is good in that direction, but I would never say these goals have been completely realized, there's always plenty more to do. I may add one other thing to that. In particular, the system we have made available for children is a particular model of computing and there are many other models of rational thought, I'm thinking about rule based systems, things like Prolog, and there are different ways of thinking and I think we need experiments in all those directions.
  • LMF: Smalltalk is by nature a reflexive system (i.e classes are themselves objects, and the whole system behavior could be redefined). Do you think that it's an important aspect in the success of Smalltalk, or is it something that inutily complexify the system ?
  • DI: I think the reflexive nature of smalltalk is really important, I think it makes it a fun system to play with, its what makes it a deep system to play with, so you can have fun playing with turtle geometry or simple etoys on the screen but there are always a couple of kids or a couple of people that get a hold of it and have deeper questions and I think to have the system still be able to go on and answer those questions and let you experiment in those deeper ways is really important. We don't know when we're going to get another Leonardo who gets a hold of this tool, and when we do, I want him to have the most flexibility possible.
  • LMF: If you look on Smalltalk-80, you find most of the functionalities that are now trendy in Java or C# development environments. And some people say that if you want to see the future of computing, you just have to look on Smalltalk 10 or 20 years ago. Have you the impression that Smalltalk was too early on the market and that it was not understood at the time ? Why it is not used more broadly today ? Why does it still keep this reputation of complexity or snobism while it's a very simple language to learn, with excellent programming environment that really ease the programmer's work ? That's a really paradoxical situation...
  • DI: Well you're right, that's a paradoxical situation. I think at least in the beginning of Smalltalk, getting it accepted in the market was not a priority, and we focused instead on making it elegant and fun and I think those attributes are sometimes looked at with suspicion, in serious computing and industry. There probably are things we could have done that would have helped its acceptance in the commercial marketplace. The people who work seriously on commercializing smalltalk did a great deal to help and make it seriously accepted. My current focus on making a variant of Smalltalk that is secure and modular and will run on 64 bit machines is aimed a little bit at having at least one branch of the Smalltalk tree that could be very serious commercially. I think if I or some other people succeed in that way it will help to keep the whole tree alive.
  • LMF: What do you think will be the future of dynamics languages -- particularly for Smalltalk ? What's the place of Smalltalk among the different dynamics languages recently appeared like Python, Ruby,... ? Don't you think they are trying to reinvent Smalltalk all the time ? isn't it a sad consequence of the lack of advertising around Smalltalk ?
  • DI: Well I think diversity is good, and the people in those other communities are having just as much fun as we have had creating the world for themselves and frequently they've done things better than we have, or have learned from the better things that we do and I think there's room in the world for all those independent attempts to make a perfect universe. We're not done yet.
  • LMF: Originally, Smalltalk was its own operating system, as all the systems components were implemented: network, mouse, filesystem, windowing... Some Smalltalk implementations (like Resilient) are now used in embedded systems. Could you tell us what are the advantages of this approach and what are the benefits for the Smalltalk community ?
  • DI: Well there actually are disadvantages as well as advantages. Having a systems like linux or at least a bios underneath a system like Squeak is good because then you don't have to recreate all that work. However it is wonderful to have a system that is complete to run right on the metal of the processor because it means that if you come up wiht a product based on it there's nothing more to buy, nothing more to license and you can imagine finding somebody who manufactures hardware and you could produce a product very simply and very cheaply. So I think there's an opportunity there for such embedded systems.
Serge Stinckwich, Dan Ingalls and Nicolas Roard during ESUG 2004
Serge Stinckwich, Dan Ingalls and Nicolas Roard during ESUG 2004
  • LMF: You have build many fondamental bricks of the modern computer systems (like byte-coded virtual machine, BitBlt, ...). You are now invited to a conference dedicated (ESUG 2004) to your own creation. What are your opinion on your own creation and many of his child :-) ?
  • DI: Well first of all its not just my work, many people were involved in producing Smalltalk and my feeling of being amongst all these people working with Smalltalk is that its a delight to me to see so many people that continue to do creative things and to have a lot of fun with this software.
  • LMF: And now the tricky part of the interview : a question about the Squeak Licence :-) From a philosophical point of view, Squeakers says that Squeak is an open-source software, but there are some difficulties with the SqueakL licence, slowing the adoption of Squeak in many Linux education distributions for example. SqueakL is not open-source from the OSI point of view. What are your opinions about this problem ? Do you know of any plan in order to resolve this case ?
  • DI: Well I do see that its a problem and other people in what you might loosely call Squeak Central understand that its a problem and I can't really comment on specific things being done but I do hope we can make some progress together and with the community at large.
  • LMF: And finally... What are you interested in at the moment ? What are you working on ? Do you participate to OpenCroquet ?
  • DI: Well as I mentioned before, I just finished working with Ian Piumarta on a 64 bit VM, which is not a keen interest to me but I think it really opens up some new possibilities and as I think I've made clear, I'm really interested in how to bring together the strengths of systems like Squeak with the serious work that has been done on distributed, secure computing, most especially the E system and I really think that interesting results can come out of bringing those together in a way that is still simple. With regards to OpenCroquet, I'm not an active participant there, just because I've got other things to do and they're all busy working together. We do see each other frequently and talk together frequently and I think you don't have to stretch your mind very much to see how a secure environment for distributed computing would greatly support Croquet.

[edit] Notes de bas de page

[edit] Références

Personal tools