Ensuite, la définition des blocs par indentation est une fausse bonne idée. Un copié-collé d'un exemple dans votre propre programme ne marchera pas si l'exemple indente avec des espaces et que vous indentez avec des tabulations (ou inversement). Python m'a permis de comprendre à quoi servait la fonction "remplacer les tabulations par des espaces" de Geany, dont je ne voyais pas l'utilité.
Au début, je me disais aussi que c'était une fausse bonne idée.
Et puis j'ai bossé bossé comme ingénieur intégration, à devoir faire des merges entre branches de code sur des milliers de fichiers en C.
Et là, quand quelqu'un vous modifie un bloc de code tabulé avec des espaces ou inversement, le merge peut vite devenir un enfer.
Des faux conflits partout. Ou bien du merge automatique qui foire avec de la duplication de bout de codes. J'ai subi ce genre de désagrément avec Cvs, Perforce et Git.
Et le 'ignore space' pour la résolution de confit peut aussi apporter son lot d'autres effets de bords.
Et même avec des règles de codage interdisant en interne les tabulations et de la revue de code par un pair avant commit, ce genre de mix tabulation / espaces subsistent.
Donc finalement, un langage qui par défaut utilise l'indentation pour définir un bloc de code, cela rend la vie plus simple au pauvre intégrateur... :-)
[^] # Re: De l'engouement pour Python
Posté par vpo . En réponse à la dépêche Python dépasse Java en popularité selon l’indice TIOBE de novembre. Évalué à 3.
Au début, je me disais aussi que c'était une fausse bonne idée.
Et puis j'ai bossé bossé comme ingénieur intégration, à devoir faire des merges entre branches de code sur des milliers de fichiers en C.
Et là, quand quelqu'un vous modifie un bloc de code tabulé avec des espaces ou inversement, le merge peut vite devenir un enfer.
Des faux conflits partout. Ou bien du merge automatique qui foire avec de la duplication de bout de codes. J'ai subi ce genre de désagrément avec Cvs, Perforce et Git.
Et le 'ignore space' pour la résolution de confit peut aussi apporter son lot d'autres effets de bords.
Et même avec des règles de codage interdisant en interne les tabulations et de la revue de code par un pair avant commit, ce genre de mix tabulation / espaces subsistent.
Donc finalement, un langage qui par défaut utilise l'indentation pour définir un bloc de code, cela rend la vie plus simple au pauvre intégrateur... :-)