[Squeak-fr] Usages professionnels de Squeak / Smalltalk

Hilaire Fernandes hilaire at ext.cri74.org
Sam 24 Sep 00:11:33 CEST 2005


C'est très intéressant. Je recherche pleins d'autres exemples de ce
style entre Java/Smalltalk, C++/Smalltalk, si tu as des URL je suis
preneur.

Dans mon occupation d'écriture du player drgeo dans squeak, je suis déjà
tombé sur le cul plusieurs fois par:
	- la clarté de l'agencement des différentes classes et méthodes
	- la rapidité/confort du coder&tester&debogguer&continuer_a_tester
	- les outils IDE m'ont sauvé plusieurs fois la vie: en gros je trouve
en 30s l'info sur la méthode X de la classe Y à utiliser, et avec 20s de
plus je teste. En C/C++ il me fallait parcourir, parcourir et parcourir
les docs et je n'ose pas compter le temps qu'il me fallait pour tester
la méthode.
	- des méthodes C++ de 5 lignes se retrouvent ridiculement en 1 ligne
Smalltalk.	

Un truc qui m'a gêné c'est de ne pas pouvoir faire de l'héritage
multiple, pour un truc tout con j'en ai besoin et j'ai du créer un
doublons de classe quasi identique, mais il faudra que je nettoie mais
tout de suite, je demanderai en temps voulu.

Hilaire

Noury Bouraqadi a écrit :
> Le 23 sept. 05, à 00:02, Thierry Pasquier a écrit :
> 
>> Ok pour la liste des gens qui les utilisent
>> mais quelles pourrait être l'argumentation pour convaincre des
>> professionnels de l'informatique (localement notre tissus est composée
>> de petites boîtes, hormis les mutuelles à Niort) ? et par rebond les
>> enseignants des filières professionnelles de formation aux métiers de
>> l'informatiques ?
>> Thierry
> 
> 
> Des entreprises qui font des développement Java m'ont dit que les
> meilleurs développeurs sont ceux qui ont eu une formation Smalltalk!!!
> Ca Smalltalk permet de comprendre les concepts.
> 
> Smalltalk est un langage à la fois simple et puissant. De sorte qu'il
> est facile à apprendre/enseigner et à utiliser. On focalise sur les
> concepts et le problème à résoudre. Une explication "neuro-science" a
> été donnée dans le papier
> "Why Java Isn’t Smalltalk: An Aesthetic Observation"
> http://www.smalltalkchronicles.net/edition3-1/whyjava.html
> 
> En résumé, le cerveau humain est capable de manipuler un petit nombre
> (7-8 de mémoire) idées en "parallèle". Au delà il "swap". Le problème
> est que le "swap" n'est pas fiable. Il y a des perte la restitution du
> contexte "swappé". Quand on a un langage compliqué comme Java ou C# tout
> développeur même expert doit aller régulièrement vérifier des éléments
> de langage.
> Du coup, ils swappent et perdent de vue des éléments du problème...
> 
> Voici des exemples auquels rares les "javaistes" savent répondre vite et
> correctement:
> -Une facile: Soit B une sous-classe de A. Et b une instance de B. b
> instanceOf A donne true ou false?
> -Une plus tordue: Le lookup de méthode dans Java est-il static ou
> dynamique. Souvent on entend que c'est dynamique. Mais, c'est faux.
> D'abord, toutes les méthodes static et private sont en lookup static. En
> plus, même pour les autres, le lookup s'appuie en partie sur le type des
> variables!!! Voici un exemple :
> 
> public class A {
>     public void hello(){
>         System.out.println("hello");
>     }
>     
>     public void goodBye(){
>         System.out.println("goodBye");
>     }
>     
> }
> 
> public class B extends A {
> }
> 
> ublic class Main {
>     public void overloaded(A a){
>         a.hello();
>     }
>     
>     public void overloaded(B b){
>         b.goodBye();
>     }
>     
>     public static void main(String args[]){
>         A y = new B();
>         Main x = new Main();
>         x.overloaded(y);
>     }
> }
> 
> Quel est le résultat de ce programme ? On est en droit de croire que
> c'est "goodBye" car y référence une instance de B. Mais non !!! Le
> résultat réelement obtenu est "hello". Déroutant non ??? Faites tourner
> le code si vous n'êtes pas encore convaincu.
>  La raison est que Java utilise le type des arguments pour différencier
> **à la compilation** les méthodes surchargés.
> 
> Vous donnez ce code à n'importe quel programmeur Java, il ne pourra pas
> vous répondre sans prendre un certain temps pour réfléchir et vous
> n'êtes même pas sûr. Ca montre que le langage rend le travail du
> développeur plus compliqué... Et de l'enseignant (c'est mon cas) qui
> doit expliquer cela à ses étudiants qui se trouvent vite largués.
> 
> Je ne parle pas des trente six façons de faire la même chose en Java :
> par exemple les itérations (boucles for "classiques", enumerate,
> iterator, et enfin "foreach"). Le langage a une conception
> tordue/limitée. Du coup, Sun a besoin de le "patcher" à chaque version.
> Et pour ne pas perdre la comptabilité, tout est conservé. Ca donne un
> gros blob...
> 
> Noury
> --------------------------------------------------------------
> Dr. Noury Bouraqadi - Enseignant/Chercheur
> Ecole des Mines de Douai - Dept. G.I.P
> http://csl.ensm-douai.fr/noury
> 
> European Smalltalk Users Group Board
> http://www.esug.org
> 
> Squeak: an Open Source Smalltalk
> http://www.squeak.org
> --------------------------------------------------------------
> 
> 
> --------------------------------------------------------------
> Dr. Noury Bouraqadi - Enseignant/Chercheur
> Ecole des Mines de Douai - Dept. G.I.P
> http://csl.ensm-douai.fr/noury
> 
> European Smalltalk Users Group Board
> http://www.esug.org
> 
> Squeak: an Open Source Smalltalk
> http://www.squeak.org
> --------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Squeak-fr mailing list
> Squeak-fr at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/squeak-fr

-- 
http://www.ofset.org/petition
Pétition de soutien au développement
de logiciels libres pour l'éducation.



More information about the Squeak-fr mailing list