Wurde das klassische BASIC jemals für die kommerzielle Softwareentwicklung verwendet, und wenn ja, wie wurden Einschränkungen überwunden?


46

Viele von uns, einschließlich mir, begannen ihr Programmierleben mit Programmen, die auf Heimcomputern geschrieben waren , so etwas wie

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

Natürlich war die Zeilennummer basierte BASIC anfällig für Spagetti - Code zu schaffen, auch weil die meisten BASIC - Dialekte wie strukturelle Aussagen verpaßt WHILE, alles zu tun , aber die FOR-loop mit IF, GOTOund GOSUB. Ich spreche von BASIC-Dialekten vor 1991, als QBASIC und Visual Basic auftauchten.

Während BASIC-Dialekte unter aufstrebenden Programmierern einen schlechten Stil bewirkten, gab es größere kommerzielle Projekte, die in einem solchen BASIC-Dialekt erstellt wurden? Wenn ja, wie haben sie es geschafft, mit den offensichtlichen Mängeln umzugehen?

Mit "ernst" meine ich:

  • Kein Spiel (ich weiß, dass einige kommerzielle Spiele in BASIC geschrieben wurden, zum Beispiel Pimania )
  • Keine Freeware
  • Nicht trivial, das heißt ziemlich groß (sagen wir: mindestens 1500 LOC )
  • Verkauft an mehrere Kunden (keine Eigenentwicklung)
  • "Mission Critical" ist ein Plus

30
Were those BASIC dialects only used to teach aspiring programmes bad styleHm ... Es ist jetzt ein schlechter Stil, aber es war nicht damals.
Yannis

9
Dartmough BASIC wurde 1964 entworfen (und es war interessanterweise eine kompilierte Sprache), eine Ära, die von FORTRAN dominiert wurde.
Yannis

8
Angenommen, Sie versuchen, den Umfang eines Kreises zu berechnen, ist Stil nicht das einzig schlechte, was ich hier sehe.
William Jackson

5
I'm seriously pissed off that this question was closed during the "History" contest.Heh, Sie haben eine großartige Gelegenheit verpasst, zusätzliche Ansichten für die Frage zu erhalten, indem Sie sie auf Meta angesprochen haben.
Yannis

15
99% aller Software , die geschrieben ist Linie von Business - Anwendungen geschrieben im Hause , und per Definition macht sie ungefähr so ernst wie Sie bekommen können.

Antworten:


48

Sicher. Bevor die Dinge mit Altair, MITS, SWTPC, Kim, Sinclair, Pet, RadioScrap, OSI und Apple passierten, gab es eine entzückende kleine Maschine namens IBM 5100 . Es hatte BASIC im ROM , ein großes Kassettenlaufwerk (oder zwei), 8 KB Speicher. Ein 24-zeiliger Bildschirm und ein Drucker für nur USD 10.000 - eine Größenordnung günstiger als ein typischer Mini. Ursprünglich für Wissenschaftler gebaut ( APL in ROM war auch eine Option), aber dann entdeckten einige Buchhaltungstypen es und begannen einen Wahnsinn: Jedes kleine Unternehmen wollte eines. Natürlich mit kundenspezifischer Software. Die 5110 folgte, wobei die Bandlaufwerke durch 8-Zoll-Disketten ersetzt wurden.

Irgendeine kommerzielle Software? Galoons .

Können Sie Hauptbuch, Gehaltsabrechnung, Kreditorenbuchhaltung, Debitorenbuchhaltung, Bestandskontrolle und Rechnungsstellung sagen? Ich war dort, habe das getan - in BASIC. Stromrechnungen, Neu- und Gebrauchtwagenbestand, Müllwagenabholung und Getränkelieferplanung? Yup - BASIC. Willst du Eisenerz von Minen auf Züge auf Schiffe verfolgen ... BASIC. Alles, was kein Doppelboden war, wurde wahrscheinlich in BASIC erledigt. Kommerziell meine ich. (Weil RPG II nicht zählt ;-).

Wie hat man die Grenzen umgangen?

Nun, das erste, was Sie getan haben, war, den Kunden an IBM zurückzuschicken, um mehr Speicher zu erhalten. Denn wer könnte in 8 KB etwas Ernsthaftes schreiben? Sie einfach hatte 16. Und zwei Bandlaufwerke zu haben, wenn möglich, weil die Automatentheorie beiseite, merge auf einer einzige Band Sortierung ist, na ja, ein bisschen langsam.

Oh, sorry - du hast die Einschränkungen von BASIC gemeint.

Nun, Sie mussten Ihre Ressourcen sehr sorgfältig verwalten - zum Beispiel Zeilennummern -, weil Ihnen diese nicht ausgehen wollten. Es tut wirklich weh, einen ganzen Abschnitt neu zu nummerieren und alles erneut einzugeben, ohne versehentlich eine oder zwei Zeilen Code zu verlieren.

Nein, nur ein Scherz. Wir hatten dieses Problem nicht wirklich, bis Mikrocomputer mit einem BASIC-Interpreter auftauchten, der es nicht schaffte, von sich aus neu zu nummerieren.

