Mardi 8 avril 2008

Mon premier jeu en basic était sympa, mais peu impressionnant. Deux voitures (deux caractères) qui bougent à l'écran en sens inverse, c'est assez peu. Il fallait pour moi passer au niveau supérieur pour animer plus de choses à l'écran : il fallait passer en langage machine.

Le langage machine est un peu le but ultime de tout programmeur. Ce langage est directement compréhensible par l'ordinateur: il est écrit dans le code que comprend le processeur. Le langage machine en lui même n'est qu'une suite de chiffres hexadécimaux (de 0 à 255), qui pilotent le microprocesseur de l'ordinateur.
Le Superboard II était piloté par un 6502 de chez Motorola. L'un des micro processeurs les plus puissants et simples à programmer à cette époque. J'ai donc acheté un livre sur la programmation du 6502 (un livre édité par Sybex, un des principaux éditeurs de livres informatiques à cette époque).
Le livre détaillait toutes les instructions du 6502. Telle instruction correspond à tel code en mémoire. Un programme n'est après tout qu'une suite de codes, de numéros dans la mémoire. Le jeu d'instructions du 6502 était simple et réellement intelligent. Vous disposiez de 3 registres (des cases mémoires dans lesquelles vous pouviez stocker des chiffres de 0 à 255). Ces registres étaient nommés A (l'accumulateur), X et Y. Vous pouviez charger ces registres en lisant la mémoire, ou stocker le contenu de ces registres dans la mémoire. Il était également possible de faire les opérations de base (addition et soustraction) sur ces registres.

Tout cela était finalement très limité, mais suffisant pour se débrouiller, et réaliser des programmes complexes. Le 6502 me fait beaucoup penser aux processeurs RISC, Reduced Instruction Set Computer qui ont peuplés les Mac des années 1998-2003. Des instructions simples et un processeur rapide pour traiter ces instructions.

Il me fallait donc programmer en langage machine. Livre en main, j'ai essayé d'entrer les chiffres correspondant aux instructions du processeur directement en BASIC. Un travail extrèmement fastidieux, qui cependant a abouti au premier jeu de "C'est plus c'est moins" en langage machine. Encourageant.
J'ignorais à l'époque qu'il existait des logiciels dédiés à la programmation en langage machine, qui s'appelaient "assembleurs". Le Superboard II étant très rare en France, je n'avais aucun accès aux logiciels commerciaux pour cette machine.
Je me lançais donc dans la programmation de mon propre assembleur en BASIC. Un programme finalement simple : il demandait le nom d'une instruction langage machine (les instructions avaient des noms, comme LDA, LDX, STX, STY etc.), puis faisait la conversion entre le nom de l'instruction et son équivalent binaire. Une instruction / un code machine. Certaines instructions avaient des paramètres, comme une adresse mémoire : l'assembleur les demandait et les insérait dans le programme.
J'ai bien passé 15 jours sur cet assembleur. A la fin de ce travail, j'avais un outil me permettant d'entrer les programmes facilement, et me permettant de les corriger. Je ne pouvais cependant pas les "debugger", c'est a dire chasser les problèmes simplement. Je lancais le programme, il marchait ou il ne marchait pas.

Avec ce nouvel outil, tout un monde de création s'ouvrait à moi. Les animations à l'écran n'avaient plus de limite, je pouvais bouger tout l'écran en langage machine si je le désirais.
Je me lançais donc dans la réalisation d'un jeu de shoot-em-up. A cette époque, une bonne partie des jeux disponibles dans les salles d'arcade était des shoot-em-up. Space Invaders, Galaxian etc.
Mon shoot-em-up avait le titre peu imaginatif de "Galaxians" (copie du jeu de salle d'arcade). Il était consitué de plusieurs niveaux différents. Le premier niveau était une pâle copie du Galaxian originel, avec les graphismes limités du Superboard. Un série d'aliens se trouve en haut de l'écran, vous lance des obus, et vous attaque en descendant. Le deuxième niveau etait plus original, une pluie d'aliens à éviter. Le troisième niveau, un "boss" était un gros alien à détruire en tirant sur ses cibles.
Un jeu sommes toutes sympa, mais peu imaginatif.
Il va sans dire que j'étais super fier de ce jeu, qui utilisait la machine à son maximum. Un grand nombre d'objets bougeaient à l'écran en même temps. Les machines à cette époque étaient construites à l'économie: la mémoire vidéo était partagée avec la mémoire normale. La mémoire vidéo du Superboard consistait en 1024 octets (32x32). Lorsque le programme accédait à cette mémoire pendant l'affichage de l'image sur l'écran, un parasite noir apparaissait. Comme mon jeu accédait beacoup à l'écran, et rapidement, l'image de mon jeu était constellée de parasites qui perturbaient le jeu.

J'ai beaucoup joué à ce premier jeu, même si son scénario était inexistant, et ses graphismes limités.

Mon premier vrai jeu!

par Francois Lionet
ajouter un commentaire commentaires (0)    recommander
Vendredi 4 avril 2008
La TI57 fut un moyen de programmer qui m'a satisfait pendant plus d'un an. Mais après cette période, j'avais envie d'aller plus loin.
Mon frère et moi, achetions des magazines d'électronique (lui et moi réalisions des montages régulièrement). Et dans ces magazines se trouvait la publicité pour le Superboard II d'Ohio Scientific.
Il faut se remettre à cette époque, en 1980. Il n'existait que très peu d'ordinateurs dignes de ce nom. Les seuls disponibles en France étaient des kits qui ne faisaient pas grand chose. Comme le kit Zenith qui proposait 8 diodes lumineuses que l'on pouvait activer ou désactiver par programme.
Le Superboard II était réellement autre chose. Il s'agissait du premier ordinateur monobloc : tout l'ordinateur était contenu sur une carte de circuit imprimé. Tout l'ordinateur, de l'interface vidéo au clavier, en passant par la sauvegarde sur cassette. En plus le prix était assez abordable, 2500 Francs.
J'ai donc mis de côté tout l'argent que je pouvais récupérer (cela incluait le nettoyage contre salaire des vitres de la maison, le passage d'aspirateur, la tonte de la haie du jardin etc.). Au bout d'un temps certain, j'ai enfin pu commander ma machine auprès du distributeur Francais (une petite société créée pour l'occasion, dont la durée de vie n'a pas excédé la durée de vie de la machine).
La machine tant attendue arrive. Je la déballe. Une belle carte de circuit imprimé, avec le processeur (un 6502), les mémoires, la sortie vidéo etc. Monobloc. Il fallait encore réaliser l'alimentation 12 volts. Faire une alimentation électronique était pour moi un jeu d'enfant, j'en avait réalisé un grand nombre dans mes années de bricolage. Donc un simple transfo 220/12V, un pont de diodes redresseur, et un régulateur 12 volt (un circuit qui fait tout le boulot).
Après un jour, mon ordi etait prêt. Je récupère une vieille TV stockée dans le grenier. Mise en route ... et
Déception. L'image est toute tordue! Le haut de l'image est parfait, mais le bas suit une courbe descendante. Je lis et relis la doc, et je trouve un paragraphe indiquant que "l'affichage peut varier d'un moniteur à l'autre". Mais bon, je pouvais voir toutes les lettres de l'écran, un peu déformées il est vrai.
L'affichage faisait 32x32 lettres. A l'époque cela me semblait beaucoup, et très confortable. Pourriez vous imaginer travailler sur une environement 32x32, avec une image déformée maintenant?
Les messages affichés lors du boot (la mise en route) de l'ordinateur étaient succins.

Superboard II
Microsoft basic V1.0
OK

Et un curseur qui clignote. Qui attend vos commandes.
Je tape "salut". Je recois "Syntax error". Il faut donc lire la doc.
Cette doc était livrée sous la forme de pages (mal) photocopiées par l'importateur de la machine. En Anglais évidemment. Après plusieurs heures de lecture, et de relecture, j'avais un peu compris le principe du Basic. La doc indiquait comment faire un "Hello world" avec le langage :

10 Print "Hello world"

Et oui, ce basic était avec numéros de ligne. Donc toute ligne entrée commençant par un chiffre était stockée dans la mémoire du programme. Pour voir le programme, il fallait taper "list", (sans numéro de ligne ce qui signifiait une commande immédiate). Pour lancer le programmer, un simple "run" suffisait.
Le langage BASIC de cette machine était vraiment primitif. Créé par Microsoft cependant. A l'époque, Microsoft était encore une petite société, avec moins de cent employés. J'aime à penser que ce BASIC que j'ai utilisé pendant plusieurs années, était proche du BASIC original de Bill Gates, qu'il a créé lorsqu'il était encore étudiant dans une université aux alentours de San Francisco.
Le BASIC de cette machine était il faut le dire, très bien conçu. Toutes les instructions de base étaient présente, et l'on pouvait afficher ce que l'on voulait à la position désirée dans le programme. On pouvait également, avec force "poke" modifier la police de caractère. Pour les non initiés, "¨poke" signifie "forcer". Un "poke" en BASIC demandait une adresse dans la mémoire de l'ordinatuer, et une valeur (de 0 à 255). En utilisant le "poke", on modifiait directement une adresse mémoire de la machine. Il était donc possible de changer l'aspect de la police de caractères en faisant des "pokes"' aux bonnes adresses.
Mon premier programme fut, comme pour la TI57, un jeu de "c'est plus c'est moins". En quelques dizaines de lignes de basic. Il fonctionnait parfaitement. Puis je passais à plus compliqué. Dans les salles d'arcade à cette époque, vous trouviez un jeu avec des voitures tournant en sens inverse, dans un labyrinthe. La voiture adverse laisse des pastilles, et vous devez, en sens inverse, récupérer ces pastilles, tout en évitant la collision avec la voiture ennemie. Un jeu parfait pour une adaptation en BASIC.
Je me lance donc dans la programmation de ce qui devait être mon premier vrai programme. La fonte du Superboard était très bien conçue, avec de nombreux caractères destinés aux jeux. Pour mon programme, j'utilisais les voitures de course, qui étaient disponibles dans les quatre directions. Quelques boucles bien conçues, et la voiture de l'ordinateur se baladait dans le labyrinthe. Quelques tests de touches (haut bas gauche droite) et la voiture du joueur explorait l'écran.
En une semaine j'avais un jeu qui fonctionnait. Utilisable et sympa.
Un tel jeu devait être sauvegardé. La sauvegarde du Superboard II se faisait sur une cassette. Sur un simple lecteur/enregistreur de cassette comme on en trouvait à cette époque. Branché sur la carte de l'ordinateur. Pour sauvegarder votre logiciel, il a fallait tout d'abord mettre en route la cassette en enregistrement, puis taper la commande "Save". La sauvegarde se faisait à la vitesse faramineuse de 300 bits par secondes, c'est a dire 40octets par seconde. Il faut comparer cette vitesse a celle de l'Internet actuel, 10 ou 20 millions de bits par seconde!
Pour recharger le programme, il fallait taper "load", et mettre la cassette en route. En espérant que cela marche. Car cela ne marchait pas toujours! La cassette pouvait être mal engagée dans le lecteur. Le niveau de volume du lecteur pouvait ne pas correspondre au volume souhaité par l'ordinateur. Ou l'ordinateur était mal luné. Certaines fois, cela ne marchait pas du tout, même en essayant plusieurs fois.
Mais a la fin, on arrivait toujours à sauver et charger son jeu.
Cet ordinateur, ce Superboard allait me suivre pendant plusieurs années.

par Francois Lionet
ajouter un commentaire commentaires (0)    recommander
Lundi 31 mars 2008
Pendant ma meilleure période Fisher Technics, je devais aller au lycée. Et en Terminale, il fallait une calculatrice. Ma mère étant un peu radin, j'ai obtenu une Texas Instrument 57. TI57 pour les intimes. Légère, elle avait un afficheur à diodes LED rouges. Un clavier peu agréable. Elle faisait un peu "toc". Mais elle était programmable.

Une programmation rudimentaire. 49 pas de programme. Et 7 mémoires. Chaque mémoire utilisée était un pas de programme en moins. Vous utilisiez 5 mémoires, et vous n'aviez plus que 43 pas de programme.
Pour accéder à la programmation, il suffisait d'appuyer sur le bouton PROG. L'écran passait alors a deux fois deux chiffres, a gauche l'instruction, a droite le paramètre de l'instruction. Entrer les programmes était plutôt facile. Il n'y avait évidemment pas de fonction évoluée d'édition. On pouvait se balader de pas de programme en pas de programme, et les effacer. Pas de possibilité d'éditer quoi que ce soit.
Un programme doit comprendre des sauts ou des boucles. Pour les sauts, vous aviez l'instruction GOTO (GTO sur le clavier). Pour faire un goto, il fallait auparavant définir un label. Un label prenait la place d'une instruction dans la liste du programme. Une fois le label défini, il suffisait ensuite de faire le GTO.
Un programme a besoin de tests, et de branchements décisionnels. Vous aviez donc la possibilité de faire des tests. Si le test était vrai, l'instruction qui suivait le test le test était exécutée. En général un GTO. Sinon, le programme sautait à l'instruction après la suivante (je ne sais pas si vous me suivez : on saute à l'instruction deux pas plus loin).
Une programmation réellement spaghetti, avec plein de GOTO partout. Mais à l'époque cela semblait vraiment très efficace et puissant.

49 pas de programme. Moins si on utilise des mémoires. Ce n'est vraiment pas beaucoup. Un tout petit "bac à sable"' pour les programmeurs en herbe, dont j'étais.

Mes premiers programmes furent très simples. J'ai évidemment commencé par faire des programmes en relation avec mon cours de mathématique. Des fonctions "qui tendent" vers une valeur, pour vérifier la véracité du cours de math. Des sinus et des cosinus.
Mais rapidement, je me suis mis a programmer des jeux. Le premier jeu fut le merveilleux jeu de "c'est plus / c'est moins". La calculatrice choisit un nombre en 1 et 100 (il y avait une fonction aléatoire), et on doit le trouver. On entre une proposition et la machine indique si le nombre à trouver est supérieur ou inférieur au nombre proposé. Un tel programme prenait quelques 30 pas. Pour indiquer un nombre inférieur, j'affichais "0". Pour indiquer un nombre supérieur, j"affichait "1". Ce jeu -vraiment nul-, j'y ai joué des heures durant. C'était mon premier vrai programme et il fonctionnait très bien. Peu importe l'intérêt du jeu, le principal était d'avoir un programme qui tourne bien.

J'étais un élève assez moyen, et la programmation m'apportait un moyen de passer les cours rapidement. En Francais, Histoire géo, Philo, je n'écoutais pas. Je programmais. J'avais trouvé une passion.

Le "plus/moins" ne fut évidemment pas le seul jeu que je programmais. Le Master Mind était à la mode à cette époque (en jeu carton). Je me lançais dans la programmation d'un master mind sur ma TI57. Au début, avec deux chiffres seulement. Facile. Puis dans la réalisation d'un Master Mind à trois chiffres. Cela semble simple dit comme cela, mais faire un Master mind à trois chiffres sur 49 pas de programme est réellement complexe. Il faut optimiser un maximum, réduire le nombre de labels, de pas de programmes. Après de nombreux cours de math et de philo, mon Master Mind fonctionnait parfaitement.

Sur la TI57, il était impossible de sauver un programme. Donc à chaque fois que je voulais rejouer à mon programme, je devais rentrer de nouveau les 49 pas de programme. Cela ne me semblait pas si pénible à l'époque.

J'avais donc une TI57. Notre classe était divisée en deux factions rivales : les TI et les HP. TI, pour Texas Instrument. HP pour Hewlett Packard. Les HP étaient, il faut le dire, plus évoluées que les TI. Notamment la HP41c que quelques heureux (et riches car elle était très chère à l'époque) personnes de ma classe possédaient. Le prof de math n'avait d'yeux que pour les possesseur de HP. Tous les prétextes étaient bons pour justifier cette machine. J'étais assez jaloux. Mais je pensais à mon Master Mind en 49 pas, une chose que les HPistes n'auraient jamais pu  faire.

Cette TI57 m'a suivi pendant quelques années. J'ai arrêté de la programmer à la fin de ma Terminale. En farfouillant dans mes caisses de bricoles en 2004, je l'ai retrouvée. Un petit pincement au coeur, j'ai remis une pile dans la machine. Tapé quelques chiffres, suis allé en mode programmation. Elle marchait encore.

A l'époque je ne réalisait pas combien la programmation me plaisait. Jusqu'à ce que j'achètes un véritable ordinateur...
par Francois Lionet
ajouter un commentaire commentaires (0)    recommander
Jeudi 27 mars 2008

Lorsque j'avais 10-12 ans, la plupart des enfants jouaient au Légo. Pas moi. Moi je jouais à quelquechose de beaucoup mieux : le Fisher Technics. Dans ce blog sur la programmation, je ne peux pas ne pas commencer par cet élément fondamental dans mon parcours. La fabrication de machines toutes plus délirantes les unes que les autres. Comme je l'ai dit dans le chapitre précédent, les programmes ne sont que des machines virtuelles.
Alors que les constructions en Légo se cassent, ne tiennent pas bien, sont toutes bancales, celles en Fisher Technics sont solides et bien foutues. Le Fisher Technics est un jeu de construction orienté vers les mécanismes. Il y a certes des briques de base, qui s'emboîtent solidement les unes dans les autres, de multiples façon (les briques sont brevetées), mais il y a surtout des engrenages de différentes tailles, des roues, des chaînes, des vis sans fin. Et puis il y a les moteurs, très puissants, qui donnent vie aux constructions.

J'ai commencé le Fisher Technics en regardant mon frère y jouer. Puis, lorsqu'il l'a abandonné vers 15 ans, j'ai pris la main.

Des machines. J'en ai construit des dizaines (une centaine?). Toutes plus inutiles les unes que les autres. La construction en Fisher Technics est extrèment similaire à la programmation. On met une brique ici. Ca va ou ça ne va pas. Si cela ne va pas, on enlève la brique et on la remet ailleurs. C'est un processus très rapide et non frustrant. L'excellent conception des briques du Fisher Technics permet un positionnement très fin des différents éléments d'une construction. Pas a pas, on essaye, trifouille a partir d'une idée de base, et on arrive à une machine qui fonctionne à la fin. Ce n'est pas pour rien que le Ficher Technics a et est toujours utilisé dans les laboratoires (ne me demandez pas lesquels) pour faire des prototypes.

La construction d'une machine partait d'une idée de base. Un idée intelligente, ou idiote. Un machine a tirer la chasse. Une machine à dire bonjour lorsque l'on entre dans ma chambre. Une jeu de voiture. Une machine à distribuer du déodorant dans les toilettes. Une machine à remplir le gobelet à dents dans la salle de bains. Une machine à distribuer du savon dans l'evier de la cuisine. Une machine à nettoyer les lentilles de contact. Ce qui importait n'était pas le but de la  machine, mais tout le processus de construction, et comment elle fonctionnerait.

Lorsque j'avais un projet de machine en route, j'y passais tout mon temps libre. Je ne regardais pas la télé, faisais mes devoirs le plus rapidement possible, pour pouvoir me consacrer à la construction du projet. Je me souviens particulièrement des périodes entre midi et deux heures. Ne mangeant pas à la cantine à midi, je me dépèchais de terminer mon repas à la maison pour me rendre dans ma chambre et bricoler. En écoutant la radio, et plus particulièrement Europe 1 (c'était avant les radios FM), et les histoires extraordinaires de Pierre Bellemare. Le problème était que ces histoires se terminaient en général vers 13h55, ce qui ne me laissait que 5 minutes pour me rendre au lycée, situé à plusieurs kilomètres de notre appartement. Heureusement, ma mobylette allait vite.

La machine qui m'a vallu le plus de succès, était paradoxalement celle que j'ai trouvé la plus simple à construire. Une flute à bec automatique. J'ai, et je suis sur que vous aussi, avez dû faire de la flute à bec lors de vos années de collège. J'ai décidé d'en faire une automatique. Le principe était simple : une soufflerie envoyait l'air dans la flute, et un papier perforé passait a vitesse lente devant les trous de la flute, faisant de la musique. Un genre d'orgue de barbarie. J'avais fabriqué cette machine juste avant Noël, et l'avais emmené à la fête de Noël qui cette année se passait chez mon oncle. Lors de l'apéritif, j'ai pu faire ma démonstration. O miracle, la machine a fonctionné parfaitement. Quel succès! J'étais la vedette de la soirée. Je peux vous dire que cette machine simple a fonctionné de nombreuses fois pendant ce Noël.

J'ai aussi beaucoup fabriqué des machines en carton avec force sotch et colle. C'était mon autre passion. J'avais un tel besoin de carton fort pour mes constructions que je le récupérait sur le fond des boîtes de jeux que j'obtenais pour Noël et Saint Nicolas (toutes mes boites de jeux n'avaient pas de fond). J'ai réalisé un grand nombre de machines en carton. La plus interressante était certainement la "machine à piquer les fesses". En terminale j'etais je dois dire, assez dissipé. Avec un groupe de 3 copains, nous étions assez inattentifs en cours. J'avais eu alors l'idée de fabriquer une machine à piquer les fesses. Le principe en était simple. On perce un trou dans la chaise en bois de la victime, et on place la machine collée en dessous de la chaise. Cette machine consistait en une aiguille mue par un moteur. Lorsque le moteur tourne, l'aiguille sort de la machine, passe par le trou de la chaise, et vient piquer les fesses de la victime. Le tout était piloté par une télécommande électronique que j'avais récupéré dans un vieux jouet. Cette machine fonctionnait parfaitement.
Le jour dit, avant le cours, j'installe la machine infernale sous le siège de la victime (une fille un peu "neuneu"). Le cours d'histoire-géo commence. Et en concertation avec mes complices, j'appuie sur la télécommande. La victime sursaute, et évidemment nous rigolons comme des bossus. J'ai pu provoquer plusieurs piqures avant qu'elle n'ai l'idée de voir en dessous de la chaise. Elle prend la machine et la pose sur son bureau, aiguille vers le bas. Evidemment je ne me prive pas d'appuyer sur la télécommande, et la machine fait des bonds de carpe sur le bureau devant la prof médusée.
Inutile de dire que j'ai eu un avertissement de conduite ce trimestre.

Toutes ces machines sont pour moi semblables à de la programmation. Il s'agissait de construire quelquechose, petit à petit, avec force erreurs et retours en arrière. Le plaisir était dans la construction (une fois les machines finies, je les faisait marcher quelque temps pour ensuite les démonter pour en faire d'autres). Serais-je né 10 ans plus tard, je serais directement passé à la programmation, sans faire ces bricolages.
En fait je ne regrette pas de ne pas être né 10 ans plus tard. Construire toutes ces machines était une expérience enrichissante et productive.

par Francois Lionet
ajouter un commentaire commentaires (0)    recommander
Mardi 25 mars 2008
Bienvenue.

J'ai longtemps repousse la création de ce blog. Voila plus d'un an que je me tâte. Vais-je le faire? Oui. Non. Exposer ma vie, mes erreurs, mes tricheries, mes aventures, mes voyages, c'est une décision importante. Bien que je sois un Nerd, un "anorak" comme disent les Anglais, j'ai vécu au cours de ma carrière d'auteur de logiciels un certain nombre de choses. Un grand nombre de choses, lorsque je regarde maintenant toutes les années passées depuis l'achat de mon premier "ordinateur", ma première TI57, en 1979.
Toutes ces choses on été distillées au cours des années. Un auteur de logiciel est un peu comme une tortue. Il n'avance pas vite. Après tout je n'ai que 10 doigts pour taper sur le clavier. Et en fait je n'ai jamais reussi a taper sur un clavier avec plus de 6 doigts.
Un programmeur ne fabrique réellement pas plus de quelques centaines de lignes par jour, pour les meilleurs jours. Ceux qui vous disent fabriquer 1000 lignes dans une journée sont des menteurs. Bon, il m'est arrivé de fabriquer 1000 lignes dans une bonne journée, mais sans les corriger avec le débuggeur. La journée après 1000 lignes est une journée entière de débuggage, pas à pas dans le moniteur.
Donc, un auteur de logiciel cela ne va pas vite. La production des lignes est une procédure éprouvante. Le soir d'une bonne journée de programmation, je suis à a ramasser à la petite cuillère. Eprouvant, cependant les journées passent si vite! Je me mets en route le matin, plonge sur le clavier. Travaille, tape, pense, crée. Midi arrive. Vite. Puis l'après midi. Je replonge dans mon moniteur. Ma mère quand je travaillais encore à la maison me demandais ce que je pouvais bien faire des heures devant cette télé. Je programme maman! Et j'aime ça. Je ne sens pas le temps passer.
Programmer est une seconde nature pour moi. Et je pense partager cela avec tous les programmeurs du monde. Je parle des vrais programmeurs, ceux qui ont commencé naturellement, en achetant une calculatrice programmable, un ordinateur personnel hors de prix. Ceux qui ont appris la programmation dans les livres, du genre "programmation pour les nuls". Ceux qui ont fabriqué leurs propres jeux car ils ne trouvaient pas l'équivalent dans le commerce.
Etre un programmeur est inné. J'étais né pour l'être. Serais-je né au siècle dernier, j'aurais fabriqué des machines (j'en ai fabriqué dans ma jeunesse), réalisé des projets, monté des trucs et des machins.
Un programme n'est en fait qu'une grosse "machine", montée de toutes pièces par les programmeurs. Pièce par pièce, routine après routine, tous les rouages du programme s'imbriquent les uns avec les autres pour finir par fonctionner ensemble, le mieux possible. C'est du bricolage virtuel.
Me voila donc, en train de commencer ce blog. Quand j'y pense j'ai tellement de choses à dire. Un Nerd, c'est ce que j'ai été, suis, et serais jusqu'à ma retraite.
Bienvenue dans mon blog. Celui d'un "Auteur de Logiciels"...
par Francois Lionet
ajouter un commentaire commentaires (0)    recommander

Présentation

Créer un Blog

Recherche

Calendrier

Mai 2008
L M M J V S D
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
<< < > >>
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur avec TF1 Network - Signaler un abus