Brunni (./23) :
Ben là justement, je ne te suis pas entièrement Golden. En voyant ton code ce n'est pas clair d'où vient GetParameters.
Et qu'est-ce qui te laisse penser qu'en connaissant le nom du type, tu connaîtrais automatiquement tous ses membres ? À ma connaissance, ce n'est pas le cas... Si tu ne connais pas, tu es de toutes façons bon pour aller lire la documentation. (Ou faire un coup de F12 sous Visual)
Ce n'est pas non plus clair qu'est-ce que c'est ton paramètre
Si en lisant ce code comme une phrase (recuperer la methode Main de Program, et pour cacun de ses parametres, afficher le nom) tu ne comprends pas ce que fait le code, bah c'est peut être un problème de ton côté... Pour moi c'est du code auto-documenté... (Du fait qu'en le traduisant directement en langage humain, tu obtiens sa fonction)
et le fait qu'il a un nom
Ben t'as pas besoin de le "savoir" vu que c'est écrit dans le code, et que si le code était faux il compilerait pas

et si on veut savoir ce qu'il a d'autre ?
Quan tu lis du code, tu t'interroges souvent sur ce que le code aurait pu faire (fonctionnellement) mais qu'il ne fait pas ?
Et encore une fois, si tu ne connais pas le type, je ne vois pas en quoi connaître son nom t'en dira plus sans aller lire la documentation.

Enfin là je trouve que ton code a plus ou moins la lisibilité d'un langage dynamique.
Sur ce point la c'est vrai que si tu extrais du code au milieu d'une fonction, il est possible qu'il ne soit pas plus lisible que l'équivalent en JavaScript. Mais si la sémantique (Nom des variables, possibilité de comprendre le "sens" du code) est bonne, tu en tireras quand même quelque chose...
Par contre, tout est différent des que tu prends en compte le contexte. Le langage utilisé, les frameworks utilisés, tous ont leur règles. Si tu ne les connais pas, c'est une lacune, parce que tu ne connais pas le contexte (et d'une certaine façon, c'est de ta faute).
Et avec le contexte, dans un langage fortement typé, tu déduis beaucoup plus de choses que dans un langage dynamique. Juste parce que tu sais que le type d'une variable/d'un champ/d'un paramètre de fonction est fixé. Donc les possibilités d'interprétation et donc d'erreur (mauvais type au mauvais endroit) sont énormément réduites.
excepté qu'il est cette fois possible de retrouver le type en passant la souris sur l'appel à la méthode
Tout à fait, l'IDE fait beaucoup pour toi. Mais même sans ça (inférence de types) je trouve que ça serait suicidaire de coder sans une bonne IDE. C'est pas parce tu connais les frameworks, ou même les noms des types de toutes les variables que tu connais tous les membres par cœur. Tu sais que tel truc à telle fonction, que tel autre truc s'utilise comme ça, et ensuite tu laisses l'IDE et la documentation te guider...
(Je pense que ça répond aussi à Uther du même coup)