Un interlude

Ti-59.png

Les calculatrices programmables c'est assez particulier, ce modèle-là (piqué à mon frère) ne m'a pas convaincu, Il ne se prêtait pas vraiment à faire des jeux graphiques il faut bien le dire. J'ai quand même passé du temps sur des problèmes de balistique, j'avais émis l'idée de jouer au tennis avec la bête, en fait c'était plutôt moi le bête LOL

Premier pas en programmation

Oric.png 6502.png

Aussi dès que j'ai pu je me suis acheté ça ! Et à moi la découverte du MSBasic sur un écran riquiqui et la Hires de 240x200 avec effet de zone pour les couleurs. Je me suis senti très vite limité, par la vitesse et la place mémoire. C'est là que j'ai passé du temps, mais vraiment passé beaucoup de temps pour comprendre le langage machine et forcément les composants machines (il n'y en avait pas temps que ça en plus). Et il n'y avait pas internet, je me souviens avoir fait à l'époque 70km allé-retour en mob dans la nuit tombante en hiver pour acheter un petit fascicule sur la ROM de l'Oric ... Du coup j'ai donc tâté du langage machine 6502, j'ai commencé par amélioré un assembleur / désassembler trouvé dans un magazine informatique (MICRO SYSTEMES pour ne pas le nommer). Ce qui a donné naissance à un jeu : un serpent qui grandi dans des labyrinthes fixes, inspiré du programme pomme (en basic sur cette machine) particulièrement addictif.

Là j'avais déjà fait un premier bilan, je ne suis pas graphiste, et une fois les difficultés levées et le problème résolu je me désintéresse très vite et ne finalise pas, j'ai l'impression de perdre alors mon temps :-(

Une confirmation ?

Atari520ST.png 68000.png

Je suis passé ensuite à ça ! Et ça m'a coûté bonbon en pognon mais l'écran noir et blanc en 640x400 était vraiment super ! De même que pour la précédente machine le StBasic m'a très vite gavé (surtout qu'au départ il n'y avait qu'une ROM d'amorçage), je suis donc parti à nouveau vers le langage machine avec tout le lot de découverte qui m'attendait. J'ai passé là encore énormément de temps à comprendre les subtilités du 68000 et deux de ses compères le chipset graphique et le chipset son.

Là aussi nouveau bilan, je m'amuse beaucoup à explorer, à tester, à me documenter, mais je ne produit rien de conséquent en retour. :-(

Une parenthèse

Amiga500.png

Je me suis aussi laissé convaincre de l’achat d'occasion de celui-ci ! Même processeur 68000 mais des chipsets son et vidéo beaucoup plus puissants, avec des langages particulier (playlist). Sauf que cette machine était totalement instable et très difficile à apprivoiser, je ne me suis pas casser les dents dessus, parce que je ne me suis pas autant intéressé que cela à la comprendre.

Les langages

PC.png

Finalement je suis passé au PC ! Au moment ou celui-ci prenait enfin des couleurs et de la résolution 640x480 en EGA, mais bon ce n'était pas non plus encore ce que l'on connait maintenant ;-)

C'est aussi avec cette machine que je me suis intéressé à des langages plus évolués, d'ailleurs je n'ai pas vraiment accroché au langage machine des 86 (voir 87) surtout avec toutes les déclinaisons qui sont apparues par la suite qui rajoutait des codes des plus variés ...

Je me suis alors essayé au QuickBasic, puis au C, puis au C++, une lecture rapide du C#, mais sans réelle conviction. Plus récemment j'ai préféré utilisé Python (pour de menu outils) à Ruby (les possibilités de sa syntaxe m'ont fait fuir :-) )

La révolution Internet

InterNeT.png

Et puis avec l'évolution des techniques, des matériels et de l'ADSL LA question a finie par se poser : ne devrais-je pas maintenant m'essayer à la programmation orientée client / serveur ? Et bien c'est ce que j'ai fait, mais alors quelle surprise ! C'est un vrai bordel !!! :-(

Epilogue

Asteroid.png

Déjà il faut un environnement de test, je n'allais pas m'amuser à installer à la mimine Apache, Php et MySQL, j'ai donc opté pour Wamp et plus récemment UwAMP. C'est même suffisant pour un réseau local (même si c'est déconseillé)

  • Ensuite j'ai appris les rudiments du HTML, xHTML, voir XML, sachant que le HTML5 est en train de faire son apparition mais que je ne me suis pas encore vraiment penché sur la question. C'est la structure de la page. Rien de bien sorcier, ce ne sont après tout que les éléments de base de la page.
  • J'ai continué sur le CSS, la mise en forme des pages. Là ça se complique un peu, mais cela reste la mise en forme des éléments de la page.
  • puis le javascript, le véritable langage des pages. Là ça se complique un peu plus c'est vraiment un monde différent et la syntaxe est parfois terrible !
  • côté serveur, php m'est apparu comme un langage assez propre et très proche de ceux que je connaissais déjà. Bien que des préoccupation de sécurité doivent restées présentes lors de l'utilisation de formulaire, eux même un peu déroutant, en particulier l'upload de fichier.
  • toujours côté serveur le langage SQL est plus déroutant, je ne suis pas encore entré dans des syntaxes très compliquées, mais tout comme pour le php, il faut faire gaffe à la sécurité.

Ensuite on va de surprise en surprise avec les navigateurs IE, Firefox, Chrome et Opéra (pour les principaux). Le rendu des pages n'est pas le même, les commandes javascript marchent ou non. Il faut alors jongler avec tout ça, en s'arrachant les cheveux de temps en temps.

  • AJAX entre alors dans la danse, mais c'est plus dans la conception du site et de son dynamisme qu'un langage.
  • puis il y a le HTTPS, pas forcément intuitif dans son implémentation.

Une autre surprise le passage chez l'hébergeur, des modules apache ou php peuvent être absents, des restrictions peuvent existées. Quelle joie alors de rechercher des solutions de remplacement.

Conclusion

Defi.png

Pour un programmeur habitué à tout définir à l'avance, à tout avoir accessible tout de suite, des variables pérennes tout le long de l'utilisation de son application, un seul langage, une seule instance, des bibliothèques et des ressources en local, c'est une vraie gageure de devoir tout remettre à plat. Les optimisations à rechercher ne sont pas non plus les mêmes pas seulement en terme de bande passante, mais aussi dans le cas de mutualisation des ressources du serveur.

Si en plus vous ne développez pas tout de A à Z (comme moi), il faut en plus faire cohabiter des modules d'origines diverses et variées, plus ou moins compatibles entre eux. Par contre internet est un allié de poids dans la recherche de solutions et de documentation !

Pour conclure je dirai que c'est une activité chronophage mais bigrement intéressante pour celui qui aime les défis à la con LOL Et quelle satisfaction quand enfin ça marche !

Bye !