vendredi 15 janvier 2010

In memoriam dBase III Plus


Il y a maintenant un peu plus de dix ans, au cours de l'année 1999, j'ai quitté le monde merveilleux (hum) de Microsoft au profit de Linux. J'ai assurément beaucoup plus gagné que perdu en faisant ce grand saut, mais je mentirais en prétendant que les logiciels libres ont toujours réussi dès le premier jour à prendre la place des produits commerciaux que j'utilisais alors -- plus ou moins légalement. Non seulement ils n'y sont pas parvenus dès le premier jour, mais ça leur a (ou plutôt, ça m'a) parfois demandé plusieurs années...

Au prix d'efforts assez considérables, j'ai trouvé des successeurs au petit langage de programmation Quick Basic avec lequel j'avais le sentiment de savoir faire à peu près tout. J'y suis parvenu, mais vraiment pas en un tournemain; et même, sur certains points, il me faut encore aujourd'hui trincailler pour obtenir en C, Java, Perl, Tcl/Tk, Python ou C++ (oui, j'ai réellement écrit des tas de bidouilles avec ces six langages) les effets que je n'avais aucun problème à réaliser avec ce bon vieux Quick Basic -- en particulier quand je cherche à obtenir un affichage graphique un peu lisible avec un peu de couleur.

J'ai aussi fini par trouver en GNU/emacs un successeur décent au traitement de texte complètement inconnu que j'utilisais sous MS-DOS, XyWrite III Plus. Ce dernier, presque totalement ignoré de toute la planète, était d'une souplesse et d'une rapidité inégalées par aucun de ses concurrents, et possédait cette merveilleuse vertu de tout enregistrer en Ascii étendu, c'est-à-dire l'un des formats les plus simples sinon les plus standard qui aient jamais existé (grâce à cela, je peux toujours lire mes textes rédigés il y a vingt ans, et pas grand-monde ne peut en dire autant). GNU/emacs, dont il est de bon ton de se gausser même parmi les linuxiens, me rend à peu près les mêmes services -- bien secondé qu'il est par une vingtaine de moulinettes écrites en C par mes blanches mains pour faire sauter certaines limitations.

Comment ça, des limitations? Nous parlons bien de GNU/emacs, la mère du logiciel libre, un programme si versatile que ses détracteurs affirment qu'il ne lui manque qu'un éditeur de texte décent pour se transformer en un système d'exploitation complet? Ben oui. GNU/emacs -- que j'aime -- est quand même d'abord fait pour écrire des fichiers informatiques constitués ligne par ligne, et il n'est donc pas exactement l'équivalent de mon bon vieux XyWrite III Plus qui, lui, savait afficher proprement paragraphe par paragraphe n'importe quel texte en cours de rédaction, sans lignes inégales, comme il convient pour le confort visuel du journaliste que je suis. Même pour moi qui aime beaucoup GNU/emacs, il s'agit d'une vraie faiblesse et je comprends tout à fait mes chers confrères journaleux qui trouvent qu'à ce compte-là ils préfèrent encore cette sombre daube de Word. Mais bon, globalement, j'ai quand même trouvé chez M. GNU un successeur acceptable à mon traitement de texte sous MS-DOS, et même assez rapidement.

Ce à quoi je n'ai pas trouvé d'équivalent avant ces derniers jours, c'est à l'empereur des logiciels piratés sous MS-DOS, j'ai nommé l'incontournable dBase III Plus. Oh, vous pouvez bien rigoler et prétendre que c'est une vieille daube. dBase III Plus représentait bel et bien, ne vous déplaise, un certain état de l'art dans la gestion des bases de données. Certes, il n'avait pas la puissance de mySQL, d'Oracle ou de PostgreSQL, mais il n'en avait pas non plus la lourdeur, et on n'avait pas à chaque instant avec lui le sentiment d'employer un marteau-pilon pour écraser une mouche. PostgreSQL ou Oracle, c'est certainement super-bien quand on est EDF ou la SNCF pour gérer des dizaines de millions d'enregistrements, je n'en disconviens pas. Mais pour les fichiers que le pékin moyen ou même la PME moyenne est réellement amené à manipuler dans la vraie vie, une telle usine à gaz est vraiment surdimensionnée, tandis que ce bon vieux dBase gérait avec une facilité déconcertante des bases de données relationnelles contenant quelques centaines, voire quelques milliers d'enregistrements -- ce qui, pour le lambda moyen et M. Tout-le-monde, est déjà très au-delà de ses aspirations les plus folles.