Wir haben auch die Modularität verwendet: Sie haben ein neues Programm aufgerufen, ausgeführt, bis es beendet wurde, und sind zum aufrufenden Programm zurückgekehrt. Ein Problem mit Steroiden (weil Sie mehr Speicher verwenden müssen), aber viel langsamer (weil es eine Weile gedauert hat, bis die Maschine das Programm auf dem Band gefunden und geladen hat, und dann zurückgespult und das ursprüngliche Programm gefunden und geladen hat zurück...). Viel wie ein Fork und Exec, aber ohne den Fork, nur besser, weil der gesamte Speicherplatz geteilt wurde.

Die konsequente Verwendung von Konventionen hat auch geholfen - wissen Sie, wie "Sie MÜSSEN ein GOSUB immer auf eine Kommentarzeile ausrichten, die besagt, was diese Routine tut, und Sie SOLLTEN dasselbe für ein GOTO tun, wenn es möglich ist. So etwas. Oh, und strukturiert Programmieren , etwas später - wieder "nach Vereinbarung".

Einige gingen sogar ein wenig bis zum Äußersten: OAOO , YAGNI , TSTTCPW , Paarung, unbarmherzig refaktorieren , solche Sachen. Natürlich nicht mit diesen Namen. (Siehe auch: Prediger ;-)

Die glorreichen Tage.


4
Aus all den guten Antworten wähle ich diese, weil sie noch nicht allzu viel Liebe (Gegenstimmen) hat und auch, weil sie die Verwendung von BASIC für kommerzielle Software auf Mikrocomputern vor dem Aufkommen der Heimcomputer hervorhebt.
user281377

1
Stimmen Sie für Ihre großartige Antwort ab und beziehen Sie sich auf eines der besten Bücher in der Bibel :)
Rocklan

46

Die erste Software, an der ich je gearbeitet habe, war ein GW-BASIC-Programm mit 8.000 Zeilen, das das Unternehmen in den 80er Jahren geschrieben hat, um Wärmeübertragungsberechnungen für die Dimensionierung und Preisgestaltung von Kesselanlagen zu verwenden. Obwohl der Code völlig unverständlich war, funktionierte er so gut, dass man ihn seit über 20 Jahren verwendet hatte.

Dies war die Stärke von BASIC, dass ein Maschinenbauingenieur mit einem Referenzhandbuch tatsächlich (zu dieser Zeit) qualitativ hochwertige, verwendbare Software schreiben konnte. Vor BASIC und der Verbreitung des PCs wäre so etwas unbekannt gewesen. Sie müssten ein Team von Computertechnikern und möglicherweise Computerbetreibern einstellen, um auf einem gemeinsam genutzten Mainframe zu programmieren und zu arbeiten. All dies wäre viel zu komplex gewesen, als dass der typische Maschinenbauer es in kurzer Zeit hätte lernen können.

Mit Sicherheit war BASIC für Heimcomputer-Enthusiasten von großem Nutzen. Dies war für viele Unternehmen die erste Einführung in die Entwicklung von kundenspezifischer Software zu einem erschwinglichen Preis ohne Expertenteams.


Absolut das. - ^^^
Robert Harvey

30

Ja, es gab zahlreiche kommerzielle Produkte und andere "ernsthafte" Entwicklungen in BASIC. Um zu verstehen warum, muss man den Kontext der 1970er und 1980er Jahre verstehen, als BASIC auf Mini- und Mikrocomputern aufbaute.

Damals war der Maschinenpark nach heutigen Maßstäben sehr knapp. CPUs wurden mit wenigen MHz getaktet (häufig viel weniger für Mikrocomputer) und verfügten über weniger Arbeitsspeicher, als durch das zum Rendern dieser Seite erforderliche HTML belegt wäre. Wenn Sie ein Produkt bereitstellen wollten, mussten Sie die verfügbaren Tools verwenden, entweder die nackte Baugruppe oder auf Mikrocomputern den BASIC-Interpreter, der im ROM (häufig 16 KB in einem 64-KB-Adressraum) mit dem System geliefert wurde . Es waren andere Sprachen verfügbar, aber viele hatten nicht alle strukturierten Funktionen, die wir für selbstverständlich hielten. Dies hatte viel mit der Tatsache zu tun, dass der Speicher knapp war, * nichts davon war virtuell, außer auf sehr High-End-Systemen, und es gab normalerweise nicht genug davon, um einen Compiler für eine anspruchsvollere Sprache aufzunehmen. Mit solch begrenzten Ressourcen "ernst"

Ihr Argument, die Hersteller früherer Heimcomputer hätten es besser wissen und eine strukturierte Sprache bereitstellen müssen, funktioniert in diesem Zusammenhang einfach nicht. Mit der verfügbaren Technologie würde es einfach nicht zu einem Preis kommen, den die Leute ertragen könnten.

Wie wir mit den Sprachmängeln umgegangen sind, war einfach: Wir haben sie nicht so gesehen und die Arbeit mit dem erledigt, was verfügbar war. ANSI Minimal BASIC ist ähnlich wie die Assembler-Sprache aufgebaut, da Sie die meisten einfachen Verzweigungs- und Unterprogrammaufrufe erhalten. Sie müssen jedoch sicherstellen, dass die Sterne richtig ausgerichtet sind. Die einzige Ausnahme ist das FOR..NEXTKonstrukt, das zur Bereitstellung von Schleifen verwendet wird. Wenn Sie etwas in BASIC entwickeln und gute Arbeit leisten wollten, mussten Sie die Struktur Ihrer Programme genau so sorgfältig planen und verstehen, als würden Sie sie in Assembler schreiben. Die verfügbaren Debugging-Tools waren sehr primitiv, so dass Sie im Wesentlichen zusammenarbeiten mussten, wenn Ihre Programme funktionieren und wartbar sein sollten.

Ja, es gab damals eine Menge Spaghetti, aber ich habe noch keine Sprache gefunden, in der es unmöglich ist, schlechten Code zu schreiben.


* Der Arbeitsspeicher belief sich Anfang der 1980er Jahre auf etwa 750-1000 US-Dollar pro MB. Inflationsbereinigt sind dies 1.600 bis 2.200 US-Dollar in 2010. Im selben Jahr betrugen die Kosten pro Megabyte etwa 0,03 US-Dollar.


Ich erinnere mich, dass ich in den 1980er Jahren ungefähr 1000 US-Dollar für eine 2- Megabyte- EMS-Speicherkarte gezahlt habe. Der Computer, in den es ging, ein NEC V20-basiertes PC-Klon-Kit, kostete etwa 2500 US-Dollar.
Jfrankcarr

LOL, ich erinnere mich, dass wir Ende der 80er Jahre eine Bestellung vom Firmenpräsidenten unterschreiben lassen mussten, um eine 64-MB-Speicherkarte für eine VAX zu kaufen. Um fair zu sein, es handelte sich um einen ECC-Speicher
TMN

