A propos de la compatibilité

La facilité du codage ABC "à la main" fait que de subtils écarts avec la norme sont fréquents dans les fichiers ABC. Ces écarts ne sont pas gênants pour la compréhension humaine mais le sont pour un traitement automatisé par un logiciel.

De plus, les logiciels gérant le format ABC ne respectent pas tous rigoureusement le standard, y ajoutant certaines fonctionnalités propriétaires (c.à.d. spécifiques à une application et absentes du standard), ignorant certaines fonctionnalités du standard ou les interprétant de manière légèrement différente de celle prévue par le standard.

Bref, la compatibilité des fichiers ABC entre les divers logiciels gérant ce format n'est pas toujours totale et doit être améliorée. Ce problème n'est d'ailleurs pas propre à ABC mais à beaucoup de formats publics non liés à un logiciel précis et ayant vocation de standard.

Voici donc quelques conseils simples et de bon sens pour assurer une compatibilité optimale des fichiers ABC entre les divers systèmes d'applications et les divers logiciels applicatifs, actuels et à venir :

- Se conformer rigoureusement à la norme, cela peut paraître évident, cela l'est moins si l'on précise que cela concerne aussi bien le programmeur d'un logiciel que l'utilisateur de celui-ci.

- Ne pas utiliser de commandes ou de paramètres propriétaires si le fichier est destiné à être distribué. S'aider d'un analyseur de texte pour reconnaître et supprimer toutes les commandes propriétaires des fichiers qui en contiennent avant leur distribution.

- Privilégier la programmation de logiciels interopérables entre les diverses plateformes.

- Tout logiciel ABC se doit d'être compatible avec le standard et avec le plus possible d'autres logiciels ABC.

- Dans les fichiers ABC distribué, choisir préférentiellement CR-LF comme caractère de fin de ligne, non pas parce que ce caractère correspond au standard de Windows mais parce que les logiciels tournant sur des systèmes d'exploitation utilisant soit le CR soit le LF interpréteront correctement de manière native le CRLF comme une fin de ligne, alors que l'inverse n'est pas forcément vrai.