Eh ben, sous Linux, faut être honnête, un véritable équivalent à dBase III Plus, y avait pas. Oh, bien sûr, j'ai survécu sans grande difficulté, en renonçant aux systèmes de gestion de bases de données relationnelles (SGBDR de leur petit nom) au profit d'un tableur médiocre (OpenOffice.org Calc), c'est-à-dire qu'en fait de base de données je me contentais de bêtes tableaux alphabétiques avec des lignes et des colonnes. Ca convient à peu près à M. Pékin lambda, du moment qu'il est un peu méthodique et soigneux (et c'est mon cas). Mais si M. Pékin lambda est aussi programmeur (et c'est encore mon cas), il ne trouve pas vraiment son bonheur avec un outil aussi rudimentaire (et peu lisible: OpenOffice.org, c'est moche avec ses petites nicônes à la con, ses ascenseurs, ses palettes et toutes ces stupidités de marketing qui ne servent qu'à bouffer la moitié de l'écran).

J'entends le coeur des linuxiens me dire qu'OpenOffice.org a son propre langage de programmation, et même son propre SGBDR. Je sais. Je sais aussi que je n'ai jamais rencontré personne qui s'en servait. Par ailleurs, vous avez déjà dû le sentir, je déteste l'ergonomie d'OpenOffice.org et sa manie de chercher à ressembler à qui-vous-savez, alors que c'est précisément par exécration de qui-vous-savez que je suis venu sous Linux. Alors, me faire suer pour apprendre des méthodes inconnues de tous et de surcroît plagiées de celles du père Bill Gates (merde, je l'ai nommé)... comme dirait Edmond Rostand, non, merci!

L'air de rien, même quand on aime ça (et j'aime ça), se farcir la tête de docs informatiques, c'est fatigant. Aussi apprécié-je assez peu de devoir le faire pour maîtriser des outils qui ne me paraissent pas du tout standard, que personne n'utilise, pour l'emploi desquels personne ne sait me filer un coup de main, pour l'apprentissage desquels il est impossible de trouver un manuel de référence décent et pas caduc, et dont les spécifications changent tous les deux mois sous prétexte d'édifier la civilisation informatique. Moi, j'aime les bons vieux outils standard qu'on peut encore utiliser aujourd'hui avec des manuels écrits dans les années 1970: les éditeurs de fichiers Ascii; les compilateurs C; et donc, en matière de base de données, je veux du SQL ou rien.

Alors, mySQL, PostgreSQL, ou peut-être SQLite si ces deux bazars sont trop gourmands? Mmm. MySQL, ce n'est pas vraiment libre (et encore beaucoup moins depuis que c'est passé sous la coupe d'Oracle). PostgreSQL, disons-le clairement, c'est éléphantesque; d'ailleurs, son logo le revendique. Quant à SQLite, bien que ça me paraisse a priori très sympathique, le vieux fan de dBase III Plus que je suis trouve quand même qu'être forcé de bidouiller en C chaque fois qu'on veut faire une bête recherche même pas multi-critères, c'est lourdingue. J'entends encore le coeur des linuxiens qui me disent qu'il y a des librairies pour gérer SQLite (comme d'ailleurs mySQL et PostgreSQL) dans tous les langages de scripts un peu décents, genre Perl et Python. Je sais. Mais ça me gonfle de devoir me farcir, en plus de l'apprentissage de la syntaxe SQL, celui d'une librairie à peu près inconnue et dont, bien entendu, les spécifications changent toutes les deux heures vu que c'est du libre, work in progress et tout le toutim.

Bref. Je crois qu'avec Gadfly, j'ai trouvé mon bonheur (on sait tout faire après avoir lu trois pages de doc) -- mais je pense que je vous raconterai ça un autre jour parce que le temps passe, l'air de rien.

Aucun commentaire:

Enregistrer un commentaire