IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Linus Torvalds ajoute volontairement des tabulations arbitraires cachées dans Linux 6.9


Sujet :

Linux

  1. #21
    Membre émérite
    Inscrit en
    Janvier 2006
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 722
    Points : 2 727
    Points
    2 727
    Par défaut Réciproque
    Citation Envoyé par fodger Voir le message
    La raison de préférer l'espace à la tabulation est tout simplement que l'espace a toujours la même valeur unitaire quelque soit l'os, l'éditeur, ce qui n'est pas le cas pour la tabulation.
    Pour moi la raison de préférer la tabulation, c'est qu'on va avoir naturellement tendance à utiliser le nombre exact de tabulations correspondant au niveau de profondeur de l'indentation.
    Alors qu'avec des espaces, certains vont en utiliser 2, 3, 4 ou 5 suivant leurs préférences personnelles.Voire à en utiliser plus pour un if que pour un for, ou le contraire, par exemple.

    Certes aujourd'hui les éditeurs ont tendance à reformater à la première sauvegarde. Donc chacun voit ce qui lui plaît au final.
    Hélas au moment d'envoyer dans Git, ça génère plein de lignes "modifiées" uniquement à cause de l'indentation.
    Il y a bien une option --ignore-space-change quand on applique un patch, mais pas quand on fait un commit. Peut-être un point à améliorer.
    Idéalement ça devrait pouvoir devenir totalement transparent pour l'utilisateur.

  2. #22
    Membre confirmé
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 138
    Points : 487
    Points
    487
    Par défaut
    \ô/
    un des intérêt de la tabulation est le partage des sources qui selon le développeur pourra configurer la largeur comme bon lui semble au travers de son éditeur, 2 ,4, 8 ou autres et ce pour son confort visuel.
    Le gain de taille pouvant être anecdotique compte tenu de la minification pouvant être appliquée au final.

  3. #23
    Invité
    Invité(e)
    Par défaut
    Certes aujourd'hui les éditeurs ont tendance à reformater à la première sauvegarde. Donc chacun voit ce qui lui plaît au final.
    Hélas au moment d'envoyer dans Git, ça génère plein de lignes "modifiées" uniquement à cause de l'indentation.
    Il y a bien une option --ignore-space-change quand on applique un patch, mais pas quand on fait un commit. Peut-être un point à améliorer.
    Idéalement ça devrait pouvoir devenir totalement transparent pour l'utilisateur.
    Pour une bête histoire d'alignement tu peux avoir un maximum d'emmerdements.
    Y'a rien de plus chiant pour la lecture du code sur des projets conséquents que de devoir reprendre des mises en pages parce que personne n'a la même configuration d'un éditeur, plateforme à l'autre.

    La simplicité a du bon : KISS.

  4. #24
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2024
    Messages : 3
    Points : 11
    Points
    11
    Par défaut Suis peut être trop vieux...
    Lorsque jeune je codais sur cartes perforées et utilisais une machine à écrire mécanique, la tabulation était variable au gré de l'utilisateur qui lui-même réglait ses taquets.
    Dans la bataille en cours je me rends compte que les protagonistes utilisent tous les deux, espaces et tabulations, à mauvais escient.
    La touche de tabulation sur la machine à écrire permettait d´atteindre une position sur une ligne sans taper de multiples fois sur une touche. Mettre deux tabulations successives est donc une ineptie au même titre que mettre plus de deux espaces consécutifs.
    Le but recherché est une indentation de texte pour un visuel confortable.
    Dans le cadre de la majorité des codes, nul besoin de mettre d´espace ou de tabulation en début de ligne: chaque caractère comptait et se payait sur une carte perforée!
    Une simple analyse du code par un outil convenable, même sans IA, permet d'afficher ce code avec l'indentation souhaitée. C'est ce que font beaucoup d'IDE. Gain d'espace, gain de temps, et tous les parsers peuvent extraire les données.
    Utilisons des outils modernes et adaptés au lieu de disserter sur des blancs inutiles du point de vue de la majorité des langages informatiques!

  5. #25
    Membre émérite
    Inscrit en
    Janvier 2006
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 722
    Points : 2 727
    Points
    2 727
    Par défaut Simple?
    Citation Envoyé par Dave Hiock Voir le message
    \ô/
    un des intérêt de la tabulation est le partage des sources qui selon le développeur pourra configurer la largeur comme bon lui semble au travers de son éditeur, 2 ,4, 8 ou autres et ce pour son confort visuel
    Oui c'est vrai aussi

    Citation Envoyé par fodger Voir le message
    Pour une bête histoire d'alignement tu peux avoir un maximum d'emmerdements.
    Y'a rien de plus chiant pour la lecture du code sur des projets conséquents que de devoir reprendre des mises en pages parce que personne n'a la même configuration d'un éditeur, plateforme à l'autre.

    La simplicité a du bon : KISS.
    Et donc c'est quoi ta recommendation "simple"?

    Citation Envoyé par Docox2 Voir le message
    Lorsque jeune je codais sur cartes perforées et utilisais une machine à écrire mécanique, la tabulation était variable au gré de l'utilisateur qui lui-même réglait ses taquets.
    Dans la bataille en cours je me rends compte que les protagonistes utilisent tous les deux, espaces et tabulations, à mauvais escient.
    [...]
    Dans le cadre de la majorité des codes, nul besoin de mettre d´espace ou de tabulation en début de ligne: chaque caractère comptait et se payait sur une carte perforée!
    Du temps de la carte perforée on programmait principalement en Cobol, Basic ou assembleur. Donc des langages à programmation "spaghetti" où il y a rarement des structures à plus de deux niveaux d'imbrication.
    Pour les langages à structure de bloc, c'est une autre histoire.

  6. #26
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2024
    Messages : 3
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par esperanto Voir le message
    Du temps de la carte perforée on programmait principalement en Cobol, Basic ou assembleur. Donc des langages à programmation "spaghetti" où il y a rarement des structures à plus de deux niveaux d'imbrication.
    Pour les langages à structure de bloc, c'est une autre histoire.
    C'est bien là l'objet de mon trouble. Il y a 45 ans avec ASM/390, APL, Cobol et Fortran j'aurais aimer mettre des espaces pour rendre le code lisible.
    Maintenant que les langages et les fichiers d'échange type XML, json, ... sont structurés et que par cette structure un éditeur de code pourrait indenter et même réorganiser automatiquement les sources en fonction du langage, quel que soit le degré d'imbrication, on se bat pour savoir si l'espace est mieux que le tab...
    Hormis des langages comme Python pour lesquels l'indentation fait partie intégrante de la structure du code, la présence de blancs en début de ligne n'apporte rien au code lui-même. Elle influe juste sur la perception qu'en a le cerveau humain. A l'heure du no code et des IA génératives, cela ressemble de plus en plus à un combat d'arrière-garde.

  7. #27
    Membre à l'essai
    Femme Profil pro
    Collégien
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 11
    Points
    11
    Par défaut
    Les deux solutions ont chacunes leurs inconvénients, et puisqu'il s'agit donc de choisir quels aspects comptent le plus sur un projet, il y en a un qu'on oublie souvent : l'accessibilité. Au delà de simples préférences personnelles, les tabulations permettent aux personnes malvoyantes d'adapter plus facilement l'affichage à leurs besoins (qui ne sont pas toujours les mêmes) pour travailler dans des conditions correctes.
    Un post intéressant sur le sujet : https://www.reddit.com/r/javascript/...n_to_use_tabs/

  8. #28
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2024
    Messages : 3
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par luciole75w Voir le message
    Les deux solutions ont chacunes leurs inconvénients, et puisqu'il s'agit donc de choisir quels aspects comptent le plus sur un projet, il y en a un qu'on oublie souvent : l'accessibilité. Au delà de simples préférences personnelles, les tabulations permettent aux personnes malvoyantes d'adapter plus facilement l'affichage à leurs besoins (qui ne sont pas toujours les mêmes) pour travailler dans des conditions correctes.
    Un post intéressant sur le sujet : https://www.reddit.com/r/javascript/...n_to_use_tabs/
    Bonjour luciole75w,
    Je suis 100% d'accord et c'est bien ce que j'essaie de faire comprendre. A quoi servent les tabulations et espaces multiples en début de ligne? Les IDE correctes permettent de paramétrer la taille et la fonte des caractères ainsi que la taille de chaque indentation que cette IDE automatise, même pour certaines, en fonction du degré d'imbrication. Donc chacun est libre d'afficher le code dans la charte graphique qu'il souhaite, sans dépendance avec un nombre de blancs (espaces ou tabs) que le développeur aurait pu ajouter égoïstement pour son propre confort visuel.
    C'est juste une question d'outil de visualisation, pas de code. C'est aussi une erreur que 99% des utilisateurs de traitements de texte font. Ces logiciels permettent une mise en page automatique paramétrable qui rend les documents cohérents et utilisent une charte graphique comprenant les indentations, qui permet même de reconnaître l'entreprise éditrice sans lire le texte, rien qu'au rendu. Cela autorise des mise à jour du document en assurant que la mise en page est conservée et facilite la tâche et du rédacteur, et du correcteur et du lecteur. Peu de monde s'attache pourtant à cette fonctionnalité mais utilise à la place pléthore d'espaces, tabulations et passages à la ligne pour mettre en page. Au final, l'ajout d'un caractère, même un espace sur la première page, peut rendre le reste du document caduque voire illisible. Pourquoi ne pas profiter de bons outils?

  9. #29
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Avec l’expérience on s’en fout
    Honnêtement l’un ou l’autre je m’en cogne royalement je veux juste de la cohérence dans le code.
    Mais par s’il vous plaît ne mixez pas ces caractères tout comme les fins de lignes Linux ou Windows.
    Prenez l’un ou l’autre mais pas les deux en même temps dans une même famille de repo de code.
    Dégonflez vos chevilles et pensez collectif.

  10. #30
    Membre averti Avatar de supertonic
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 199
    Points : 313
    Points
    313
    Par défaut la solution
    Stoppez les rotatives !
    On a trouvé le génie qui va permettre au monde sortir de windaube !

  11. #31
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 66
    Points : 108
    Points
    108
    Par défaut Vieux débat mais je préfère les tabulations
    L'intérêt de la tabulation, et c'est la raison qui a poussé les créateurs de Go d'utiliser cette règle dans les formateurs de code, c'est que ça ne vaut qu'un octet, et que les éditeurs peuvent définir comment l'afficher. Par exemple sur NeoVim, je préfère afficher les tabulations avec 4 espaces en Go, 2 pour typescript et Python, 4 pour le C... Alors que mes collègues vont préférer utiliser 4 partout, ou 8, ou 2... On a tous le même fichier, aucun conflit, c'est l'affichage qui change.

    Franchement, j'étais pro espace plus jeune, mais je me suis rendu compte de mon erreur.

    Voilà...

  12. #32
    Membre du Club
    Homme Profil pro
    troll prépubère
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : troll prépubère

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par sgissinger Voir le message
    Dégonflez vos chevilles et pensez collectif.
    OK...qui est volontaire pour poser son pantalon sur ces belles chevilles ?!

    à propos du sujet :
    lisbilité (les tabulations ne me conviennent pas) vs économie (de nos jours, les téléchargements "primaires" sont lourds, les disques sont "larges", et les mises à jours...)

    est-ce le signe que Linus commence à vivre dans le passé* ?

    --
    * malgré ses compétences que personne ne peut nier !

  13. #33
    Membre habitué
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2015
    Messages : 84
    Points : 155
    Points
    155
    Par défaut
    Et voilà exactement pourquoi j'ai quitté le codage quasiment des le début en 91! Écoeuré par le C versus les élégants Lisp Pascal et consorts , et ces bidouillages débiles comme Unix (cf le livre The Unix Haters Book).
    On a donc un outil extraordinaire, l'ordinateur, capable de traiter des fichiers XML CSS et j'en passe mais on est encore à se battre sur des indentations versus des espaces blancs? N'est-ce pas totalement débile ? Au lieu d'avoir des fichiers de code en texte ne pourrait-on pas inventer du code intelligent type base de données et lisible comme chacun veut (humain ou dorénavant par des IA), et même en anglais ou Français ou chinois? Du code est du code : en C et assembleur et binaire in fine ça doit correspondre donc allez jusqu'au bout, en français ou IA ou bytecode tout doit correspondre. Et en indentations ou espace, c'est bien un combat débile.

  14. #34
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par esperanto Voir le message
    Pour moi la raison de préférer la tabulation, c'est qu'on va avoir naturellement tendance à utiliser le nombre exact de tabulations correspondant au niveau de profondeur de l'indentation.
    Alors qu'avec des espaces, certains vont en utiliser 2, 3, 4 ou 5 suivant leurs préférences personnelles. Voire à en utiliser plus pour un if que pour un for, ou le contraire, par exemple.
    Il ne faut pas confondre l'usage de la touche TAB avec ce qui est inséré dans le fichier.
    Tout les éditeurs de texte sérieux permettent d'insérer des espaces à la place d'une tabulation (et ce depuis plus de 35 ans).

    Les bons éditeurs permettent aussi de régler la largeur d'une tabulation (ou le nombre d'espaces insérés par la touche TAB) suivant le langage du fichier édité.

    Pour ma part, je préfère n'utiliser que des espaces parce que, par expérience, les fichiers avec tabulations finissent inéluctablement par comporter un mélange de caractères espaces et de tabulation, réduisant à néant l'intérêt du caractère de tabulation pour s'adapter aux préférences de chaque personne. Du coup, avec des espaces, l'indentation initiales résistent mieux au temps.

  15. #35
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2022
    Messages : 3
    Points : 9
    Points
    9
    Par défaut Arrêtons de réinventer les tabulations.
    Historiquement (sur les machines à écrire), la touche tabulation servait à propulser la tête d'écriture jusqu'au prochain taquet. Les taquets doivent donc être préalablement positionnés.
    Rien de tel avec les éditeurs de texte ni avec les commandes comme less ou diff.
    Donc il semble logique de ne pas utiliser de caractères de tabulation. Je ne mets que des espaces (avec expandtab sous Vim).
    Néanmoins je peux comprendre la réaction de Linux Torvald : si un outil est perturbé par un simple caractère de tabulation alors il faut corriger l'outil au lieu de corriger tous les sources. Le caractère de tabulation doit donc être accepté et traité, si nécessaire, avec un espacement de 8 car c'est l'espacement par défaut de très nombreux terminaux (lire la commande "tabs" par exemple).

  16. #36
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par esperanto Voir le message
    Oui c'est vrai aussi



    Et donc c'est quoi ta recommendation "simple"?



    Du temps de la carte perforée on programmait principalement en Cobol, Basic ou assembleur. Donc des langages à programmation "spaghetti" où il y a rarement des structures à plus de deux niveaux d'imbrication.
    Pour les langages à structure de bloc, c'est une autre histoire.
    Appliquer les bonnes pratiques : utiliser les espaces en guise de tabulation, ce que recommande la grosse majorité des langages.

  17. #37
    Membre régulier

    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2023
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2023
    Messages : 46
    Points : 94
    Points
    94
    Par défaut
    Tout cela est bien futile . On dirait une polémique de bureaucrates .

  18. #38
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 752
    Points : 10 683
    Points
    10 683
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par djm44 Voir le message
    Tout cela est bien futile . On dirait une polémique de bureaucrates .
    Cela porte un nom : https://fr.wikipedia.org/wiki/Loi_de...9_de_Parkinson

  19. #39
    Membre expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 657
    Points : 3 789
    Points
    3 789
    Par défaut
    T'indentes comme les guidelines de disent de le faire. Linux impose les tabulations ? T'indentes avec des tabulations, point barre ! Un projet Python choisit de respecter le standard Python alias PEP 8 ? T'utilises des espaces. Idem avec un projet PHP décidant de respecter la PSR-12. Le plus important est de respecter l'équipe et les décisions quant au guide de style prises pour le projet.

    Personnellement j'ai toujours été pro-tabulations. L'indentation avec les espaces c'est comme les bises quand on se dit bonjour : personne n'a le même nombre. Alors qu'une tabulation sera toujours une unité d'indentation partout. La simplicité à l'état brut. Mais est-ce pour autant que je force sur les tabulations s'il a été décidé de mettre des espaces ? Non.

  20. #40
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 482
    Points : 6 149
    Points
    6 149
    Par défaut
    Citation Envoyé par air-dex Voir le message
    c'est comme les bises quand on se dit bonjour : personne n'a le même nombre.
    Il faut alors faire appel à un bisotologue :


Discussions similaires

  1. Réponses: 12
    Dernier message: 22/04/2020, 15h02
  2. Réponses: 0
    Dernier message: 16/03/2009, 20h50
  3. [XHTML] Moyen plus rapide pour mettre mes pages en XHTML
    Par Linoa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/08/2005, 17h46
  4. Algo le plus rapide pour trouver une répétition ?
    Par AsmCode dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 28/07/2005, 00h26
  5. Réponses: 16
    Dernier message: 19/05/2005, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo