BASIC classique a-t-il déjà été utilisé pour le développement de logiciels commerciaux et, dans l'affirmative, comment a-t-on surmonté les limites?

46

Beaucoup d’entre nous, y compris moi, ont commencé leur vie de programmation avec des programmes écrits sur des ordinateurs personnels , quelque chose comme:

10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "AGAIN?"
50 INPUT A$
60 IF A$="Y" THEN GOTO 10
70 END

Bien entendu, le BASIC basé sur le nombre de lignes était enclin à la création de code spagetti, également parce que la plupart des dialectes BASIC manquaient d’instructions structurelles telles que « WHILEfaire tout sauf la FORboucle» IF, GOTOet GOSUB. Je parle des dialectes BASIC avant 1991, lorsque QBASIC et Visual Basic sont apparus.

Bien que les dialectes BASIC aient pu promouvoir le mauvais style parmi les programmeurs en herbe, existe-t-il de plus grands projets commerciaux créés dans un tel dialecte BASIC? Si tel est le cas, comment ont-ils réussi à vivre et à résoudre les lacunes évidentes?

Par "sérieux", je veux dire:

  • Pas un jeu (je sais que certains jeux commerciaux ont été écrits en BASIC, par exemple, Pimania )
  • Pas de freeware
  • Pas anodin, c'est-à-dire raisonnablement grand (disons: au moins 1500 LOC )
  • Vendu à plusieurs clients (pas un développement interne)
  • "Mission critique" est un plus
utilisateur281377
la source
30
Were those BASIC dialects only used to teach aspiring programmes bad styleHm ... C'est mauvais style maintenant mais ce n'était pas à l'époque.
Yannis
9
Dartmough BASIC a été conçu en 1964 (et c’est intéressant, c’était un langage compilé), une époque dominée par FORTRAN.
Yannis
8
En supposant que vous tentiez de calculer la circonférence d'un cercle, le style n'est pas la seule mauvaise chose que je vois ici.
William Jackson
5
I'm seriously pissed off that this question was closed during the "History" contest.Hé, vous avez manqué une excellente occasion d'obtenir des points de vue supplémentaires sur la question en soulevant celle-ci sur Meta.
Yannis
15
99% de tous les logiciels écrits sont des applications métiers conçues en interne et, par définition, les rendent aussi sérieuses que possible.

Réponses:

48

Sûr. Avant les événements Altair / MITS / SWTPC / Kim / Sinclair / Animaux domestiques / RadioScrap / OSI / Apple, il existait une ravissante petite machine appelée IBM 5100 . Il avait BASIC en ROM , un grand lecteur de cassettes (ou deux), 8 Ko de mémoire. un écran de 24 lignes et une imprimante, le tout pour un maigre USD 10 000 - un ordre de grandeur moins cher que votre mini typique. Construit à l’origine pour les scientifiques ( APL en ROM était également une option), mais quelques types de comptabilité l’ont alors découvert et ont lancé un véritable engouement: chaque petite entreprise en voulait un. Avec un logiciel personnalisé, bien sûr. Le 5110 a suivi cela, les lecteurs de bande ayant été remplacés par des disquettes de 8 pouces.

Un logiciel commercial? Galoons .

Pouvez-vous dire grand livre, paie, comptes fournisseurs, comptes clients, contrôle des stocks et facturation? Je suis allé là-bas, j'ai fait ça - en BASIC. Factures de services publics, stocks de voitures neuves et usagées, ramassage de camions à ordures et calendrier de livraison des boissons? Yup - BASIC. Voulez-vous suivre le minerai de fer des mines sur les trains sur les navires ... BASIC. Tout ce qui n’était pas surélevé se faisait probablement en BASIC. Commercialement, je veux dire. (Parce que RPG II ne compte pas ;-).

Comment at-on contourné les limitations?

Eh bien, la première chose que vous avez faite a été de renvoyer le client à IBM pour davantage de mémoire, car qui pourrait écrire quoi que ce soit d’important en 8 Ko? Il fallait simplement en avoir 16. Et si possible, avec deux lecteurs de bande, la théorie des automates mise à part, le tri par fusion sur une seule bande est un peu lent.

Oh, pardon, vous vouliez parler des limites de BASIC.

Eh bien, vous deviez gérer vos ressources avec précaution - des choses comme les numéros de ligne - parce que vous ne vouliez pas en manquer; Il est très pénible pour l’arrière de devoir renuméroter une section entière et de la saisir à nouveau, sans perdre accidentellement une ligne ou deux de code.

Nah - je plaisante. Nous n’avions pas eu ce problème jusqu’à ce que les ordinateurs personnels, avec un interpréteur BASIC, ne puissent pas renuméroter par eux-mêmes.

Nous avons également utilisé la modularité - vous avez appelé un nouveau programme, l'avez exécuté jusqu'à ce qu'il s'arrête et que vous reveniez au programme appelant. Un gosub sur stéroïdes (parce que vous avez plus de mémoire à utiliser), mais beaucoup plus lent (car il a fallu un certain temps à la machine pour trouver le programme sur la bande, puis le charger, puis rembobiner et trouver le programme original et le charger. retour...). Un peu comme un fork et un exec, mais sans le fork, mais en mieux parce que tout l’espace mémoire était partagé.

L'utilisation rigoureuse des conventions a également aidé - vous savez, comme "vous DEVEZ toujours cibler un GOSUB sur une ligne de commentaire qui dit ce que cette routine fait, et vous DEVEZ faire de même pour un GOTO lorsque cela est possible. Des choses comme ça. Oh, et structuré programmation , un peu plus tard - "par convention" à nouveau.

Certains sont même allés un peu à l'extrême: OAOO , YAGNI , TSTTCPW , l'appariement, le refactor sans merci, ce genre de choses. Pas par ces noms, bien sûr. (Voir aussi: Ecclésiaste ;-)

Les jours de gloire.

Jim Sawyer
la source
4
Parmi toutes les bonnes réponses, j’ai choisi celle-ci parce qu’elle n’a pas encore eu beaucoup d’amour (upvotes) et aussi parce qu’elle souligne l’utilisation de BASIC pour les logiciels commerciaux sur micro-ordinateurs avant l’émergence des ordinateurs personnels.
user281377
1
Votez pour votre excellente réponse et faites référence à l'un des meilleurs livres de la Bible :)
Rocklan
46

Le premier logiciel sur lequel j'ai travaillé était un programme GW-BASIC de 8 000 lignes que la société avait écrit dans les années 80 pour utiliser le calcul de transfert de chaleur pour le dimensionnement et la tarification des équipements de chaudière. Bien que le code soit complètement incompréhensible, il a si bien fonctionné qu’ils l’utilisaient depuis plus de 20 ans.

C’est la force de BASIC qu’un ingénieur en mécanique disposant d’un manuel de référence puisse écrire un logiciel utilisable de qualité (à l’époque). Avant BASIC et la prédominance du PC, une telle chose aurait été inconnue. Vous auriez besoin d’embaucher une équipe d’ingénieurs en informatique et éventuellement d’opérateurs informatiques pour programmer et travailler à partir d’un ordinateur central partagé. Tout cela aurait été beaucoup trop complexe pour qu'un ingénieur en mécanique typique puisse le comprendre en peu de temps.

Donc, certes, BASIC était très utile au-delà des passionnés d’informatique à domicile, c’était la première fois que de nombreuses entreprises se sont lancées dans l’écriture de logiciels personnalisés à un prix abordable, sans équipes d’experts.

maple_shaft
la source
Absolument, ça. - ^^^
Robert Harvey
30

Oui, de nombreux produits commerciaux et d’autres développements "sérieux" ont été réalisés sous BASIC. Pour comprendre pourquoi, vous devez comprendre le contexte des années 1970 et 1980, au cours desquelles BASIC s'est développé autour des mini-ordinateurs et des micro-ordinateurs.

À l'époque, les machines étaient parfaitement maigres par rapport aux normes actuelles. Les processeurs étaient cadencés à quelques MHz (souvent beaucoup moins pour les micro-ordinateurs) et disposaient de moins de mémoire que ne l'occuperait le code HTML nécessaire au rendu de cette page. Si vous envisagiez de déployer un produit, vous deviez utiliser les outils disponibles, à savoir un assemblage nu-nu et, sur micro-ordinateurs, l'interpréteur BASIC livré en ROM (souvent 16 Ko dans un espace d'adressage de 64 Ko) avec le système. . D'autres langues étaient disponibles, mais beaucoup n'avaient pas toutes les fonctionnalités structurées que nous prenons pour acquises. Cela tenait beaucoup au fait que la mémoire était rare *, aucune d’elle n’était virtuelle, sauf sur des systèmes très haut de gamme, et il n’y en avait généralement pas assez pour contenir un compilateur dans un langage plus sophistiqué. Avec des ressources aussi limitées, "sérieux"

Votre argument selon lequel les concepteurs des premiers ordinateurs personnels auraient dû mieux connaître et fournir un langage structuré ne fonctionne tout simplement pas dans ce contexte. Cela n’allait tout simplement pas se produire avec la technologie disponible à un prix que les gens pourraient supporter.

La manière dont nous avons résolu les problèmes de langue était simple: nous ne les avons pas vus de cette façon et avons terminé le travail avec ce qui était disponible. ANSI Minimal BASIC est structuré de la même manière que le langage d'assemblage, en ce sens que vous obtenez la plupart des mêmes types d'appels de branchement et de sous-programme simples, mais qu'il vous appartient de vous assurer que les étoiles sont correctement alignées. La seule exception est la FOR..NEXTconstruction utilisée pour créer une boucle. Essentiellement, si vous vouliez développer quelque chose dans BASIC et le faire bien, vous deviez planifier et comprendre la structure de vos programmes avec autant de soin que si vous les écriviez en assemblage. Les outils de débogage disponibles étant très primitifs, vous deviez donc agir ensemble si vous voulez que vos programmes fonctionnent et puissent être maintenus.

Oui, il y avait beaucoup de spaghettis à l'époque, mais je n'ai pas encore vu de langue où il est impossible d'écrire un code incorrect.


* La mémoire atteignait environ 750-1 000 USD par Mo au début des années 1980. Ajusté pour tenir compte de l'inflation, il s'agit de 1 600 à 2 200 USD en dollars de 2010. La même année, le coût par mégaoctet était d'environ 0,03 USD.

Blrfl
la source
Je me souviens avoir payé environ 1 000 dollars US pour une carte mémoire EMS de 2 mégaoctets dans les années 1980. L’ordinateur sur lequel il est entré, un kit de clonage pour PC basé sur NEC V20, coûte environ 2500 dollars.
jfrankcarr
LOL, je me souviens que nous devions faire signer un bon de commande par le président de la société pour acheter une carte mémoire de 64 Mo pour un VAX à la fin des années 80. Pour être juste, il s'agissait d'une mémoire ECC à double accès, mais elle coûtait quelque part autour de 30 000 dollars ...
TMN
Il existait des applications métier écrites en BASIC, dont certaines vendues à prix coûtant, et une application métier de vente à chaud, écrite en BASIC, pour APPLE] [ou CommodorePET, ou Atari, ou IBM, ou les micro-ordinateurs du début des années 1980 pourraient en vendre 100 à 500 exemplaires, à des prix unitaires d'environ 100 $. À l'époque, rien ne ressemblait au produit logiciel moderne, car les ordinateurs étaient petits à l'époque et les logiciels étaient minuscules. Ni base, ni C, ni assembleur, ni aucune autre langue moderne, n’auraient changé cela.
Warren P
Dans les années 80, l'ordinateur central de nos collèges locaux a bénéficié d'une mise à niveau de 10 Mo à 50 Mo. Certes, le 10Mo n'était qu'à moitié plein, mais ils voulaient avoir assez d'espace pour le futur prévisible ... Imaginons un disque dur avec seulement 50 Mo pour environ 50-100 utilisateurs ... étant trop fatal.
SoylentGray
22

Mon premier travail de programmation à 100%, dans les années 1980, consistait à travailler sur un logiciel de comptabilité de marché vertical initialement écrit en GW-BASIC . Il avait été porté sur QuickBASIC 3.0, mais il conservait la quasi-totalité des défauts associés aux premiers dialectes BASIC. Il y avait des tonnes de GOTO et beaucoup de structures pauvres. Il y avait environ une douzaine de modules (inventaire, grand livre, etc.) et le programme était vendu pour environ 1 000 USD - 2 500 USD par module, plus des contrats d'assistance annuels. Les revenus de la société se situaient entre 15 et 25 millions de dollars US par an.

En ce qui concerne la façon de vivre avec des lacunes, de nombreuses limitations ont été contournées en utilisant le langage machine ou MASM . Il était courant d'utiliser les commandes PEEK et POKE pour insérer le langage machine dans des programmes BASIC. J'ai écrit les programmes MASM (et plus tard C) pour étendre le programme en ajoutant des éléments tels que le support de base de données rudimentaire, les communications et les "graphiques" textuels.

Peter Mortensen
la source
12
Je vous plains, à moins bien sûr que vous ayez eu droit au 15 mil.
Spencer Rathbun
@SpencerRathbun - Malheureusement, mon salaire était plutôt bas, environ 35 000 dollars aujourd'hui.
jfrankcarr
Eh oui, mon premier travail de programmation était dans Quickbasic 3. Ce n'était pas un port, mais ce n'était pas beaucoup mieux. La partie principale avait été réalisée par une personne dont la "formation" lisait le livre fourni avec le compilateur. Mission critique pour les clients, prix élevé à 4 chiffres.
Loren Pechtel
5

Des projets commerciaux plus importants ont-ils été créés dans un tel dialecte BASIC?

Sur les ordinateurs personnels plus anciens comme le C64 ou ses prédécesseurs, il existait de nombreux programmes BASIC, ainsi que des programmes commerciaux. Mais "gros" était rarement possible, car avec <64 Ko de RAM, écrire de "gros" programmes BASIC n’est pas vraiment facile. Si vous voulez contourner les limites de la machine, vous devez généralement quitter le sol de BASIC, le "langage de haut niveau", et utiliser assembleur.

Donc, la réponse à votre question est "probablement pas beaucoup", mais pas pour les raisons que vous avez en tête (comme "trop ​​sujettes aux erreurs / non structurées", etc.).

Au fait: AFAIK, le célèbre compilateur PETSpeed ​​BASIC a été écrit en BASIC (compilé avec lui-même, bien sûr).

Doc Brown
la source
4
Je voudrais souligner que important! = Grand, en particulier à cette époque. Aujourd'hui, les programmes commerciaux intègrent généralement toutes les fonctionnalités imaginables, mais ce n'est pas toujours le cas.
Jeanne Pindar
@ DocBrown Il y avait moyen de contourner la limite de mémoire de 64 k et les applications volumineuses. De nombreuses grandes applications existaient davantage comme des suites d'applications comportant de nombreux modules.
maple_shaft
Je me souviens de plusieurs premiers jeux commerciaux C64 écrits entièrement ou partiellement en BASIC. «Rox 64» en est un.
Alan B
"Telengard" Je crois que ça s'appelait, un jeu de rôle pour C64 ressemblait à 8k lignes de Basic. Était amusant de tordre la source pour vous faire un super-personnage.
Neil N
@maple_shaft: "Plusieurs?" Surtout "De nombreuses applications BASIC?" J'avais l'impression qu'il n'y en avait que quelques-uns.
Doc Brown
5

Toute la ligne de comptabilité de Peachtree Software (comptes à recevoir, comptes à payer, etc.) était entièrement écrite (et pourrait encore l'être, pour autant que je sache) en BASIC. Lorsque le PC IBM a été lancé pour la première fois, j'ai passé de nombreuses soirées à déboguer et à corriger le code qu'elles utilisaient pour les clients ayant acheté un ordinateur IBM Personal Computer et les packages Peachtree afin de créer les livres pour leur petite entreprise.

jerhewet
la source
5

Mon premier emploi était en 1981 de programmer des Apple II en Basic dans un bureau de Price Waterhouse (Pré-Coopers) dans leur cabinet de conseil en management à Belfast, dans le nord de l'Irlande. Une équipe de deux / trois d’entre nous a développé et installé des systèmes chez des clients, notamment une librairie et un abattoir. C'était un système de modélisation financière, en réalité un tableur Visicalc très complexe (50 feuilles, 3 000 variables) transformé en un grand programme de base. Il a fallu deux jours de fonctionnement sur un système Apple II avec 4 disques durs pour traiter le débit d’une semaine à l’abattoir. Un peu plus rapide que leur système manuel qui prenait deux semaines de travail par semaine.

Nous sommes ensuite passés aux machines Act Sirius, en programmant à nouveau en Basic (Microsoft 8KB Basic) et installées dans les clients.

La base comportait des numéros de ligne, mais il existait une boîte à outils capable de renuméroter les programmes. Comme je venais juste de sortir de Uni où j'avais appris Pascal, j'ai essayé d'écrire dans un style aussi structuré que possible (autant que vous le pouvez en Basic), mais Gotos et Gosubs ont bien sûr été utilisés.

J'ai ensuite programmé en 1983 sur Dec Rainbow qui utilisait CBasic, une base compilée maladroite.

David Bolton
la source
4

De nombreux logiciels commerciaux utilisant BASIC-PLUS ont été écrits sur les systèmes PDP-11 . Je me souviens d’avoir vu des progiciels d’analyse statistique et de comptabilité, ainsi qu’un bon nombre de produits d’automatisation de laboratoire haut de gamme (je ne sais pas à quel point ils étaient «commerciaux». Ils avaient tendance à faire partie d’un ensemble d’instruments, alors je ne sais pas si elles ont été vendues séparément.). ISTR BASIC était également l’un des principaux langages utilisés pour le développement d’applications HP 2000 , ainsi que le principal (éventuellement le seul) pris en charge par les premières stations de travail HP 9800 .

Peter Mortensen
la source
Le HP2000 a-t-il pris en charge le développement dans quelque chose d'autre? Mon impression était que le HP2000 était codé en dur pour n'exécuter que des programmes fournis par l'utilisateur dans HP Timeshare BASIC [une partie ou la totalité du code de gestion de fichiers et de gestion d'utilisateur du système aurait pu être écrite en utilisant d'autres langages ou code machine].
Supercat
3

Les premiers produits de base de données DOS d’Alpha Software (vers 1985) "Database Manager I", "Database Manager II" (DMB2) et "Alpha Three" étaient écrits en BASIC et compilés avec le compilateur IBM BASIC. J'ai travaillé sur "Alpha Three". Toute l'interface utilisateur était en langage BASIC, mais elle comportait un composant TSR (résidant et restant) résidant écrit en C et en ASM avec lequel BASIC communiquait via des interruptions. Les numéros de ligne et les sauts de ligne occupaient un espace de segment précieux, de sorte que le code était horriblement compressé et illisible. Nous avons utilisé des variables partagées et des modules échangés en permanence. C'était difficile de faire du travail. Nous avons quand même essayé d'être logique en matière d'organisation, de sorte que notre bibliothèque de chaînes contenait toutes les 60000 numéros de ligne les plus bas. Une opération courante telle que couper une chaîne ressemblerait à ceci:

$ S = $ INS; GOSUB 60210; $ INS = $ S;

Nous nous sommes convertis à tout C peu après la sortie de "Alpha Three".

Pete Lyons
la source
1
Comme toutes les variables étaient globales et que vous deviez également en abuser pour le passage de paramètres, comment avez-vous géré votre code pour éviter de remplacer accidentellement une variable déjà utilisée?
user281377
C'était basé sur la convention.
Pete Lyons
3

Au début des années 1980, l’US Air Force a acheté une série d’ ordinateurs de bus Cromemco S100 destinés à être utilisés par les escadrons aériens comme outil de planification de vol.

Le logiciel de planification de vol a été développé à l'aide de BASIC par des pilotes et des navigateurs de la Force aérienne au centre de combat aérien tactique situé à Eglin AFB, en Floride .

En ce qui concerne les "lacunes évidentes" de BASIC, nous ne le savions vraiment pas mieux. Le simple fait de donner un accès physique à un ordinateur à un équipage semblait être un progrès technologique incroyable à l’époque.

Jim In Texas
la source
2

Je crois que l’Ultima d’origine] [a été écrit dans Applesoft Basic.

DEC a utilisé sa version de BASIC pour la plupart des systèmes d'exploitation RSTS et autres qu'il a développés.

Scott Weisman
la source
Il y avait une blague que RSTS / E était écrit en BASIC, mais ce n'était pas vraiment le cas. De nombreux programmes utilitaires sysadmin fournis avec le système d’exploitation ont toutefois été écrits en BASIC.
Don Roby
2

La seule crainte que j'ai eue, en tant que programmeur QuickBasic, il y a 20 ans, était le message "Mémoire insuffisante". Mais cela ne fait que moi un meilleur programmeur! J'ai appris à écrire un code compact et sérieux.

J'avais l'habitude d'utiliser QuickBasic pour la programmation industrielle. Dans le monde réel (usines), vous ne pouvez pas dire à votre patron "ça va prendre un an et demi pour écrire en C"; vous pouvez seulement dire: "oui patron, ce sera prêt la semaine prochaine". Oui, BASIC était la solution pratique et rapide dans le monde réel. Pas C ou Pascal.

L'un des programmes que j'ai écrits dans QuickBasic 4.5, une base de données unique, a été vendu à quelques entreprises et a en fait remplacé la base de données commerciale qu'elles possédaient déjà (probablement en C ou en Pascal). Cette base de données est utilisée jusqu'à aujourd'hui.

Un sujet que je veux mentionner:

nous pensons tous que les nouvelles méthodes de programmation sont tellement utiles . Mais dans la vie réelle (industrie), la plupart des machines, de nos jours, sont exploitées par des automates programmables modernes. Les programmes sont généralement écrits en langage à contacts, ce qui est un million de fois plus primitif que GW-BASIC. En tant que programmeur pour automates, je peux dire clairement: j'aimerais remplacer cette programmation par échelle primitive par un langage de haut niveau tel que GW-BASIC ou même QuickBasic. (MEGA-BASIC est un dialecte utilisé à cette fin dans le passé).

Après tout, que font la plupart des machines? interprétation des entrées et réglage des sorties. Vous n'avez pas besoin de C / Assembly pour cela, ni de Java. Vous avez sûrement besoin de QuickBASIC pour créer un code maintenable.

Shian
la source
1

Absolument oui.

Il y a très longtemps, j'ai travaillé pour une entreprise qui a vendu plusieurs millions de dollars de systèmes, principalement au secteur des concessionnaires automobiles. Ces systèmes utilisaient le logiciel BASIC sur des dérivés de mini-ordinateurs HP 21MX 16 bits personnalisés (avant l’ère des microprocesseurs 16 bits réussis). C'était une entreprise de taille moyenne avec des dizaines de programmeurs de base. Ils utilisaient un vieux dialecte BASIC qui exigeait des numéros de ligne et n'autorisait que 286 noms de variables possibles. Pourtant, les solutions fournissaient toute la comptabilité et l'inventaire des entreprises (etc.) aux moyennes entreprises. Le groupe R & D a également écrit des assembleurs, des compilateurs et même des émulateurs de matériel en base pour aider au démarrage du développement de leur matériel de nouvelle génération.

En essayant d'expliquer ce que je pensais être les avantages d'une programmation plus moderne et de méthodologies de conception matérielle modernes, il m'a dit que les bons concepteurs partitionnaient, modulaient et structuraient correctement les solutions à leurs problèmes, même si leur expression directe n'était pas construite. dans le langage ou les outils, tandis que, a-t-il noté, les mauvais concepteurs peuvent produire des déchets non déboguables, quel que soit le paradigme de développement à la mode "sophistiqué" dans lequel ils travaillent.

hotpaw2
la source
1

Le fait est que la plupart des concessionnaires d’automobiles neuves aux États-Unis d’aujourd’hui utilisent les programmes BASIC pour vous proposer des options de financement et pour créer les longs relevés de règlement que vous recevez lorsque vous achetez une voiture. Les programmes sont écrits dans des versions archaïques de mini-ordinateurs de BASIC fonctionnant sous émulation sur du matériel moderne. Il y a des interfaces Web greffées, mais son BASIC parle à un tty dessous.

Vers 1980, l’assurance vie universelle est devenue une mode instantanée dans le secteur de l’assurance vie. Toutes les entreprises voulaient le vendre immédiatement et exigeaient que la valeur des comptes soit calculée pour chaque police tous les mois en utilisant une combinaison très complexe d’intérêts et de charabia actuariels. Comme les grands projets informatiques devaient prendre environ un an à ce moment-là, de nombreuses entreprises ont commencé à produire autant de pommes, de PC et / ou de Tandy TRS-80 que nécessaire, en effectuant la version plus complexe de ce qui était en mainframe 20 ans. Pratiquement tous ont été programmés en BASIC. La plupart du temps, le BASIC utilisait une virgule flottante à précision courte, ce qui a permis à des millions de clients de perdre des sous lors de l'arrondi.

JPL disposait d’une version de BASIC qu’elle utilisait beaucoup il y a environ 35 ans. Il s’appelait MBASIC, avec le M pour gestion, mais il était utilisé, entre autres, pour programmer des vaisseaux spatiaux.

Lucas Membrane
la source
1

Le très populaire système de point de vente 4680/4690 d' IBM a été écrit dans un dialecte appelé IBM 4680 BASIC . J'ai travaillé sur ce système de 1998 à 2002 pour un grand détaillant britannique.

Ce système était très populaire. Selon l'article du wiki, il détenait toujours 12% des parts de marché en 2005. Le système fonctionne encore aujourd'hui, il y a de fortes chances pour que la plupart des habitants du monde occidental l'aient indirectement utilisé la semaine.

Qwerky
la source
0

Examinez PICK ou n’importe laquelle des autres bases de données MultiValue. Ils s'appuient tous sur DataBasic comme langue principale ou unique et ont une utilisation significative du marché vertical. Nous avons toujours un système que j'ai écrit pour l'analyse comparative de l'approvisionnement il y a plus de 20 ans. Fonctionne à environ 50 000 lignes de code.

Kevin Thorpe
la source
0

Dans les années 80, une société baptisée Softek en Inde avait créé ses propres versions de Wordstar, dBase et Lotus 1-2-3. Un autre de leurs produits était un compilateur BASIC.

À l'aide de leur propre CBASIC, ils ont créé un logiciel de comptabilité très complet à double entrée appelé SIMS-FA (Softek Financial Accounting).

Tinkoo Sharma
la source
0

Tout? Oui. Beaucoup? Non. Logiciels éducatifs et archivage.

L'ère BASIC: ~ 1970-1990

Jusqu'en 1990 environ, les limites dépassaient les attentes et évoluaient en fonction des besoins de l'industrie. Dans la plupart des cas, les besoins des grandes entreprises ont été analysés par des consultants et rencontrés dans toutes les langues répondant à leurs besoins.

Un peu comme aujourd'hui, où les entreprises ont une idée plus ou moins développée de ce dont elles ont besoin et veulent construire une sorte de solution avec VBA, puis en apprennent suffisamment pour découvrir des solutions client-serveur plus compétentes, des applications Web et des interfaces optimisées avec une gestion des données .

Dans les années 1970, si une entreprise régulière pouvait équilibrer ses comptes ou enregistrer ses chiffres de production sur son ordinateur sans le budget d'une entreprise, ce serait une grande avancée par rapport à la tenue de livres. Si vous pouviez obtenir un diagramme, c'était fantastique.

Dans les années 1980, si vous pouviez migrer certains dessins de produits vers l'ordinateur pour les rendre modifiables, ce serait également fantastique.

Ces deux méthodes pourraient être réalisées avec un langage basé sur interprète. Les ordinateurs pouvant contenir davantage de données, la complexité exigeait des compilateurs, car les processeurs étaient en retard par rapport à la loi de Moore en matière de performances de brassage des données brutes de 1977 à 1987 environ.

Mais jusqu'à la fin des années 1980, lorsque les attentes étaient plus exigeantes, les langages mis en place dans les années 1970 (complétés dans de rares cas par Assembler et / ou du matériel personnalisé tel que des cartes FPU) effectuaient tout le travail commercial sérieux dans des entreprises à quelques exceptions près. Cobol et Fortran étaient toujours le ticket sur les ordinateurs centraux. Seules les entreprises pouvaient se permettre de telles dépenses, et les entreprises sérieuses faisaient le travail sérieux qu’elles réalisaient avec les programmes internes BASIC, et cela a suffi pendant un certain temps.

Des progiciels autonomes à usage général, tels que des traitements de texte ou des traceurs de diagrammes, ont fait leur apparition à cette époque, alors que les systèmes d’exploitation avaient évolué vers des ordinateurs abordables en tant que cibles pour les compilateurs, et que le stockage pouvait contenir des documents et des données de taille "entreprise".

Pascal était un candidat majeur ici. Auparavant, presque tous ceux-ci avaient été écrits en assembleur. Finalement, C est venu d’Unix et a commencé à être utilisé sur des PC.

Henrik Erlandsson
la source
0

À l'époque du Commmodore 64, une partie du jeu Gunship était écrite en BASIC. Vous pouvez même éditer le code afin que votre hélicopérateur puisse être équipé à chaque fois que vous atterrissez.

Holli
la source
Je sais que certains jeux (commerciaux) ont été complètement écrits en Basic, mais j’ai exclu les jeux pour une raison: les jeux sont ce que vous créez, tant qu’ils sont drôles. Il est plus facile de vivre avec les limitations lorsque le "jeu de fonctionnalités" appartient entièrement au concepteur et que la maintenance n’est pas un problème.
user281377
0

BBC BASIC a été créé à partir de BBC Micro , sorti au Royaume-Uni en 1981. Au moment d'atteindre la version 5, telle qu'implémentée sur les ordinateurs RISC OS basés sur ARM d'Acorn, il était considéré comme le BASIC interprété le plus rapide au monde. Sa syntaxe était avancée pour son époque, y compris les mots clés structurels tels que CASE et WHILE, ainsi que les fonctions et procédures. (Il incluait même un assembleur, à l'origine pour 6502 , puis pour ARM dans les versions du système d'exploitation RISC .)

De nombreuses applications de bureau commerciales ont été écrites à l'aide de cette application, peut-être en grande partie parce qu'elle permettait d'accéder facilement aux appels SWI utilisés par le système WIMP. Il était assez rapide d’avoir même écrit des jeux d’arcade - Nevryon , un clone de type R, est un de ceux dont je me souviens tout particulièrement en regardant la source.

Peter Mortensen
la source
En fait, j'avais à la fois un Acorn Electron (version plus petite de la BBC) et un Acorn Archimedes (ainsi qu'un Cambridge Z88 qui utilisait le même BASIC); Et oui, le BASIC de ces ordinateurs était un peu meilleur que dans la plupart des autres ordinateurs domestiques. Mais comme le BASIC incluait également la possibilité d’utiliser inline Assembler, il pourrait être difficile de distinguer les programmes BASIC purs de programmes mixtes si vous jetiez simplement un coup d’œil sur le code source.
user281377
Oh, un coup d'œil suffit vraiment pour distinguer les deux. Très différent. Et même si elle incluait un assembleur, il n'était pas courant de distribuer du code source en langage assembleur. Généralement, le code binaire assemblé serait inclus.
Dan Ellis
0

Les anciens langages de script de base de données xBase (tels que dBase II , dBase III + , Clipper, etc.) étaient assez étroitement liés aux divers BASIC non standard de l’époque.

Pas exactement BASIC utilisé pour un travail commercial, mais peut-être assez proche.

Peter Mortensen
la source
Steve314: ces langages xBase étaient bien plus avancés que l’ordinateur de base BASIC. J'ai écrit beaucoup de code dans Clipper, et je me souviens de fonctions, de variables locales, d'instructions de boucle et de beaucoup d'autres éléments qui manquent dans l'ordinateur de base BASIC des années 80. Yannis: QuickBasic est paru en 1985.
user281377
@ user281377 - La BBC Basic en 1981 était structurée et dotée de procédures, même si elle avait encore besoin de numéros de ligne. La norme standard ANSI de base (1984) incluait des structures de bloc sub(fonction / procédure avec paramètres et variables locales) et plus, et rendait optionnel le numéro de ligne. Borland Turbo Basic en 1985 avait la plupart des fonctionnalités standard de base IIRC. J'ai utilisé assez bien GFA Basic sur Atari ST - également structuré, procédural, sans numéros de ligne. Dans les années 80, il y avait beaucoup de bases structurelles et procédurales.
Steve314
@ user281377 - xBase présentait des avantages évidents en termes de traitement de base de données et de formulaires de saisie de données. Je ne connaissais aucun élément de base, mais vous pourriez tout aussi bien souligner que STOS présentait des avantages évidents pour l'affichage des sprites et la lecture de joysticks.
Steve314
@ Steve314: Je sais qu'il y avait des dialectes BASIC avec de bonnes fonctionnalités, mais je pose une question spécifique sur les autres BASIC. Ceux où GOTO et GOSUB étaient tout ce que vous aviez. Où chaque variable était globale et un tableau unidimensionnel avait autant de structure de données que possible. Clipper était un dialecte xBASE très avancé; Honnêtement, je ne me souviens pas du nombre de fonctionnalités avancées de Clipper qui étaient également disponibles dans dBASE III, mais au moins, il disposait de boucles d'auto-effacement appropriées.
user281377
1
@ user281377 La version originale de la réponse mentionnait Visual Basic (d'où vous est procuré QuickBasic?), c'est ce sur quoi je me suis mis à crier; P
yannis,
-2

La plupart des micros ne disposaient que d'outils de développement de base (ROM) ou d'assembleur. Pour les programmes non critiques en termes de vitesse, BASIC a été utilisé pour de nombreuses applications commerciales ainsi que pour la plupart des projets d'entreprise internes. Même lorsque CP / M est arrivé, les seules améliorations réelles étaient la capacité de gérer des projets plus importants et d’utiliser le compilateur de base de Microsoft (BASCOM). Ma propre expérience avec le développement de micro au début était comme suit:

~ 1980 - Microsoft ROM basic sur un Nascom 2 avec un petit assembleur. Le développement d'applications commerciales comprenait un programme de retour à la TVA (taxe sur les ventes) et un programme de contrôle des processus (tous deux au format BASIC).

198? - J'utilise toujours BASIC, mais j'avais aussi maintenant Pascal (BLS - précurseur de Borland Pascal ).

Milieu des années 1980 - Les PC commencent à dominer et les premiers compilateurs C apparaissent ( Hisoft et Mix). BASIC entre en déclin (réactivé plus tard sous forme de zombie par MS avec Visual Basic ). GW-BASIC était très populaire comme outil de développement interne. De nombreux logiciels commerciaux (comptabilité, gestion des stocks, etc.) étaient encore écrits en BASIC.

Fin des années 1980 - C devient la langue de développement principale (après la sortie de MSC 5 en 1986?). Microsoft et Borland vont dominer ces prochaines années ...

utilisateur11465
la source
1
Comment cela répond-il à la question?
Gnat
il répond à la question en disant "oui, la base était largement utilisée pour le développement commercial des dernières années 1970 et au début des années 1980". En ce qui concerne les lacunes évidentes, gardez à l’esprit que les programmeurs n’avaient pas vu ces lacunes à l’époque. Basic est Turing complet pour que les programmeurs intelligents puissent faire tout ce dont ils ont besoin (les principales limitations étaient bien sûr la vitesse, la mémoire, le stockage, etc., mais ces limitations s’appliquaient à tous les développements à la fois). Je ne sais pas pourquoi tant de votes négatifs, essayait seulement de répondre à la question.
Ces deux programmes que vous avez mentionnés ont-ils été vendus à plusieurs clients (ce n’est pas un développement interne) ? pouvez-vous partager des références où l'on peut en apprendre plus sur ces derniers?
moucher
Malheureusement, de nombreuses applications (y compris celles que j'ai mentionnées) ont été perdues dans la nuit des temps (aucun interweb ni même les babillards électroniques à distribuer à ce moment-là). J'ai perdu les cassettes sur lesquelles elles étaient arrêtées, mais elles étaient: 1) Pas de jeux, 2) pas gratuites, 3) Pas triviales et 4) Des missions critiques. Je ne peux pas dire qu'ils ont été vendus à de nombreux clients, l'application contoal était destinée à un client spécifique, l'application TVA a été revendue à plusieurs reprises. Je suis toujours dégoûté par les votes à la baisse (médiocres, ou plutôt, je dis «cueilleurs de moucherons» :-)).