Re: [Squeak-fr] Expérience enseignement1er cycle universitaire

Bernard Notarianni bernard.notarianni at gmail.com
Sam 7 Juil 16:23:43 UTC 2007


On 7/4/07, Serge Stinckwich <Serge.Stinckwich at info.unicaen.fr> wrote:
>
> Le 4 juil. 07 à 09:02, Hilaire Fernandes a écrit :
>
> > jchauvea at etu.info.unicaen.fr a écrit :
> >> En effet, ayant personnellement suivi les cours de Serge
> >> Stinckwich à l'IUT, de nombreux étudiants voient l'apprentissage
> >> par Squeak comme quelque chose de négatif au premier abord. Pour
> >> ceux qui prennent la
> >
> >
> >
> >> peine de l'utiliser sérieusement et de s'y intéresser un minimum,
> >> leurs
> >
> > J'aime ce texte "Beat the average", (http://www.paulgraham.com/
> > avg.html).
> > Seulement une petite partie comprendront et en tirerons
> > d'importants bénéfices, les autres resteront dans la médiocrité (au
> > sens médian du terme). C'est normal.
> >
>
> Sauf que c'est un peu déprimant pour l'enseignant :-(
>
> --                                                         oooo
> Dr. Serge Stinckwich                                     OOOOOOOO
> Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
>                                                            oooooo
> Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
>                                                              ##
>

Je ne suis pas enseignant mais je travaille quotidiennement avec des
équipes qui développent des applications en entreprises, en Java, C#
et parfois même en C++. Il s'agit de personnes ayant entre 0 et 10 ans
d'expériences en entreprises.

J'ai sincèrement le sentiment que 97% d'entre elles n'ont pas compris
ce qu'est la POO. Pour être bonnète, j'ai moi mêmes compris la POO
lorsque je me suis intéressé à Smalltalk il n'y a pas si longtemps que
ca.

Le résultat est assez désastreux en terme de design et de
maintenabilité des applications produites. Quasiment tout le monde
code "the J2EE way", en empilant des couches passe-plats. Pour la
plupart des développeurs, objet est synonymes de DTO (ou bean dans le
monde Java): des propriétés rassemblées au sein d'une classe avec
uniquement des getters setters et aucun traitements. Ils placent les
traitements dans ce qu'ils appellent des "services", c'est à dire des
classes stateless comportant essentiellement des méthodes statiques.
Ca donnent des paquets de "ServicesBidules", "ServiceShmoll" ou
"MachinHelper", dont certains atteignent les 1500 lignes de code dans
la même classe.

Autre pattern que j'observe souvent: le singleton. Il leur semble
souvent plus simple de créer toute une palettes de singleton contenant
leurs DTO, pour que les multiples couches de services/helper qu'ils
empilent puissent y accéder et les modifier plus facilement.

Bref, en résumé, ils codent en Java/C# comme en COBOL.

J'avoue qu'il est parfois frustrant de travailler dans ces contextes.


Par ailleurs, j'ai eu la chance depuis quelques mois de travailler
avec une équipes jeunes, sur un projet XP que je coach. J'ai vu
l'équipe avoir envie de sortir de ces poncifs Java et lutter contre
les "architectes J2EE" pour parvenir à imposer un design plus objet.

Ces développeurs sortaient d'une école où l'on enseigne la POO avec Smalltalk.

Je peux vous garantir que l'on voyait clairement la différence entre
eux et ceux qui n'avait pas suivi le même enseignement.


Plus d'informations sur la liste de diffusion Squeak-fr