On 1/10/07, Eric D. [email protected] wrote:
Je pensais plus à la notion d’interface et aux visibilités
public/privé/protégé,
Ben ça, (par ça, je parle de la visibilité), ça va.
à la surcharge des méthode, et globalement aux
architecture à 600 couches avec à chaque fois un moteur, une
implémentation, une interface, etc. L’exemple simple que j’ai en tête
c’est la différence pour les itérateurs. En Java on a une classe dédié à
l’itération qu’on instancie et qu’après on utilise pour le parcours. En
Ruby ou en PHP on utilise(rait) une méthode directement dans la classe à
parcourir.
Oui, enfin bon, prendre comme exemple l’itérateur, c’est un peu bas,
puisque c’est le truc le plus typique de Java dans ce domaine.
Surtout couplé avec un
ma_variable = if toto==titi
toto+tatat
else
titi-tata
end
Ca je te rassure comme construction c’est bien horrible. A la base c’est
illisible en langage naturel donc ça devrait être évité.
Ouais, enfin bon, le codeur de pimki ne s’embarasse pas de ces
considérations, manifestement
En caricaturant : à quoi ça sert ?
A sauter facilement jusqu’à la doc pour lister les méthodes,
plutôtqu’en faisant mon_objet.methods.sort*“\n”
Ce qui m’intéresse quand je code c’est le rôle des données et ce que
représentent les variables, pas leur type.
type (ce sont tous les trois des trousseaux de clés) mais sur le rôle que
tu leur as attribué.
Ouais, enfin bon, pour suivre cette métaphore, je dirais qu’il faut
quand même être sûr que tu as une clé dans la main, et non une
décoration de porte-clé en forme de gorille (ou de tête parlante, pour
les vieux fans de Christophe Lambert).
Si tu as besoin du type c’est que le nommage de tes variables ou méthodes
ainsi que le contexte ne permettent pas de savoir à quoi sert la donnée
que tu as sous les yeux. Et si ça arrive, tu as un problème bien plus
important que le manque de type.
Je ne suis pas d’accord, tout au moins dans mon cas.
Comme tu as pu t’en douter, je participe (un peu) au codage de Pimki.
Et, dans ce cadre, je vais de temps en temps toucher à des objets que
je connais bien moins que mes servlets, et pour lesquels je ne connais
malheureusement pas le type des arguments. Du coup, si je modifie le
code, je ne sais pas trop comment modifier ces paramètres.
(oui, je sais, je dérive, mais la question du typage et de comment le
typage dynamique est ressenti par les habitué de java m’intéresse
beaucoup)
Tu m’étonne.
Pour moi, la seule chose qui me manque vraiment, c’est de pouvoir
savoir ce que je peux faire avec mon paramètre. Si je reprend mon
exemple précédent (ce module de similar_text), la méthode principale
s’appelle get_lcs et a cette tête :
get_lcs(s1, s2, verbose)
En lisant ça, est-ce que tu sais comment manipuler s1 et s2 ? Est-ce
que tu arriveras facilement à modifier le code de la méthode ?
Pas moi (enfin, dans ce cas très précis, si, mais dans le cas général, non).
Et c’est difficile en partie parce que les béquilles ddu monde Java me
manquent (la complétion, la javadoc qui s’affiche automatiquement sous
mon objet, …).
Tiens, par exemple, je suis toujours à la recherche de l’outil magique
qui me permettra d’afficher depuis mon éditeur de texte la doc d’une
méthode, genre “collect” que j’ai sélectionnée (j’avais commencé comme
ça en Java, avec Textpad et la javadoc au format Winhelp).
Ah non ! pas de préfixage de type, pitié ! Le nom de la variable doit
suffire à savoir ce qu’elle représente (et donc ce qu’on peut faire avec),
peu importe son type.
Ca risque fort de pas être
gagné.>
Les développeurs Java de bas étage, alors. Parce que ceux d’un peu
nplus haut ont déja joué avec des décorateurs de bytecode, AOP, …
En fait je pensais au contraire plus aux architecte et développeurs assez
poussés.
Tu veux dire les mecs comme moi ?
La problématique c’est changer sa façon de faire et les
habitudes/attendus/réflexes qui viennent avec.
Il est vrai que, quand je vois à quel point mes collègues sont
fermésaux autres langages, je me dis qu’ils auront nettement plus de mal que
moi à s’y mettre.
–
Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.