IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

La taverne du Club : Humour et divers Discussion :

Comment un bon deal commercial nous a fait sous-estimer le BASIC

  1. #1
    Membre émérite
    Homme Profil pro
    Expertise comptable
    Inscrit en
    Décembre 2019
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Expertise comptable
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2019
    Messages : 834
    Points : 2 860
    Points
    2 860
    Par défaut Comment un bon deal commercial nous a fait sous-estimer le BASIC
    Ci-joint un résumé d'un article de Liam Proven paru sur Theregister que j'ai trouvé assez intéressant :

    Un arrangement commercial assez astucieux a peut-être nui à la réputation d’un langage important.

    Une génération de passionnés d'informatique aux cheveux gris a appris à programmer grâce au BASIC sur les ordinateurs personnels des années 1980. Depuis, les professionnels le méprisent. Pourquoi ?

    Il y a cinquante ans, l’ordinateur Altair 8800 d’Ed Roberts (MITS) faisait la couverture de l’édition de janvier 1975 du magazine Popular Electronics. Cette apparition a inspiré deux étudiants à développer un interpréteur BASIC. Quelques mois plus tard, ces derniers fondait une entreprise pour le commercialiser.

    Ils n’ont pas inventé le BASIC. Celui-ci a été co-développé par le professeur Thomas Kurtz, décédé en novembre à l’âge de 96 ans, et son collègue John Kemeny (mort en 1992). À cette époque, de nombreuses personnes ont exprimé leur gratitude pour le travail de Kurtz et leur nostalgie pour le BASIC, qui a changé la vie de beaucoup.

    Cependant, pour beaucoup d’autres, notamment ceux entrés dans le monde de l’informatique après les années 1980, le BASIC est perçu comme un jouet. Comme l’a dit le grand informaticien néerlandais Edsger Dijkstra :

    Il est pratiquement impossible d'enseigner une bonne programmation à des étudiants ayant été exposés au BASIC : en tant que programmeurs potentiels, ils sont mentalement mutilés au-delà de toute espérance de régénération.
    (À noter qu’il détestait également FORTRAN, PL/I, COBOL et APL.) Son article Comment dire des vérités qui peuvent blesser (1975) était sans doute un peu ironique. Mais il est souvent oublié que cet article date d’avant l’ère des micro-ordinateurs. Le BASIC original de Dartmouth était un compilateur, très différent des versions ultérieures.

    L'évolution du BASIC

    Le BASIC a pourtant évolué. Dès 1979, l'Acorn Series 1 et l’Acorn Atom de 1980 proposaient un BASIC intéressant avec des boucles DO...UNTIL, des vecteurs, des commandes graphiques bitmap, etc.

    En 1981, le BBC Micro introduisait le BBC BASIC, qui permettait l’utilisation de procédures nommées avec des variables locales, facilitant les expériences de récursion. Il intégrait aussi un langage d’assemblage en ligne. Le BBC BASIC existe encore aujourd’hui grâce à Richard Russell, qui a porté ce langage sur le Zilog Z80 en 1983.

    Dans les années 1980, quasiment tous les ordinateurs étaient livrés avec une version du BASIC. Même l’IBM PC en proposait une en ROM. Microsoft, qui a fourni le BASIC pour l’Altair 8800, en a fait une pierre angulaire de son succès. Aujourd’hui encore, Visual Basic .NET reste une offre de Microsoft.

    Un accord avantageux

    Au lancement, le Commodore 64 (C64) coûtait 595 $ (1 945 $ en 2025, soit plus de 1 600 £). Ce n'était pas bon marché. Réutiliser l'ancien BASIC a permis une économie considérable : le C64 ne disposait que de 20 kB de ROM, répartis sur trois puces : huit kilooctets pour le BASIC, autant pour le système d'exploitation Commodore KERNAL, et une ROM de caractères de quatre kilooctets. À titre de comparaison, le BBC Micro avait 32 kB de ROM, occupant la moitié de l'espace mémoire du processeur 6502. (C'est pour cette raison que le jeu classique Elite, tout en laissant de la place pour l'affichage, a dû se limiter à 22 kB.)

    Un autre facteur est que Commodore n'avait pas à payer pour le BASIC. À l'époque, le défunt Jack Tramiel, alors patron de Commodore, était un négociateur redoutable. Dans les années 1970 – comme le soulignait The Register en 2007, lorsque Commodore dominait le monde – Tramiel racontait sa négociation avec le jeune Bill Gates de Micro Soft :
    « Il m'a dit que je n'aurais pas à lui donner d'argent [à l'avance]. Il voulait simplement 3 $ pour [chaque unité vendue] », a déclaré Tramiel. « Je lui ai répondu que j'étais déjà marié. » Tramiel a insisté pour ne pas dépasser un paiement total de 25 000 $, et six semaines plus tard, Gates a accepté.

    Grâce à Tramiel, Commodore a obtenu un accord très avantageux. L'entreprise n'a même pas payé de redevances – mais cela signifiait aussi qu'il n'y aurait pas de mises à jour. Résultat : Commodore Business Machines (CBM) a utilisé pratiquement le même BASIC pour le PET, le VIC-20 et le C64. Il n'a subi que des ajustements mineurs pour le matériel, même si ce dernier évoluait considérablement : le PET n'avait ni graphismes, ni couleurs, juste un bip ; le VIC-20 disposait de 3,5 kB de RAM et de graphismes limités en 176×184 pixels ; et enfin, arriva le C64, tout-en-couleur et tout-en-musique.

    Apprendre à programmer

    Lorsqu'une personne commence à programmer un ordinateur pour la première fois, elle s'assoit devant la machine et saisit du texte. Dans toutes les langues sauf les plus ésotériques, elle tape des mots – des mots ressemblant à l'anglais, car, grâce à son alphabet et sa grammaire, l'anglais est l'une des langues humaines les plus faciles à lire, écrire et comprendre.

    Ainsi, vous vous asseyez à un clavier, même virtuel, et vous tapez des mots, des nombres et de la ponctuation. C'est tout ce qu'un débutant doit savoir : comment saisir du texte et comment le corriger en cas d'erreur.

    Mais BASIC ajoute une couche supplémentaire à cette interactivité : il intègre aussi un modèle de stockage. Si l'utilisateur tape une commande, l'ordinateur essaie de l'exécuter. Mais s'il attribue un numéro à cette commande, l'ordinateur ne l'exécute pas immédiatement : il la mémorise pour plus tard.

    C'est une métaphore profonde et importante. Elle élimine toutes les absurdités héritées des "fichiers", "dossiers", "éditeurs" et "compilateurs" qui datent des mini-ordinateurs des années 1960, à l'origine de tous les systèmes d'exploitation modernes. Les débutants n'ont pas besoin de ce bagage. Qu'ils l'apprennent plus tard, s'ils démontrent un réel talent et souhaitent poursuivre en programmation.

    Tapez une expression simple : l'ordinateur l'exécute. Ajoutez un numéro : l'ordinateur la retient pour plus tard. C'est tout ce qu'il faut pour commencer à écrire des logiciels.

    Cela élimine le concept hérité de "fichier". Les fichiers ont été inventés comme un mécanisme d'indirection. Ils sont un index nommé, un pointeur permettant de localiser des morceaux de données sur le stockage secondaire – autrement dit, sur le disque plutôt que dans la mémoire. Un novice ne connaît pas la différence entre RAM et disque, et il ne devrait pas avoir à la connaître. Ce sont des détails d'implémentation. Ils devraient être aussi invisibles que l'adresse mémoire du contrôleur de disque.

    C'est un des grands problèmes des recommandations actuelles qui proposent Python comme remplaçant moderne de BASIC. Python est un langage de script, un interpréteur qui fonctionne sur un autre système d'exploitation. Certes, on peut l'utiliser de manière interactive grâce à un REPL, mais pour écrire des programmes, il faut un éditeur de texte pour créer un fichier contenant le code Python.

    Les débutants ne devraient pas avoir à savoir ce qu'est un "fichier", un "éditeur", ni qu'ils ont besoin d'un "éditeur" pour manipuler leur "code source" dans des "fichiers". C'est une dette technique pure et simple : ce sont des détails d'implémentation qui devraient être invisibles.

    Cela vaut encore plus pour les distinctions entre "compilateurs" et "interpréteurs", ou entre "code source" et "code binaire". Ce sont des détails hérités que des systèmes ont déjà cachés il y a des décennies. Les utilisateurs ordinaires et les débutants en programmation ne devraient pas avoir à les connaître.

    La chute du BASIC

    En Europe, Acorn a marqué les esprits avec son matériel, mais c'est Commodore qui a dominé le marché américain. Le Commodore 64, surnommé "le micro 8 bits le plus vendu", était livré avec une version basique (et peu évoluée) de Commodore BASIC.

    Ce choix a permis à Commodore de réduire les coûts, mais au prix d’un BASIC inadapté aux capacités graphiques et sonores avancées de la machine. Les utilisateurs devaient se rabattre sur des commandes PEEK et POKE ou passer directement à l’assembleur pour exploiter pleinement le matériel.

    Bien que le C64 ait été un immense succès commercial, ce BASIC dépassé a contribué à ternir la réputation du langage.

    Réévaluer le BASIC

    Le BASIC a été critiqué pour ses limitations, mais il avait une caractéristique essentielle : il simplifiait l’apprentissage. Contrairement aux langages modernes comme Python, le BASIC n'exigeait pas de comprendre des concepts comme les fichiers, les éditeurs ou les compilateurs.

    Avec le BASIC, taper une commande l'exécutait immédiatement. En ajoutant un numéro de ligne, l'instruction était stockée pour plus tard. Cette simplicité a permis à des générations de débutants de s'initier à la programmation sans avoir à naviguer dans des systèmes de fichiers ou des éditeurs complexes.

    Leçons pour l'avenir

    Si nous voulons vraiment démocratiser l’apprentissage de la programmation, nous devrions envisager de revenir à des outils simples et accessibles comme le BASIC. Cela ne signifie pas ignorer les avancées des langages modernes, mais plutôt repenser les concepts hérités de l'informatique des années 1960, comme les systèmes de fichiers, et les rendre invisibles pour les débutants.

    Les langages éducatifs doivent offrir un apprentissage progressif, avec des concepts simples comme les numéros de ligne, des commandes claires, et une transition fluide vers des paradigmes plus avancés.

    Comme Dijkstra l’a dit :

    La compatibilité signifie répéter volontairement les erreurs des autres.
    Peut-être est-il temps de réexaminer ces erreurs, et de simplifier, pour de bon, les bases de la programmation.

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Janvier 2025
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2025
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    Sous windows je conseille AutoIt...Pour faire des petits utilitaires,il est imblocable
    Documentation impeccable...passable de variable par reference...bibliothèque ultra fournie...tableaux variables

    https://drive.google.com/file/d/114q...ew?usp=sharing
    Le fichier de syntaxe complet pour RJtextED

    https://www.autoitscript.com/forum/t...ner-koda-1730/
    Et un GUI designer

    5000 lignes de code pour un programme...aucun bugs

    Par contre très lent...Mais interfaçable en dynamique avec du C


    IL faut faire attention a ne pas devenir fainéant au moment ou il faudra utiliser des langages plus complexes

  3. #3
    Membre émérite
    Homme Profil pro
    Expertise comptable
    Inscrit en
    Décembre 2019
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Expertise comptable
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2019
    Messages : 834
    Points : 2 860
    Points
    2 860
    Par défaut
    Citation Envoyé par dee phoenix Voir le message
    Sous windows je conseille AutoIt...Pour faire des petits utilitaires,il est imblocable
    Documentation impeccable...passable de variable par reference...bibliothèque ultra fournie...tableaux variables
    Merci pour le conseil !! Je vais y jeter un coup d'œil.

    Citation Envoyé par dee phoenix Voir le message
    IL faut faire attention a ne pas devenir fainéant au moment ou il faudra utiliser des langages plus complexes
    Effectivement... Je suis un amateur "éclairé" (mais bas de plafond ) et en débutant, après quelque script sous linux et du C arduino je me suis naturellement dirigé vers le C et même si j'arrive à faire quelques trucs honnêtement je ne comprends pas un traitre mot de ce que je fais réellement, je génère du code via la doc et Mistral Ai mais je ne progresse pas, face à une page blanche je ne sais rien faire. Python je n'aime pas du tout, mais j'ai toujours eu plus d'affinité avec le C comme j'avais commencé avec Arduino.

    Parallèlement je me suis beaucoup amusé avec le projet des mecs qui animent le forum thebackshed.com qui ont développé un port de MMBASIC vers le Raspberry pico dont le picomite VGA qui permet une sortie VGA + le raccordement d'un clavier et c'est la que j'ai vraiment fait des "progrès" en autodidacte. J'en fait pour mes neveux qui sont toujours passionnés quand ils voient mon repère de barbu pleins de fils et de machines

    L'article est pas faux dans le sens ou je trouve que c'est un plaisir de pouvoir taper simplement PRINT "hello world" et que ça fonctionne, impossible de plier l'OS vu qu'il n'y en a pas, on peut expérimenter ce qu'on veut. Avant de coder il faut avoir un cerveau qui est ouvert aux solutions qu'offre le codage, c'est pas évident d'avoir ce feeling quand on ne fait que copier le code de tutos ou de forum ou pire, celui des IA.

    Malgré la limitation du pico les mecs qui animent ce forum font des super petits jeux en interface graphique, un gestionnaire de fichier vraiment complet, un outil de dessin, etc etc. La créativité ! C'est rigolo aussi : je suis né en 1990 mais je me retrouve à parler BASIC avec mon père qui l'utilisait avant que je sois né.

    Je développe actuellement un petit jeux de plateforme assez simple et uniquement avec la doc et la lecture du code des autres j'arrive à utiliser les outils de développement graphique et la notion de layer, de couche de transparence. Mais aussi la structuration du code puisque c'est moins évident qu'en C, la gestion de la mémoire puisqu'on est sur un pico avec une forte contrainte matérielle.

    Faute de prof je trouve que c'est plus facile de progresser dans un environnement contraint qu'avec du C ou python ou tout est possible... avec une librairie qu'on ne comprend pas !

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Janvier 2025
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2025
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    En open source...Il y a aussi 'Defold' et 'godot' pour créer des jeux multiplate-forme

    Concernant le C...Étant un amateur aussi...Je conseille de comprendre la mécanique des pointeurs...Sur ce site,il y a d’excellent tutos...Voir même carrément des bons manuels de référence sur ce langage
    https://drive.google.com/file/d/1wW6...ew?usp=sharing

    Concernant AutoIt...Je vois que tu es expert_comptable...
    AutoIt est interfaçable avec EXCEL...J'ai déjà utilise cette fonctionnalité et cela fonctionne parfaitement

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Janvier 2025
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2025
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    https://drive.google.com/file/d/1VeI...ew?usp=sharing

    Du code source que j'ai produit en AutoIt

  6. #6
    Membre émérite
    Homme Profil pro
    Expertise comptable
    Inscrit en
    Décembre 2019
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Expertise comptable
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2019
    Messages : 834
    Points : 2 860
    Points
    2 860
    Par défaut
    Citation Envoyé par dee phoenix Voir le message
    Concernant AutoIt...Je vois que tu es expert_comptable...
    AutoIt est interfaçable avec EXCEL...J'ai déjà utilise cette fonctionnalité et cela fonctionne parfaitement
    Je suis juriste d'affaire mais je passe ma vie avec des experts comptables et ce que tu me dit la est très intéressant ! Merci beaucoup pour ces liens je vais avoir de quoi m'occuper ce week end !!!

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Janvier 2025
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2025
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    J'en remet une couche (La dernière...promit)


    https://drive.google.com/file/d/160X...ew?usp=sharing
    Un environnement portable pour programmer en AutoIT

    Le seul point noir c'est que je n'arrive pas a activer l "auto-completion"

    A+

Discussions similaires

  1. [Débutant] Comment créer une liste à partir de faits ?
    Par gicquairea dans le forum Prolog
    Réponses: 2
    Dernier message: 16/08/2007, 15h57
  2. [Delphi - Firebird] Comment faire bon usage des transactions?
    Par Lili21 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 07/05/2007, 21h59
  3. Réponses: 7
    Dernier message: 23/04/2007, 11h57
  4. Comment refaire le textarea que nous avons pour poster ?
    Par Etanne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/05/2006, 23h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo