• [^] # Re: Même avis que toi

    Posté par . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 4. Dernière modification le 20 avril 2012 à 16:51.

    Ton exemple en JS n’est pas équivalent à mon exemple en Python. Try again :)

    >>> map(str.strip, [" a ", "b "])
    ['a', 'b']
    
    

    Et hop, aucun besoin de prendre un truc optionnel pour en faire un cas général.

    Le but de self n’a jamais été de rendre possible mon exemple. Ce n’est qu’un effet de bord du choix général « explicit is better than implicit ». On peut aimer ou pas ce choix, mais tu ne peux pas dire que c’est incohérent, ou un truc du genre. Pour faire pas mal de Python et de Ruby, je dois dire que parfois en Ruby je me dis de temps en temps (pas tous les jours il est vrai) « tiens, ce serait plus simple avec un self à la python ». Dans l’autre sens (il me fait chier ce self), jamais.

    Ha, et j’ajouterai, c’est bien le dictateur bienveillant de Python qui a dit « Special cases aren't special enough to break the rules ». Donc non, j’insiste : self n’est pas là pour satisfaire un cas spécial.

    Et parler de design illisible pour Python tout en défendant Javascript, fallait oser. Javascript, c’est quand même le (seul à ma connaissance) langage où x=foo.bar;x() et foo.bar() n’ont strictement rien à voir.