Interview Smalltalk 3 : Yann Monclair

Le troisième Smalltalkien de la série d’interviews que nous avons entamé est Yann Monclair.

Peux tu nous en dire un peu plus sur toi ? Quel est ton métier, ton parcours ?

Je suis développeur, chez JPMorgan Chase. Je suis basé à Glasgow. Je travaille sur Kapital, un système de gestion de risque et de tarification financière, écrit en Smalltalk.

J’ai un Master en informatique du logiciel, de l’Université de Bretagne Occidentale (UBO), Brest, France. J’ai travaillé avec le laboratoire LESTER AS durant mon master, et jusqu’à ce que je parte pour Glasgow.

Quand et dans quelles circonstances as tu commencé à utiliser Smalltalk ? Quelles sont les raisons qui t’ont poussé vers ce langage de programmation plutôt qu’un autre ?

Une des spécificités de l’UBO est que l’on enseigne Smalltalk dans certains cours. Le laboratoire de recherche LESTER-AS, utilise Smalltalk pour ses projets de recherche, et l’utilise également pour ses cours de développement logiciel.

Je dois dire que j’ai tout de suite accroché dans Smalltalk, et dans la façon dont le système et l’interface graphique facilitent le développement. Au fil des ans, et des projets, je me suis intéressé de plus en plus à Smalltalk, et à la magie derrière. Le plus important je pense, c’est que j’ai compris (grâce a mes profs, et de longues soirées passées a programmer) que rien n’était inaccessible dans Smalltalk.

Quelles versions de Smalltalk utilises tu le plus souvent et pourquoi ?

J’utilise principalement VisualWorks 7 (de Cincom) dans mon travail, ainsi que Gemstone/S (de Gemstone). Pour programmer dans mon temps libre, j’utilise principalement Squeak, et parfois VisualWorks. Je dois avouer que je n’ai pas vraiment essayé les autres parfums de Smalltalk.

Quels produits Smalltalk as tu développé ? Quels sont tes projets ?

J’ai développé un icalendar (nommé SummerTime) avec Seaside (un framework web pour Smalltalk) et Squeak. Ce projet a été commencé dans le cadre de la première édition du SummerTalk de ESUG (en 2006). Ce projet m’offre un grand espace pour penser et expérimenter diverses façons de faire un calendrier. Le grand problème est le manque de temps :( J’espère aussi avoir le temps de regarder comment migrer mon application vers Gemstone/S 64 , qui devrait arriver en version gratuite d’ici la fin de l’été (j’espère) … J’ai travaillé sur différents projets Smalltalk lorsque je travaillais avec le laboratoire LESTER AS à Brest.

Et bien sûr, je développe Kapital dans le cadre de mon travail, mais vous vous en doutiez un peu …

Quels sont les avantages et inconvénients de Smalltalk ? Que faudrait-il faire pour l’améliorer ? As tu envie parfois de changer de langage ?

Je n’ai pas vraiment envie de changer de langage, mais plutôt envie que les autres changent ;) Il est parfois frustrant de ne pas avoir une API utilisable depuis Smalltalk pour certaines librairies tierces. Surtout si cette librairie est écrite en Java, C++, Python, Ruby … Les seules librairies avec lesquelles j’ai de l’expérience sont les librairies C, et je ne trouve pas cela trivial (hélas). Donc mon souhait pour Smalltalk, serait de meilleurs outils pour communiquer avec d’autres langages/technologies.

Quels projets Smalltalk te semblent pouvoir avoir le plus de retentissement dans le futur ?

Je pense que Seaside pourrait avoir un très grand impact, surtout avec des solutions comme Gemstone/S Seaside qui apparaissent.

À mon avis, ce qui manque à Smalltalk, c’est un gros coup de pub avec une application coupe souffle. Hélas, il n’est pas évident d’en trouver une … DabbleDB est un bon candidat, mais n’étant pas un produit open source, je pense que l’impact sera réduit. Mais ne désespérons pas, on aura l’idée un jour … On voit que les différents vendeurs s’engagent sur un support de Seaside, et c’est une très bonne chose. Espérons que cela créera du bruit, et une atmosphère de confidence pour miser sur une solution Smalltalk (pour les gens qui hésitent à faire le pas)

Smalltalk te semble-t-il suffisamment utilisé dans l’industrie ? Est-ce que c’est un marché de niche ? Est-il possible de vivre en étant développeur Smalltalk ?

