• [^] # Re: Grep

    Posté par (site web personnel) . En réponse au journal Le journal. Évalué à 7. Dernière modification le 06 septembre 2012 à 15:15.

    On peut tout à fait définir les structures de données dans les deux cas.

    On peut. Sauf qu'en pratique, trop d'octets pour une date, les gens font un peu ce qu'ils veulent (par exemple, ils traduisent).
    Alors certes, on peut spécifier lettre par lettre le format, mais pour reprendre mon exemple, un int c'est une ligne pour définir, combien de ligne pour définir un champs date?

    L'avantage du binaire est surtout de rendre impossible des "adaptations", qu'on réserve à l'affichage.
    L'expérience de l'analyse (c'est mon métier ;-) ) m'a appris que plus on laisse de la marge aux développeurs, plus ils font des conneries avec (du monde lisent les specs sans le lire). Limiter les possibilités pour dire la même chose rend les erreurs plus visibles (même en binaire, pour te donner un exemple une spec qui dit qu'un int est entre 1 et max(int), tu auras un gus pour commencer de compter à 0. si tu prends tout le domaine du int et surtout le début, ce genre de "compréhension de la spec" est diminué, moins d'erreur. Imagine avec 15 octets pour définir la date, combien d'erreurs et donc de merde pour "convertir" tu vas te taper… "Wed", "wed", "mer" pour mercredi? dans tous "convertisseur", vas-tu implémenter les 1000 langues du monde alors que définir en binaire un nombre de jours depuis 1970 aurait été plus simple et le convertisseur traduit dans la langue que tu veux?)

    Un champs date en texte est simplement une merde absolue pour un programme (voir les clients FTP qui ont un mal fou et ont du code à plus savoir qu'en faire pour trouver de bêtes date/heure d'un fichier suivant le serveur FTP en face, FTP a ce même travers et ça pose un max de problèmes)