Es gab in BASIC geschriebene Geschäftsanwendungen, von denen einige für Geld verkauft wurden, und eine in BASIC geschriebene Hot-Selling-Geschäftsanwendung für APPLE] [oder CommodorePET oder Atari oder IBM oder TI-Mikrocomputer der frühen 1980er-Jahre, an die möglicherweise 100 verkauft wurden 500 Exemplare zu ca. 100 USD Stückpreisen. Damals gab es nichts Vergleichbares wie das moderne Softwareprodukt, denn Computer waren damals klein, und Software dafür war winzig. Weder Basic noch C noch Assembler oder irgendeine andere moderne Sprache hätten das geändert.
Warren P

In den 80er Jahren wurde der Computer-Mainframe unserer örtlichen Colleges von 10 MB auf 50 MB aktualisiert. Zugegeben, die 10 MB waren nur halb voll, aber sie wollten genügend Speicherplatz für die absehbare Zukunft ... Stellen Sie sich vor, eine Festplatte mit nur 50 MB für etwa 50 bis 100 Benutzer ... wäre überlastet.
SoylentGray

22

Mein erster 100% -iger Programmierjob in den 1980er Jahren war die Arbeit an einem Paket für vertikale Marktrechnungen, das ursprünglich in GW-BASIC geschrieben wurde . Es wurde auf QuickBASIC 3.0 portiert, behielt jedoch fast alle Fehler bei, die mit frühen BASIC-Dialekten verbunden waren. Es gab Tonnen von GOTOs und viele schlechte Strukturen. Es gab ungefähr ein Dutzend Module (Inventar, Hauptbuch usw.) und das Programm wurde für ungefähr 1000 - 2500 US-Dollar pro Modul plus jährliche Supportverträge verkauft. Der Umsatz des Unternehmens lag zwischen 15 und 25 Millionen US-Dollar pro Jahr.

Was den Umgang mit Mängeln angeht, wurden durch die Verwendung von Maschinensprache oder MASM viele Einschränkungen umgangen . Es war üblich, PEEK- und POKE- Befehle zu verwenden, um die Maschinensprache in BASIC-Programme einzufügen. Ich habe MASM (und später C) -Programme geschrieben, um das Programm zu erweitern und Dinge wie rudimentäre Datenbankunterstützung, Kommunikation und Textgrafiken hinzuzufügen.


12
Ich bedaure dich, es sei denn natürlich, du bist in die 15 Mil eingestiegen.
Spencer Rathbun

@SpencerRathbun - Leider wurde mir ein ziemlich niedriger Lohn gezahlt, der heute ungefähr 35.000 US-Dollar entspricht.
Jfrankcarr

Ja, mein erster Programmierjob war in Quickbasic 3. Es war kein Port, aber es war nicht viel besser. Der Hauptteil war von jemandem erledigt worden, dessen "Training" darin bestand, das mit dem Compiler gelieferte Buch zu lesen. Kundenkritisch, hoher 4-stelliger Preis.
Loren Pechtel

5

Wurden größere kommerzielle Projekte in einem solchen BASIC-Dialekt erstellt?

Auf älteren Heimcomputern wie dem C64 oder seinen Vorgängern gab es viele BASIC-Programme und auch einige kommerzielle Programme. Aber "groß" war selten möglich, da mit <64kB RAM das Schreiben von "großen" BASIC-Programmen nicht ganz einfach ist. Wenn Sie die Einschränkungen der Maschine umgehen wollten, mussten Sie in der Regel die Grundlagen von BASIC, der "Hochsprache", verlassen und Assembler verwenden.

Die Antwort auf Ihre Frage lautet also "wahrscheinlich nicht viele", aber nicht wegen der Gründe, die Sie im Sinn haben (wie "zu fehleranfällig / unstrukturiert" usw.).

Übrigens: AFAIK, der berühmte PETSpeed ​​BASIC-Compiler, wurde in BASIC geschrieben (natürlich mit sich selbst kompiliert).


4
Ich möchte darauf hinweisen, dass wichtig! = Groß, vor allem damals. Heutzutage haben kommerzielle Programme in der Regel alle nur erdenklichen Funktionen eingebaut, aber das war nicht immer der Fall.
Jeanne Pindar

@DocBrown Es gab Möglichkeiten, das 64-KB-Speicherlimit und große Anwendungen zu umgehen. Viele große Anwendungen existierten eher wie App-Suiten mit vielen Modulen.
maple_shaft

Ich erinnere mich an einige frühe kommerzielle C64-Spiele, die entweder vollständig oder teilweise in BASIC geschrieben wurden. 'Rox 64' ist eins.
Alan B

"Telengard", glaube ich, hieß es, ein RPG-Spiel für den C64, und war wie 8k-Zeilen von Basic. Hat Spaß gemacht, die Quelle zu optimieren, um sich selbst zu einem überragenden Charakter zu machen.
Neil N

@maple_shaft: "Viele?" Besonders "Viele BASIC-Anwendungen?" Ich hatte den Eindruck, dass es nur wenige gab.
Doc Brown

5

Die gesamte Abrechnungssparte von Peachtree Software (Debitoren- und Kreditorenbuchhaltung usw.) wurde (und wird nach meinem Kenntnisstand) in BASIC geschrieben. Als der IBM-PC zum ersten Mal eingeführt wurde, verbrachte ich viele lange Abende mit dem Debuggen und Korrigieren des Codes für Kunden, die einen IBM-Personalcomputer und die Peachtree-Pakete gekauft hatten, um die Bücher für ihr kleines Unternehmen zu erstellen.


5

Mein erster Job war 1981 das Programmieren von Apple IIs in Basic in einem Büro von Price Waterhouse (Pre Coopers) in ihrer Unternehmensberatung in Belfast, Nordirland. Ein Team von zwei / drei von uns entwickelte und installierte Systeme für Kunden, darunter eine Buchhandlung und einen Schlachthof. Es war ein Finanzmodellierungssystem, ein sehr komplexes Visicalc-Arbeitsblatt (50 Blätter, 3.000 Variablen), das in ein großes Basisprogramm umgewandelt wurde. Auf einem Apple II-System mit 4 Festplatten dauerte es zwei Tage, bis der Durchsatz einer Woche im Schlachthof verarbeitet war. Ein bisschen schneller als ihr manuelles System, das pro Woche zwei Mannwochen gedauert hatte.

Wir sind dann auf Act Sirius-Maschinen umgezogen, die wiederum in Basic (Microsoft 8KB Basic) programmiert wurden und auf Clients installiert waren.

Das Basic hatte Zeilennummern, aber es gab ein Toolkit, das Programme neu nummerieren konnte. Da ich noch nicht an der Uni war, wo ich Pascal gelernt hatte, habe ich versucht, so strukturiert wie möglich zu schreiben (so viel wie möglich in Basic), aber Gotos und Gosubs wurden natürlich verwendet.

Ich programmierte später 1983 auf Dec Rainbow, das CBasic verwendete, ein klobig kompiliertes Basic.


4

Auf den PDP-11- Systemen wurde viel kommerzielle Software mit BASIC-PLUS geschrieben . Ich erinnere mich, dass ich statistische Analyse- und Abrechnungspakete sowie eine ganze Menge hochwertiger Laborautomatisierungsprodukte gesehen habe (ich bin mir nicht sicher, wie "kommerziell" diese waren. Sie wurden in der Regel als Teil eines Instrumentenpakets aufgenommen, daher weiß ich es nicht wenn sie separat verkauft wurden.). ISTR BASIC war auch eine der Hauptsprachen für die Entwicklung von HP 2000- Anwendungen und die (möglicherweise einzige) Hauptsprache, die für die frühen Workstations der HP 9800-Serie unterstützt wurde .


Hat der HP2000 die Entwicklung in irgendetwas anderem unterstützt? Mein Eindruck war, dass der HP2000 fest programmiert war, um nur vom Benutzer bereitgestellte Programme in HP Timeshare BASIC auszuführen.
Supercat

3

Die frühen DOS-Datenbankprodukte von Alpha Software (um 1985) "Database Manager I", "Database Manager II" (DMB2) und "Alpha Three" wurden in BASIC geschrieben und mit dem IBM BASIC-Compiler kompiliert. Ich habe an "Alpha Three" gearbeitet. Die gesamte Benutzeroberfläche befand sich in BASIC, hatte jedoch eine in C und ASM geschriebene TSR-Kernkomponente (terminate and stay resident), mit der das BASIC über Interrupts kommunizierte. Zeilennummern und Zeilenumbrüche nahmen wertvollen Segmentplatz in Anspruch, sodass der Code fürchterlich gequetscht und unlesbar war. Wir haben ständig gemeinsame Variablen verwendet und Module ausgetauscht. Es war schwer, Arbeit zu machen. Wir haben immer noch versucht, logisch in Bezug auf die Organisation zu sein, sodass unsere String-Bibliothek nur aus den niedrigen 60000 Zeilennummern bestand. Eine übliche Operation wie das Trimmen einer Zeichenfolge sieht folgendermaßen aus:

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

Wir haben kurz nach der Veröffentlichung von "Alpha Three" auf C umgestellt.


1
Wie haben Sie Ihren Code verwaltet, um ein versehentliches Überschreiben einer bereits verwendeten Variablen zu vermeiden, da alle Variablen global waren und Sie sie auch für die Parameterübergabe missbrauchen mussten?
user281377

Es basierte auf Konventionen.
Pete Lyons

3

In den frühen 1980er Jahren kaufte die US Air Force eine Reihe von Cromemco S100-Buscomputern, die von fliegenden Staffeln als Flugplanungsinstrument verwendet werden sollten.

Die Flugplanungssoftware wurde mit BASIC von Piloten und Navigatoren der Luftwaffe im Tactical Air Warfare Center in Eglin AFB, Florida, entwickelt .

Was die "offensichtlichen Mängel" von BASIC angeht, haben wir es wirklich nicht besser gewusst. Nur einer Besatzung physischen Zugang zu einem Computer zu gewähren, schien zu dieser Zeit ein unglaublicher Technologiesprung zu sein.


2

Ich glaube, dass das Original Ultima auf dem Apple in Applesoft Basic geschrieben wurde.

DEC verwendete seine BASIC-Version für viele von ihm entwickelte RSTS- und andere Betriebssysteme.


Es gab einen Witz, dass RSTS / E in BASIC geschrieben wurde, aber das war es wirklich nicht. Viele mit dem Betriebssystem gelieferte Sysadmin-Dienstprogramme wurden jedoch in BASIC geschrieben.
Don Roby

2

Die einzige Angst, die ich als QuickBasic-Programmierer vor 20 Jahren hatte, war die Meldung "Nicht genügend Speicher". Aber das hat mich nur zu einem besseren Programmierer gemacht! Ich habe gelernt, kompakten und seriösen Code zu schreiben.

Ich habe QuickBasic für die industrielle Programmierung verwendet. In der realen Welt (Fabriken) können Sie Ihrem Chef nicht sagen, dass es ein halbes Jahr dauern wird, bis er in C geschrieben ist. man kann nur sagen: "ja chef, nächste woche ist es soweit". Ja, BASIC war die praktische und schnelle Lösung in der realen Welt. Nicht C oder Pascal.

Eines der Programme, die ich in QuickBasic 4.5, einer einzigartigen Datenbank, geschrieben habe, wurde an wenige Unternehmen verkauft und ersetzte die kommerzielle Datenbank, die sie bereits hatten (die wahrscheinlich in C oder Pascal geschrieben war). Diese Datenbank wird bis heute verwendet.

Ein Thema, das ich erwähnen möchte:

Wir alle sind der Meinung, dass neue Programmiermethoden sehr nützlich sind . In der Praxis (Industrie) werden die meisten Maschinen heutzutage jedoch von einer modernen SPS bedient. Die Programme werden normalerweise in Kontaktplanprogrammierung geschrieben, die millionenfach primitiver ist als GW-BASIC. Als SPS-Programmierer kann ich klar sagen: Ich würde diese einfache Kontaktplanprogrammierung gerne durch eine Hochsprache wie GW-BASIC oder sogar QuickBasic ersetzen. (MEGA-BASIC ist ein Dialekt, der in der Vergangenheit zu diesem Zweck verwendet wurde).

Was machen denn die meisten Maschinen? Eingaben interpretieren und Ausgaben setzen. Sie brauchen dafür kein C / Assembly und Sie brauchen kein Java. Sie benötigen QuickBASIC, um einen wartbaren Code zu erstellen.


1

Absolut ja.

Vor langer Zeit habe ich für ein Unternehmen gearbeitet, das viele Millionen Dollar an Systemen verkauft hat, hauptsächlich an die Autohändlerindustrie. Auf diesen Systemen lief die BASIC-Software auf angepassten 16-Bit-HP 21MX-Minicomputer-Derivaten (vor der Ära erfolgreicher 16-Bit-Mikroprozessoren). Dies war ein mittelständisches Unternehmen mit Dutzenden von Basic-Programmierern. Sie verwendeten einen altmodischen BASIC-Dialekt, der Zeilennummern erforderte und nur 286 mögliche Variablennamen zuließ, und dennoch stellten die Lösungen die gesamte Unternehmensbuchhaltung und das Inventar (usw.) für mittelständische Unternehmen bereit. Die Forschungs- und Entwicklungsgruppe hat auch Assembler, Compiler und sogar Hardware-Emulatoren in Basic geschrieben, um die Bootstrap-Entwicklung ihrer Hardware der nächsten Generation zu unterstützen.

Als er versuchte zu erklären, was meiner Meinung nach die Vorteile moderner Programmier- und Hardware-Entwurfsmethoden für einen Oldtimer sind, erklärte er mir, dass gute Designer die Lösungen für ihre Probleme richtig partitionieren, modularisieren und strukturieren, auch wenn kein direkter Ausdruck dafür erstellt wurde in die Sprache oder in die Werkzeuge, während schlechte Designer, wie er bemerkte, unprüfbaren Müll produzieren können, egal welches "schicke" modische Entwicklungsparadigma sie verwenden.


1

Tatsache ist, dass die meisten neuen Autohändler in den USA heutzutage BASIC-Programme verwenden, um Finanzierungsoptionen anzugeben und die langen Abrechnungen zu erstellen, die Sie beim Kauf eines Autos erhalten. Die Programme sind in archaischen Minicomputerversionen von BASIC geschrieben und werden auf moderner Hardware emuliert. Es sind Web-Benutzeroberflächen hinzugefügt, aber die BASIC-Funktion spricht mit einer Anzahl darunter.

Um 1980 wurde die universelle Lebensversicherung zu einer Modeerscheinung im Lebensversicherungsgeschäft. Jedes Unternehmen wollte es sofort verkaufen, und es erforderte, dass die Kontowerte für jede Police monatlich unter Verwendung einer sehr komplizierten Kombination aus Zinsen und versicherungsmathematischem Hokuspokus berechnet wurden. Da große Projekte in Datenverarbeitungsabteilungen damals etwa ein Jahr in Anspruch nahmen, gingen viele Unternehmen mit so vielen Äpfeln, PCs und / oder Tandy TRS-80s in Produktion, wie sie für die kompliziertere Version der Mainframes benötigt wurden 20 Jahre. Praktisch alle davon wurden in BASIC programmiert. Meistens verwendete der BASIC Gleitkommazahlen mit kurzer Genauigkeit, sodass Millionen von Kundengeldern bei der Rundung verloren gingen.

JPL hatte eine Version von BASIC, die es auch vor ungefähr 35 Jahren ausgiebig verwendete. Es hieß MBASIC, wobei M für Management steht, wurde aber unter anderem zum Programmieren von Raumfahrzeugen verwendet.


1

IBMs äußerst beliebtes Verkaufsstellensystem 4680/4690 wurde in einem Dialekt mit dem Namen IBM 4680 BASIC geschrieben . Ich habe von 1998 bis 2002 für einen großen britischen Einzelhändler an diesem System gearbeitet.

Dieses System war sehr beliebt, laut dem Wiki-Artikel, der 2005 immer noch 12% des Marktanteils hielt. Das System ist heute noch stark, die Chancen stehen gut, dass die meisten Menschen in der westlichen Welt dieses BASIC-System in den letzten Jahren indirekt verwendet haben Woche.


0

Schauen Sie sich PICK oder eine der anderen MultiValue-Datenbanken an. Sie alle verlassen sich auf DataBasic als Haupt- oder Einzelsprache und haben eine signifikante vertikale Marktnutzung. Wir betreiben immer noch ein System, das ich vor über 20 Jahren für das Beschaffungs-Benchmarking geschrieben habe. Läuft auf etwa 50.000 Codezeilen.


0

In den 80er Jahren gab es in Indien eine Firma namens Softek, die ihre eigenen Versionen von Wordstar, dBase und Lotus 1-2-3 entwickelte. Ein weiteres Produkt war ein BASIC-Compiler.

Mit ihrem eigenen CBASIC erstellten sie ein sehr umfassendes Double-Entry-Accounting-Paket namens SIMS-FA (Softek Financial Accounting).


0

Irgendein? Ja. Viele? Nein. Lernsoftware und Aufzeichnungen.

Die BASIC-Ära: ~ 1970-1990

Bis etwa 1990 übertrafen die Einschränkungen die Erwartungen und entwickelten sich mit den Anforderungen der Branche. Die Bedürfnisse größerer Unternehmen wurden größtenteils von Beratern analysiert und mit jeder Sprache erfüllt, die diese Bedürfnisse erfüllte.

Ähnlich wie heute, wo Unternehmen eine mehr oder weniger ausgeprägte Vorstellung davon haben, was sie benötigen, und eine Lösung mit VBA entwickeln und dann genug lernen, um kompetentere Client-Server-Lösungen, Web-Apps und optimierte Schnittstellen für die Datenpflege zu finden .

In den 1970er Jahren wäre es ein großer Fortschritt, wenn ein normales Unternehmen Konten ausgleichen oder Produktionszahlen am Computer registrieren könnte, ohne das Budget eines Unternehmens zu haben. Wenn Sie ein Diagramm erstellen könnten, wäre das fantastisch.

In den 1980er Jahren wäre es auch fantastisch, wenn Sie einige Produktzeichnungen auf den Computer migrieren könnten, um sie bearbeitbar zu machen.

Beides könnte mit einer auf Dolmetschern basierenden Sprache erfolgen. Da Computer mehr Daten speichern konnten, erforderte die Komplexität Compiler, da CPUs von 1977 bis 1987 beim Mischen von Rohdaten hinter Moores Gesetz zurückblieben.

Bis zum Ende der 1980er Jahre, als die Erwartungen nach mehr verlangten, erledigten die in den 1970er Jahren etablierten Sprachen (in seltenen Fällen ergänzt durch Assembler und / oder kundenspezifische Hardware wie FPU-Boards) die gesamte ernsthafte kommerzielle Arbeit in Unternehmen mit wenigen Ausnahmen. Cobol und Fortran war immer noch das Ticket auf Großrechnern. Das konnten sich nur Unternehmen leisten, und seriöse Unternehmen leisteten mit internen BASIC-Programmen so seriöse Arbeit, und für eine Weile war das genug.

Eigenständige Softwarepakete für den allgemeinen Gebrauch wie Textverarbeitungsprogramme oder Diagrammplotter kamen zu dieser Zeit auf den Markt, als Betriebssysteme auf erschwinglichen Computern als Ziel für Compiler herangereift waren und Speicher für Dokumente und Daten in Unternehmensgröße entstanden.

Pascal war hier ein Hauptanwärter. Zuvor waren fast alle in Assembler geschrieben worden. Schließlich kam C von Unix und wurde auf PCs verwendet.


0

In den Tagen des Commmodore 64 war ein Teil des Spiels Gunship in BASIC geschrieben. Sie können sogar den Code bearbeiten, sodass Ihr Helikopter bei jeder Landung ausgerüstet sein kann.


Ich weiß, dass einige (kommerzielle) Spiele vollständig in Basic geschrieben wurden, aber ich habe Spiele aus einem Grund ausgeschlossen: Spiele sind alles, was Sie daraus machen, solange sie lustig sind. Es ist einfacher, mit den Einschränkungen umzugehen, wenn der "Funktionsumfang" vollständig dem Designer überlassen ist und die Wartung kein Problem darstellt.
user281377

0

BBC BASIC entstand auf der im Jahr 1981 in Großbritannien veröffentlichten BBC Micro . Als die Version 5 auf Acorns ARM-basierten RISC-OS-Computern implementiert wurde, galt sie als die am schnellsten interpretierte BASIC der Welt. Seine Syntax wurde für seine Zeit weiterentwickelt, einschließlich struktureller Schlüsselwörter wie CASE und WHILE sowie Funktionen und Prozeduren. (Es enthielt sogar einen Assembler, ursprünglich für 6502 und dann für ARM in den RISC-Betriebssystemversionen .)

Viele kommerzielle Desktop-Anwendungen wurden damit geschrieben, möglicherweise vor allem, weil sie einen bequemen Zugriff auf die SWI-Aufrufe des kooperativen WIMP-Systems ermöglichten. Es war schnell genug, dass sogar einige Arcade-Spiele damit geschrieben wurden - Nevryon , ein R-Type-Klon, ist einer, an den ich mich besonders erinnere, als ich die Quelle von ansah .


Eigentlich hatte ich sowohl ein Acorn Electron (kleinere Version der BBC) als auch ein Acorn Archimedes (und auch ein Cambridge Z88, das das gleiche BASIC verwendete); und ja, das BASIC in diesen Computern war ein bisschen besser als in den meisten anderen Heimcomputern. Da das BASIC auch die Möglichkeit zur Verwendung von Inline Assembler enthielt, kann es schwierig sein, reine BASIC-Programme von gemischten Programmen zu unterscheiden, wenn Sie nur einen Blick auf den Quellcode werfen.
user281377

Oh, ein kurzer Blick genügt wirklich, um zwischen den beiden zu unterscheiden. Sehr anders aussehend. Und obwohl es einen Assembler enthielt, war es nicht üblich, Assembler-Quellcode zu verteilen. Normalerweise wird stattdessen der zusammengesetzte Binärcode eingefügt.
Dan Ellis

0

Die alten xBase- Datenbankskriptsprachen (wie dBase II , dBase III + , Clipper usw.) waren eng mit den verschiedenen nicht standardmäßigen BASICs der Zeit verwandt.

Nicht gerade BASIC wird für kommerzielle Zwecke verwendet, aber vielleicht nahe genug.


Steve314: Diese xBase-Sprachen waren dem Heimcomputer BASIC weit voraus. Ich habe viel Code in Clipper geschrieben, und ich erinnere mich an Funktionen, lokale Variablen, Schleifenanweisungen und viele andere Dinge, die im BASIC des Heimcomputers der 80er Jahre fehlen. Yannis: QuickBasic erschien 1985.
user281377

@ user281377 - BBC Basic war 1981 strukturiert und verfügte über Prozeduren, obwohl weiterhin Zeilennummern benötigt wurden. ANSI Standard Basic (1984) enthielt Blockstrukturen sub(eine Funktion / Prozedur mit Parametern und lokalen Variablen) und mehr und machte Zeilennummern optional. Borland Turbo Basic im Jahr 1985 hatte die meisten Standard-Basisfunktionen IIRC. Ich habe GFA Basic auf dem Atari ST ein gutes Stück verwendet - auch strukturiert, prozedural, keine Zeilennummern. In den 80er Jahren gab es eine Menge strukturierter, prozeduraler Grundlagen.
Steve314

@ user281377 - xBase hatte offensichtliche Vorteile in Bezug auf das Datenbankhandling und Dateneingabeformulare. Es wurden Dinge ausgeführt, die mir nicht bekannt waren, aber Sie konnten genauso leicht darauf hinweisen, dass STOS offensichtliche Vorteile für das Anzeigen von Sprites und das Lesen von Joysticks hatte.
Steve314

@ Steve314: Ich weiß, dass es BASIC-Dialekte mit guten Funktionen gab, aber ich frage speziell nach den anderen BASICs. Die, in denen GOTO und GOSUB alles waren, was Sie hatten. Wo jede Variable global war und ein eindimensionales Array so viel Datenstruktur aufwies, wie Sie nur bekommen konnten. Clipper war ein wirklich fortgeschrittener xBASE-Dialekt. Ehrlich gesagt kann ich mich nicht erinnern, wie viele der erweiterten Funktionen von Clipper auch in dBASE III verfügbar waren, aber zumindest hatte es richtige Do-While-Schleifen.
user281377

1
@ user281377 Die ursprüngliche Version der Antwort erwähnte Visual Basic (woher haben Sie QuickBasic?), worüber ich geschrien habe: P
yannis

-2

Die meisten Mikros hatten nur grundlegende (ROM) oder Assembler-Entwicklungstools. Für nicht geschwindigkeitskritische Programme wurde BASIC für viele kommerzielle Anwendungen sowie für die meisten firmeninternen Projekte verwendet. Selbst als CP / M auf den Markt kam, bestand die einzige echte Verbesserung in der Fähigkeit, größere Projekte zu bearbeiten und den Basic Compiler (BASCOM) von Microsoft zu verwenden. Meine eigenen Erfahrungen mit der frühen Mikroentwicklung waren wie folgt:

~ 1980 - Microsoft ROM Basic auf einer Nascom 2 mit einem kleinen Assembler. Die kommerzielle Anwendungsentwicklung umfasste ein Mehrwertsteuer- Rückgabeprogramm und ein Prozesssteuerungsprogramm (beide in BASIC).

198? - Benutze immer noch BASIC, aber ich hatte jetzt auch Pascal (BLS - Vorläufer von Borland Pascal ).

Mitte der 1980er Jahre - PCs beginnen zu dominieren und erste C-Compiler ( Hisoft und Mix) erscheinen. BASIC geht in den Abstieg (später in Zombie-Form natürlich von MS mit Visual Basic wiederbelebt ). GW-BASIC war als internes Entwicklungswerkzeug sehr beliebt. Zahlreiche kommerzielle Pakete (Buchhaltung, Bestandskontrolle usw.) wurden noch in BASIC geschrieben.

Ende der 1980er Jahre - C wird zur Hauptentwicklungssprache (nach der Veröffentlichung von MSC 5 im Jahr 1986?). Microsoft und Borland dominieren in den nächsten Jahren ...


1
Wie beantwortet das die Frage?
gnat

Es beantwortet die Frage mit "Ja, Basic wurde in den letzten 70er und frühen 80er Jahren häufig für die kommerzielle Entwicklung verwendet". Bedenken Sie bei der Überwindung offensichtlicher Mängel, dass die Programmierer diese Mängel zu diesem Zeitpunkt noch nicht erkannt haben. Basic is Turing complete, damit clevere Programmierer alles tun können, was sie brauchen (die Hauptbeschränkungen waren natürlich Geschwindigkeit, Speicher, Speicher usw., aber diese Einschränkungen galten zu der Zeit für alle Entwicklungen). Ich bin mir nicht sicher, warum so viele Abwärtsstimmen, ich habe nur versucht, die Frage zu beantworten.

Diese beiden von Ihnen erwähnten Programme wurden an mehrere Kunden verkauft (keine Eigenentwicklung) ? Können Sie Referenzen teilen, wo man mehr darüber erfahren kann?
gnat

Leider sind viele Anwendungen (einschließlich derjenigen, auf die ich auch verwiesen habe) im Nebel der Zeit verloren gegangen (kein Interweb oder sogar BBSs, an die zu der Zeit verteilt werden muss). Ich habe die Kassetten darauf verloren, dass diese angehalten wurden, aber sie waren: 1) Nicht Spiele, 2) Nicht frei, 3) Nicht trivial und 4) Missionskritisch. Ich kann nicht sagen, dass sie an viele Kunden verkauft wurden, die Contoal-App war für einen bestimmten Kunden bestimmt, die VAT-App wurde mehrmals weiterverkauft. Immer noch verärgert über Abwärtsstimmen (Mistpflücker oder soll ich sagen Mückenpflücker :-)).
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.