Je ne sais pas si l’on peut vraiment dire que c’est une niche. Je crois que Smalltalk est plus utilisé que les gens le croient (même les Smalltalkers). La grande faiblesse est que les compagnies ne s’affichent pas comme des utilisateurs de Smalltalk, ne le considérant pas (a tort je pense) comme une plus value pour eux. Cela rend la recherche d’emploi pour les développeurs Smalltalk plus compliqué. C’est certainement un cercle vicieux. Je pense qu’il est possible de vivre de Smalltalk. Je travaille avec des gens qui le prouvent tous les jours :) Et j’en vis également ;)

Je pense que Smalltalk n’est pas suffisamment utilisé dans l’industrie, et que Smalltalk pourrait offrir une solution plus jolie et plus performante à bien des problèmes. Mais je pense que Smalltalk souffre de ses qualités sur ce terrain. Les idées radicalement différentes de Smalltalk (pas de fichier, tout est objet, mon environnement est mon application et vice versa…) jouent en sa défaveur, pour expliquer aux gens les avantages de Smalltalk. Si l’on regarde de l’extérieur, cela semble très perturbant, car on supprime tous les repères que les autres technologies utilisent (fichier, taille des fichiers, nombre de fichiers, nombre de lignes de code, temps de compilation…).

Il faut donc s’appliquer à bien expliquer les avantages pour l’industrie, et éviter (au début du moins) de trop partir sur l’aspect cool/geek de Smalltalk ;)

Comment reste-tu connecté avec la communauté Smalltalk ?

Je me sers principalement de trois ressources : les mailing list (squeak dev, seaside, squeak-fr, esug, vw-dev) , les blogs (Smalltalk Central, planet squeak, Squeak News, le blog de James Robertson et bien d’autres …), et le travail (on est une trentaine de Smalltalkers a travailler sur Kapital a Glasgow, donc il nous arrive de parler « actualités Smalltalk » dans nos pauses café ;)

Je passe aussi du temps en IRC, principalement sur le channel #smalltalk sur le serveur irc.parcplace.net (il y a aussi quelques miroirs en Europe : irc.4096.sk et irc.eranova.si). On peut trouver les gens de Cincom sur ce channel, ainsi que des utilisateurs très expérimentés. Nous sommes une bande d’habitués, alors il ne faut pas s’effrayer à la première visite, si on fait des blagues qui ne font aucun sens… Mais nous sommes toujours ravis d’ajouter des gens à la bande, et d’aider les gens avec leur problèmes (en relation avec Smalltalk). Il m’arrive également de traîner dans #squeak, sur le serveur irc.freenode.net. Comme son nom l’indique, c’est le channel des utilisateurs (et développeurs) de Squeak. Des gens très sympas, et extrêmement compétents.

La façon la plus agréable de rester connecté est certainement d’aller aux conférences. J’ai assiste à l’ESUG 06 et aux Smalltalk Solutions 2006 et 2007. Et j’espère continuer à assister à ces conférences dans l’avenir, c’est un très bon moment. On apprend à connaître d’autres gens, et on peut échanger beaucoup autour de Smalltalk.

Quels conseils donnerais tu à un développeur qui voudrait commencer à apprendre Smalltalk ?

De s’accrocher. Je pense que le démarrage peut être difficile, voire rebutant. Mais ça vaut le coup. Il y a peut être une courbe d’apprentissage assez pentue au début. Le plus dur étant de désapprendre les mauvaises habitudes que d’autres langages nous ont donné. Si vous débutez avec Smalltalk, cela sera plus facile je pense (ça l’a été pour moi).

VisualWorks est disponible gratuitement pour un usage non commercial, et avec VisualWorks viennent une quantité de PDF documentant les différents aspects de Smalltalk.

On peut aussi profiter des Squeak-dev et Squeak-web, maintenus par Damien Cassou, ce sont des images Squeak pré configurées avec les outils et frameworks de base pour le développement, ou le développement web.

Enfin, je terminerai en disant que je ne crois pas que l’on apprenne le vélo en lisant un livre, et il en va de même pour Smalltalk. Il faut se lancer :)

WordPress database error: [Table 'doesnotunderstand.wp_comments' doesn't exist]
SELECT * FROM wp_comments WHERE comment_post_ID = '359' AND comment_approved = '1' ORDER BY comment_date


Subscribe

Subscribe to my RSS Feeds