BASIC classica è mai stata utilizzata per lo sviluppo di software commerciale e, in caso affermativo, come sono state superate le limitazioni?


46

Molti di noi, incluso me, hanno iniziato la loro vita di programmazione con programmi scritti sui computer di casa , qualcosa del genere

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

Naturalmente, il BASIC basato sul numero di riga era incline alla creazione di codice spagetti, anche perché la maggior parte dei dialetti BASIC mancava di affermazioni strutturali come WHILE, facendo tutto tranne il FOR-loop con IF, GOTOe GOSUB. Sto parlando dei dialetti BASIC prima del 1991, quando apparvero QBASIC e Visual Basic .

Mentre i dialetti BASIC potrebbero aver promosso uno stile cattivo tra gli aspiranti programmatori, c'erano progetti commerciali più grandi creati in un dialetto BASIC? In tal caso, come sono riusciti a convivere e ad ovviare alle ovvie carenze?

Per "serio" intendo:

  • Non un gioco (so che alcuni giochi commerciali sono stati scritti in BASIC, ad esempio Pimania )
  • Non freeware
  • Non banale, cioè abbastanza grande (diciamo: almeno 1500 LOC )
  • Venduto a più clienti (non uno sviluppo interno)
  • "Mission critical" è un vantaggio

30
Were those BASIC dialects only used to teach aspiring programmes bad styleHm ... E 'un cattivo stile ora , ma non era allora.
yannis,

9
Dartmough BASIC è stato progettato nel 1964 (ed era un linguaggio compilato, interessante), un'epoca dominata da FORTRAN.
Yannis

8
Supponendo che tu stia tentando di calcolare la circonferenza di un cerchio, lo stile non è l'unica cosa negativa che vedo qui.
William Jackson,

5
I'm seriously pissed off that this question was closed during the "History" contest.Heh, hai perso una grande opportunità per ottenere alcune visualizzazioni extra per la domanda sollevandola su Meta.
yannis,

15
Il 99% di tutti i software scritti sono app line-of-business scritte internamente e per definizione le rendono più serie che puoi ottenere.

Risposte:


48

Sicuro. Prima che accadessero le cose di Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Apple, c'era una deliziosa piccola macchina conosciuta come IBM 5100 . Aveva BASIC in ROM , una grande unità nastro (o due), 8 KB di memoria. uno schermo a 24 linee e una stampante, il tutto per un misero 10.000 USD - un ordine di grandezza più economico del tuo mini standard. Originariamente costruito per gli scienziati (anche APL in ROM era un'opzione), ma alcuni tipi di contabilità lo scoprirono e iniziarono una mania: ogni piccola impresa ne voleva uno. Con software personalizzato, ovviamente. Il 5110 lo seguì, con le unità a nastro sostituite da floppy da 8 ".

Qualche software commerciale? Galoons .

Puoi dire contabilità generale, libro paga, contabilità fornitori, contabilità clienti, controllo inventario e fatturazione? Ci sono stato, l'ho fatto - in BASIC. Bollette, inventario auto nuove e usate, ritiro camion e pianificazione consegna bevande? Sì - BASIC. Vuoi rintracciare il minerale di ferro dalle miniere ai treni sulle navi ... BASIC. Tutto ciò che non era un pavimento sopraelevato probabilmente veniva fatto in BASIC. Commercialmente, intendo. (Perché RPG II non conta ;-).

Come si sono aggirati i limiti?

Bene, la prima cosa che hai fatto è stata rimandare il cliente a IBM per avere più memoria, perché chi potrebbe scrivere qualcosa di serio in 8 KB? È sufficiente doveva avere 16. E due unità a nastro, se possibile, perché la teoria degli automi a parte, si fondono l'ordinamento su un singolo nastro è, beh, un po 'lento.

Oh, scusa, intendevi i limiti di BASIC.

Bene, dovevi gestire le tue risorse abbastanza attentamente - cose come i numeri di riga - perché non volevi esaurirle; vero dolore nella parte posteriore per dover rinumerare un'intera sezione e digitare tutto nuovamente, senza perdere accidentalmente una o due righe di codice.

No, sto solo scherzando. In realtà non abbiamo avuto questo problema fino al micro-er, si sono presentati i computer di casa, con un interprete BASIC che non poteva fare rinumerazione da solo.

Abbiamo anche usato la modularità: dove hai chiamato un nuovo programma, lo hai eseguito fino alla sua chiusura e sei tornato al programma chiamante. Un gosub sugli steroidi (perché hai più memoria da usare), ma molto più lento (perché la macchina ha impiegato un po 'di tempo per trovare il programma sul nastro e caricarlo, quindi riavvolgere e trovare il programma originale e caricarlo indietro...). Un po 'come un fork e un exec, ma senza il fork, solo meglio perché l'intero spazio di memoria era condiviso.

Anche un uso rigoroso delle convenzioni ha aiutato - sai, come "DEVI sempre indirizzare un GOSUB a una riga di commento che dice ciò che fa questa routine e DOVREBBE fare lo stesso per un GOTO quando possibile. Roba del genere. Oh, e strutturato programmazione , un po 'più tardi - di nuovo "per convenzione".

Alcuni sono andati anche un po 'all'estremo: OAOO , YAGNI , TSTTCPW , accoppiamenti, refactor senza pietà, quel genere di cose. Non con quei nomi, ovviamente. (Vedi anche: Ecclesiaste ;-)

I giorni di gloria.


4
Tra tutte le buone risposte, scelgo questo perché non ha ancora avuto troppo amore (voti positivi) e anche perché evidenzia l'uso di BASIC per software commerciale su microcomputer prima dell'ascesa dei computer domestici.
user281377,

1
Voto
positivo

46

Il primo software su cui abbia mai lavorato è stato un programma GW-BASIC a 8k line che la società ha scritto negli anni '80 per utilizzare il calcolo del trasferimento di calore per dimensionare e valutare le apparecchiature della caldaia. Sebbene il codice fosse completamente incomprensibile, riuscì a funzionare così bene che lo usarono da oltre 20 anni.

Questa era la forza di BASIC che un ingegnere meccanico con un manuale di riferimento poteva effettivamente scrivere software utilizzabile di qualità (all'epoca). Prima di BASIC e la prevalenza del PC, una cosa del genere sarebbe stata sconosciuta. Dovresti assumere un team di ingegneri informatici e possibilmente operatori di computer per programmare e lavorare su un mainframe condiviso. Tutto ciò sarebbe stato di gran lunga troppo complesso per il tipico ingegnere meccanico per riprenderlo in breve tempo.

Quindi sicuramente BASIC è stato molto utile oltre gli appassionati di home computer, questa è stata la prima introduzione di molte aziende nel regno della scrittura di software personalizzato in-house a un prezzo accessibile senza team di esperti.


Assolutamente, questo. - ^^^
Robert Harvey,

30

Sì, ci sono stati numerosi prodotti commerciali e altri sviluppi "seri" realizzati in BASIC. Per capire perché, devi capire il contesto degli anni '70 e '80, quando BASIC è cresciuto con mini e microcomputer.

A quel tempo, il macchinario era decisamente snello per gli standard odierni. Le CPU avevano un clock a pochi MHz (spesso molto meno per i microcomputer) e avevano meno memoria di quella che sarebbe occupata dall'HTML necessario per rendere questa pagina. Se avessi intenzione di distribuire un prodotto, dovevi utilizzare gli strumenti disponibili, che erano un assembly bare-naked o, su microcomputer, l'interprete BASIC che veniva spedito in ROM (spesso 16K in uno spazio di indirizzi 64K) con il sistema . C'erano altre lingue disponibili, ma molte non avevano tutte le caratteristiche strutturate che diamo per scontate. Ciò ha molto a che fare con il fatto che la memoria era scarsa, * nulla era virtuale tranne che su sistemi di fascia alta e di solito non ce n'era abbastanza per contenere un compilatore per un linguaggio più sofisticato. Con risorse così limitate, "serie"

La tua argomentazione secondo cui i produttori dei primi computer domestici avrebbero dovuto conoscere meglio e fornire un linguaggio strutturato non funziona proprio in quel contesto. Semplicemente non sarebbe successo con la tecnologia disponibile a un prezzo che la gente potesse digerire.

Il modo in cui aggiravamo le carenze linguistiche era semplice: non le vedevamo in quel modo e facevamo il lavoro con ciò che era disponibile. ANSI Minimal BASIC è strutturato in modo molto simile al linguaggio assembly in quanto si ottiene la maggior parte degli stessi gusti di semplici ramificazioni e chiamate di subroutine, ma spetta a voi assicurarsi che le stelle siano allineate correttamente. L'unica eccezione è il FOR..NEXTcostrutto utilizzato per fornire il loop. In sostanza, se volevi sviluppare qualcosa in BASIC e farne un buon lavoro, dovevi pianificare e comprendere la struttura dei tuoi programmi con la stessa attenzione che se stessi scrivendoli in assemblea. Gli strumenti di debug disponibili erano molto primitivi, quindi, in sostanza, dovevi agire insieme se volevi che i tuoi programmi funzionassero e fossero mantenibili.

Sì, allora c'erano molti spaghetti, ma devo ancora vedere una lingua in cui è impossibile scrivere un codice errato.


* All'inizio degli anni '80 la memoria era di circa US $ 750-1.000 per MB. Aggiustato per l'inflazione, vale a dire $ 1.600-2.200 in dollari 2010. Nello stesso anno, il costo per megabyte era di circa 0,03 USD.


Ricordo di aver pagato circa $ 1000 per una scheda di memoria EMS da 2 Megabyte negli anni '80. Il computer in cui è entrato, un kit clone per PC basato su NEC V20, costa circa $ 2500.
jfrankcarr,

LOL, ricordo che abbiamo dovuto ottenere un PO firmato dal presidente della compagnia per acquistare una scheda di memoria da 64 MB per un VAX alla fine degli anni '80. Ad essere onesti, era memoria ECC a doppia porta, ma costava da qualche parte sul lato opposto di $ 30K ...
TMN

C'erano applicazioni commerciali scritte in BASIC, alcune delle quali vendute per denaro, e un'applicazione commerciale venduta a caldo scritta in BASIC, per APPLE] [o CommodorePET, o Atari, o IBM, o microcomputer TI dei primi anni '80 potrebbero vendere da 100 a 500 copie, a circa $ 100 di prezzo unitario. Allora non c'era niente di simile al moderno prodotto software perché i computer allora erano piccoli e il software era minuscolo. Né base né C né assemblatore né nessun altro linguaggio moderno avrebbero cambiato questo.
Warren P,

Negli anni 80 il mainframe dei computer delle nostre università locali ha ottenuto un aggiornamento da 10 MB a 50 MB. Concesso che il 10mb fosse pieno solo a metà ma volevano avere abbastanza spazio per il prossimo futuro ... Immagina che un disco rigido con soli 50 mb per circa 50-100 utenti ... sia stato ucciso.
SoylentGray,

22

Il mio primo lavoro di programmazione al 100%, negli anni '80, stava lavorando a un pacchetto di contabilità del mercato verticale che era stato originariamente scritto in GW-BASIC . È stato portato su QuickBASIC 3.0, ma ha conservato quasi tutti i difetti associati ai primi dialetti BASIC. C'erano tonnellate di GOTO e molta scarsa struttura. C'erano circa una dozzina di moduli (inventario, libro mastro, ecc.) E il programma è stato venduto per circa US $ 1000 - US $ 2500 per modulo più contratti di supporto annuali. I ricavi dell'azienda erano compresi tra i 15 ei 25 milioni di dollari l'anno.

Per quanto riguarda il modo di convivere con le carenze, sono state risolte molte limitazioni utilizzando il linguaggio macchina o MASM . Era comune usare i comandi PEEK e POKE per inserire il linguaggio macchina nei programmi BASIC. Ho scritto programmi MASM (e in seguito C) per estendere il programma per aggiungere elementi come supporto rudimentale al database, comunicazioni e "grafica" testuale.


12
Mi dispiace per te, a meno che, ovviamente, non sia entrato nei 15 milioni.
Spencer Rathbun,

@SpencerRathbun - Purtroppo, mi è stato pagato un salario piuttosto basso, approssimativamente uguale a circa $ 35K oggi.
jfrankcarr,

Sì, il mio primo lavoro di programmazione è stato in Quickbasic 3. Non era una porta ma non era molto meglio. La parte principale era stata fatta da qualcuno il cui "addestramento" stava leggendo il libro fornito con il compilatore. Mission critical per i clienti, prezzo elevato a 4 cifre.
Loren Pechtel,

5

In un tale dialetto BASIC sono stati creati grandi progetti commerciali?

Sui vecchi computer domestici come il C64 o i suoi predecessori, esistevano molti programmi BASIC, e anche alcuni commerciali. Ma "grandi" erano raramente possibili, poiché con <64kB di RAM scrivendo programmi BASIC "grandi" non è proprio facile. Se volevi aggirare i limiti della macchina, in genere dovevi lasciare il terreno di BASIC, il "linguaggio di alto livello" e usare assembler.

Quindi la risposta alla tua domanda è "probabilmente non molte", ma non per i motivi che hai in mente (come "troppo incline all'errore / non strutturato" ecc.).

A proposito: AFAIK il famoso compilatore BASIC PETSpeed ​​è stato scritto in BASIC (compilato con se stesso, ovviamente).


4
Vorrei sottolineare che importante! = Grande, specialmente indietro a quei tempi. Oggi, i programmi commerciali tendono ad avere tutte le funzionalità immaginabili integrate, ma non è sempre stato così.
Jeanne Pindar,

@DocBrown Ci sono stati modi per aggirare il limite di memoria di 64k e applicazioni di grandi dimensioni. Molte applicazioni di grandi dimensioni esistevano più come suite di app con molti moduli.
maple_shaft

Ricordo diversi primi giochi commerciali di C64 scritti completamente o parzialmente in BASIC. 'Rox 64' è uno.
Alan B,

"Telengard" Penso che sia stato chiamato, un gioco di ruolo per il C64, era come 8k linee di Basic. È stato divertente modificare la fonte per farti diventare un super personaggio.
Neil N,

@maple_shaft: "Many?" Soprattutto "Molte applicazioni BASIC?" Avevo l'impressione che ce ne fossero solo alcuni.
Doc Brown,

5

L'intera linea contabile di Peachtree Software (crediti, debiti, ecc.) È stata scritta (e potrebbe ancora essere, per quanto ne so) in BASIC. Quando il PC IBM è stato lanciato per la prima volta, ho trascorso molte lunghe serate a fare il debug e correggere il loro codice per i clienti che hanno acquistato un IBM Personal Computer e i pacchetti Peachtree per fare i libri per le loro piccole imprese.


5

Il mio primo lavoro è stato nel 1981, programmando Apple II in Basic presso un ufficio Price Waterhouse (Pre Coopers) nella loro consulenza gestionale a Belfast, Irlanda del Nord. Un team di due / tre di noi ha sviluppato e installato sistemi nei clienti, tra cui una libreria e un macello. Era un sistema di modellizzazione finanziaria, in realtà un foglio di calcolo Visicalc molto complesso (50 fogli, 3.000 variabili) trasformato in un grande programma di base. Sono stati necessari due giorni di esecuzione su un sistema Apple II con 4 unità disco per elaborare il throughput di una settimana al mattatoio. Un po 'più veloce del loro sistema manuale che aveva richiesto due settimane a settimana per ogni settimana.

Passiamo quindi alle macchine Act Sirius, programmando nuovamente in Basic (Microsoft 8KB Basic) che sono state installate nei client.

Il Basic aveva numeri di riga ma c'era un toolkit che poteva rinumerare i programmi. Dato che ero appena uscito da Uni, dove avevo imparato Pascal, ho provato a scrivere nel modo più strutturato possibile (il più possibile in Basic), ma ovviamente sono stati usati Gotos e Gosubs.

In seguito ho programmato nel 1983 su Dec Rainbow che utilizzava CBasic, una base compilata goffa.


4

C'era un sacco di software commerciale scritto usando BASIC-PLUS sui sistemi PDP-11 . Ricordo di aver visto pacchetti statistici di analisi e contabilità, oltre a una discreta quantità di roba di automazione di laboratorio di fascia alta (non sono sicuro di quanto fossero "commerciali". Erano tendenzialmente inclusi in un pacchetto di strumenti, quindi non lo so se sono stati venduti separatamente.). ISTR BASIC era anche una delle lingue principali per lo sviluppo di applicazioni HP 2000 ed era la lingua principale (forse solo) supportata per le loro prime workstation serie HP 9800 .


HP2000 ha supportato lo sviluppo in qualcos'altro? La mia impressione era che l'HP2000 fosse hardcoded per eseguire solo programmi forniti dall'utente in HP Timeshare BASIC [alcuni o tutti i codici di gestione dei file e di gestione degli utenti del sistema avrebbero potuto essere scritti usando altre lingue o codici macchina].
supercat

3

I primi prodotti di database DOS di Alpha Software (circa 1985) "Database Manager I", "Database Manager II" (DMB2) e "Alpha Three" sono stati scritti in BASIC e compilati con il compilatore IBM BASIC. Ho lavorato su "Alpha Three". Tutta l'interfaccia utente era in BASIC ma aveva un componente TSR di base (termina e resta residente) scritto in C e ASM con cui il BASIC comunicava tramite gli interrupt. I numeri di riga e le interruzioni di riga occupavano prezioso spazio nel segmento, quindi il codice era orribilmente ridotto e illeggibile. Abbiamo usato costantemente variabili condivise e moduli scambiati. È stato difficile lavorare. Abbiamo comunque cercato di essere logici sull'organizzazione, quindi la nostra libreria di stringhe era tutta con i numeri di riga 60000 bassi. Un'operazione comune come tagliare una stringa sarebbe simile a:

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

Ci siamo convertiti in tutti i C poco dopo l'uscita di "Alpha Three".


1
Dato che tutte le variabili erano globali e che dovevi anche abusarne per il passaggio dei parametri, come hai gestito il tuo codice per evitare di sovrascrivere accidentalmente una variabile già utilizzata?
user281377,

Era basato sulla convenzione.
Pete Lyons,

3

All'inizio degli anni '80 la US Air Force acquistò un gruppo di computer bus Cromemco S100 per l'uso da parte di squadroni volanti come strumento di pianificazione del volo.

Il software di pianificazione del volo è stato sviluppato utilizzando BASIC da piloti e navigatori dell'aeronautica presso il Tactical Air Warfare Center, situato a Eglin AFB, in Florida .

Per quanto riguarda aggirare "le ovvie carenze" di BASIC, non sapevamo davvero niente di meglio. Il semplice accesso fisico a un computer a un equipaggio sembrava all'epoca un incredibile balzo in avanti della tecnologia.


2

Credo che l'originale Ultima su Apple] [sia stato scritto in Applesoft Basic.

DEC ha utilizzato la sua versione di BASIC per gran parte di RSTS e altri sistemi operativi sviluppati.


Si scherzava sul fatto che RSTS / E fosse scritto in BASIC, ma in realtà non lo era. Tuttavia, molti programmi di utilità per l'amministratore di sistema forniti con il sistema operativo sono stati scritti in BASIC.
Don Roby,

2

L'unica paura che ho avuto, come programmatore QuickBasic, 20 anni fa, era il messaggio "Memoria insufficiente". Ma questo mi ha reso un programmatore migliore! Ho imparato a scrivere codice compatto e serio.

Usavo QuickBasic per la programmazione industriale. Nel mondo reale (fabbriche) non puoi dire al tuo capo "ci vorrà mezzo anno per essere scritto in C"; puoi solo dire: "sì capo, sarà pronto la prossima settimana". Sì, BASIC era la soluzione pratica e rapida nel mondo reale. Non C o Pascal.

Uno dei programmi che ho scritto in QuickBasic 4.5, un database unico, è stato venduto a poche aziende e in realtà ha sostituito il database commerciale che avevano già (che probabilmente era stato scritto in C o Pascal). Questo database è in uso fino ad oggi.

Un argomento che voglio menzionare:

tutti pensiamo che i nuovi metodi di programmazione siano molto utili . Ma nella vita reale (industria), la maggior parte delle macchine, al giorno d'oggi, sono gestite da moderni PLC. I programmi sono generalmente scritti nella programmazione ladder, che è milioni di volte più primitiva di GW-BASIC. Come programmatore per PLC posso dire chiaramente: mi piacerebbe sostituire questa programmazione ladder primitiva con un linguaggio di alto livello come GW-BASIC o anche QuickBasic. (MEGA-BASIC è un dialetto utilizzato in passato per questo scopo).

Dopo tutto, cosa stanno facendo la maggior parte delle macchine? interpretazione degli input e impostazione degli output. Non hai bisogno di C / Assembly per questo, e non hai bisogno di Java. Hai sicuramente bisogno di QuickBASIC per creare un codice gestibile.


1

Assolutamente si.

Molto tempo fa, ho lavorato per un'azienda che ha venduto molti milioni di dollari di sistemi, principalmente al settore dei concessionari di automobili. Questi sistemi eseguivano software BASIC su derivati ​​per minicomputer HP 21MX a 16 bit personalizzati (prima dell'era dei microprocessori a 16 bit di successo). Questa era un'azienda di medie dimensioni con dozzine di programmatori di base. Usavano un vecchio dialetto BASIC che richiedeva numeri di riga e consentiva solo 286 possibili nomi di variabili, eppure le soluzioni fornivano tutta la contabilità aziendale e l'inventario (ecc.) Per le medie imprese. Il gruppo R&D ha anche scritto assemblatori, compilatori e persino emulatori hardware in Basic per aiutare lo sviluppo bootstrap del loro hardware di prossima generazione.

Nel tentativo di spiegare a un vecchio timer quali fossero i vantaggi di più moderne metodologie di programmazione e progettazione hardware, mi ha detto che i bravi progettisti hanno correttamente suddiviso, modularizzato e strutturato le soluzioni ai loro problemi, anche se l'espressione diretta di tale non è stata costruita nel linguaggio o negli strumenti, mentre, ha osservato, i cattivi progettisti possono produrre immondizie non debug, indipendentemente dal paradigma di sviluppo alla moda "fantasia" all'interno del quale lavorano.


1

Il fatto è che la maggior parte dei nuovi concessionari di automobili negli Stati Uniti oggi utilizza i programmi BASIC per citare le opzioni di finanziamento e per creare le dichiarazioni di liquidazione lunghe che ottieni quando acquisti un'auto. I programmi sono scritti in versioni arcaiche di minicomputer di BASIC in esecuzione su emulazione su hardware moderno. Ci sono innesti di interfacce Web, ma il suo BASIC parla con un tty sotto.

Intorno al 1980, l'assicurazione sulla vita universale divenne una moda istantanea nel settore delle assicurazioni sulla vita. Ogni azienda voleva venderlo immediatamente e richiedeva che i valori dei conti venissero calcolati ogni mese per ogni polizza usando una combinazione molto complicata di interessi e mumbo-jumbo attuariali. Dato che i grandi progetti nei dipartimenti di elaborazione dati avrebbero richiesto circa un anno allora, molte aziende entrarono in produzione con tutte le mele, i PC e / o Tandy TRS-80 necessari per fare la versione più complicata di ciò che era stato sui mainframe per circa 20 anni. Praticamente tutti questi sono stati programmati in BASIC. Principalmente il BASIC utilizzava il virgola mobile a precisione ridotta, quindi milioni di penny dei clienti si persero nell'arrotondamento.

JPL aveva una versione di BASIC che usava ampiamente anche circa 35 anni fa. Si chiamava MBASIC, con la M che indicava la gestione, ma era usato, tra le altre cose, per programmare i veicoli spaziali.


1

Il popolarissimo sistema di vendita al dettaglio 4680/4690 di IBM è stato scritto in un dialetto chiamato IBM 4680 BASIC . Ho lavorato su questo sistema dal 1998 al 2002 per un importante rivenditore del Regno Unito.

Questo sistema era molto popolare, secondo l'articolo wiki che deteneva ancora il 12% della quota di mercato nel 2005. Il sistema sta ancora andando forte oggi, le probabilità sono buone che la maggior parte delle persone nel mondo occidentale abbia utilizzato indirettamente questo sistema basato su BASIC negli ultimi settimana.


0

Cerca in PICK o in qualsiasi altro database MultiValue. Si basano tutti su DataBasic come lingua principale o unica e hanno un utilizzo verticale significativo del mercato. Gestiamo ancora un sistema che ho scritto per l'analisi comparativa degli appalti oltre 20 anni fa. Funziona con circa 50k righe di codice.


0

C'era una società chiamata Softek in India negli anni '80 che ha creato le proprie versioni di Wordstar, dBase e Lotus 1-2-3. Un altro dei loro prodotti era un compilatore BASIC.

Utilizzando il proprio CBASIC, hanno creato un pacchetto di contabilità a doppia entrata molto completo chiamato SIMS-FA (Softek Financial Accounting).


0

Qualunque? Sì. Molti? No. Software didattico e tenuta dei registri.

L'era BASIC: ~ 1970-1990

Fino al 1990 circa, le limitazioni hanno superato le aspettative e si sono evolute con le esigenze del settore. Per la maggior parte, i consulenti hanno analizzato le esigenze delle aziende più grandi e hanno incontrato qualunque linguaggio soddisfacesse.

Piuttosto come oggi, dove le aziende hanno un'idea più o meno sviluppata di ciò di cui hanno bisogno e hanno una sorta di soluzione da costruire con VBA, e quindi imparano abbastanza per scoprire soluzioni client-server più competenti, app Web e interfacce ottimizzate con la gestione dei dati .

Negli anni '70, se un'azienda normale fosse in grado di bilanciare i conti o registrare i dati di produzione sul computer senza il budget di una società, sarebbe un grande passo avanti nel tenere i libri, e se fosse possibile ottenere un diagramma, sarebbe stato fantastico.

Negli anni '80, se potessi migrare alcuni disegni di prodotti sul computer per renderli modificabili, sarebbe anche fantastico.

Entrambi questi potrebbero essere fatti con un linguaggio basato sull'interprete. Poiché i computer potevano contenere più dati, la complessità richiedeva compilatori, poiché le CPU erano in contrasto con la legge di Moore in merito alle prestazioni di shuffle dei dati grezzi dal 1977 al 1987 circa.

Ma fino alla fine degli anni '80, quando le aspettative richiedevano di più, le lingue stabilite negli anni '70 (integrate in rari casi da Assembler e / o hardware personalizzato come le schede FPU) facevano tutto il serio lavoro commerciale in aziende con poche eccezioni. Cobol e Fortran erano ancora il biglietto per i mainframe. Solo le società potevano permetterselo, e le aziende serie facevano quel lavoro serio che potevano fare con i programmi BASIC interni, e per un po 'questo era abbastanza.

Intorno a questo periodo arrivarono pacchetti software autonomi per uso generale come elaboratori di testi o diagrammi di diagrammi, quando i sistemi operativi erano maturati su computer a prezzi accessibili come obiettivi per i compilatori e ne emerse una memoria che poteva contenere documenti e dati di "dimensioni aziendali".

Pascal era un grande contendente qui. In precedenza, quasi tutto ciò era stato scritto in Assembler. Alla fine C arrivò da Unix e iniziò ad essere usato su PC.


0

Ai tempi del Commmodore 64 parte del gioco Gunship era scritto in BASIC. Potresti anche modificare il codice, in modo che il tuo elicottero possa essere equipaggiato ogni volta che atterri.


So che alcuni giochi (commerciali) sono stati completamente scritti in Basic, ma ho escluso i giochi per un motivo: i giochi sono qualunque cosa tu li crei, purché siano divertenti. È più facile convivere con i limiti quando il "set di funzionalità" dipende completamente dal progettista e la manutenzione non è un problema.
user281377

0

BBC BASIC nasce dalla BBC Micro , rilasciata nel Regno Unito nel 1981. Quando raggiunse la versione cinque, implementata sui computer con sistema operativo RISC basati su ARM di Acorn, era considerata la BASIC più veloce interpretata al mondo. La sua sintassi fu avanzata per i suoi tempi, comprese parole chiave strutturali come CASE e WHILE e funzioni e procedure. (Comprendeva persino un assemblatore, originariamente per 6502 , e poi per ARM nelle versioni del sistema operativo RISC .)

Molte applicazioni desktop commerciali sono state scritte utilizzandolo, forse in gran parte perché forniva un comodo accesso alle chiamate SWI utilizzate dal sistema cooperativo WIMP. È stato abbastanza veloce che ci sono stati persino alcuni giochi arcade scritti usando - Nevryon , un clone di tipo R, è uno di quelli che ricordo in particolare guardando alla fonte.


In realtà, avevo sia un Acorn Electron (versione più piccola della BBC) sia un Acorn Archimedes (e anche un Cambridge Z88 che utilizzava lo stesso BASIC); e sì, il BASIC in questi computer era un po 'meglio che nella maggior parte degli altri computer domestici. Ma poiché il BASIC includeva anche la possibilità di utilizzare l'assemblatore in linea, potrebbe essere difficile distinguere i programmi BASIC puri dai programmi misti se si dà un'occhiata al codice sorgente.
user281377,

Oh, una rapida occhiata è davvero tutto ciò che serve per distinguere tra i due. Di aspetto molto diverso. E sebbene includesse un assemblatore, non era comune distribuire il codice sorgente del linguaggio assembly. Di solito viene invece incluso il codice binario assemblato.
Dan Ellis,

0

I vecchi linguaggi di scripting del database xBase (come in dBase II , dBase III + , Clipper, ecc.) Erano abbastanza strettamente correlati ai vari BASIC non standard dell'epoca.

Non esattamente BASIC utilizzato per lavori commerciali, ma forse abbastanza vicino.


Steve314: quelle lingue xBase erano molto più avanti rispetto al computer di base BASIC. Ho scritto molto codice in Clipper e ricordo funzioni, variabili locali, istruzioni di loop e molte altre cose che mancano nel BASIC degli anni '80 del computer di casa. Yannis: QuickBasic è apparso nel 1985.
user281377

@ user281377 - BBC Basic nel 1981 era strutturata e aveva procedure, anche se aveva ancora bisogno di numeri di riga. Lo standard ANSI di base (1984) includeva strutture a blocchi sub(una funzione / procedura con parametri e variabili locali) e altro e rendeva facoltativi i numeri di riga. Borland Turbo Basic nel 1985 aveva le caratteristiche di base IIRC più standard. Ho usato GFA Basic su Atari ST un bel po '- anche strutturato, procedurale, senza numeri di riga. C'erano un sacco di basi strutturate e procedurali negli anni '80.
Steve314,

@ user281377 - xBase ha evidenti vantaggi in termini di gestione del database e moduli di immissione dei dati, facendo cose che nessun Basic ha fatto di cui io sia a conoscenza, ma poi puoi facilmente sottolineare che STOS ha evidenti vantaggi per la visualizzazione di sprite e la lettura di joystick.
Steve314,

@ Steve314: So che c'erano dialetti BASIC con buone caratteristiche, ma sto specificatamente chiedendo degli altri BASIC. Quelli in cui GOTO e GOSUB erano tutto ciò che avevi. Dove ogni variabile era globale e un array monodimensionale rappresentava la struttura di dati che si poteva ottenere. Clipper era un dialetto xBASE davvero avanzato; onestamente, non riesco a ricordare quante delle funzionalità avanzate di Clipper erano disponibili anche in dBASE III, ma almeno aveva dei loop di do-while adeguati.
user281377,

1
@ user281377 La versione originale della risposta menzionava Visual Basic (da dove hai preso QuickBasic?), era quello che stavo urlando; P
yannis,

-2

La maggior parte dei micro aveva solo strumenti di sviluppo di base (ROM) o assemblatore. Per i programmi non critici per la velocità, BASIC è stato utilizzato per molte applicazioni commerciali e per la maggior parte dei progetti aziendali interni. Anche quando CP / M è arrivato, gli unici miglioramenti reali sono stati la capacità di gestire progetti più grandi e utilizzare il compilatore di base (BASCOM) di Microsoft. La mia esperienza con il micro sviluppo iniziale è stata la seguente:

~ 1980 - Microsoft ROM di base su un Nascom 2 con un piccolo assemblatore. Lo sviluppo di applicazioni commerciali comprendeva un programma di dichiarazione IVA (imposta sulle vendite) e un programma di controllo del processo (entrambi in BASIC).

198? - Continuo a usare BASIC, ma ora avevo anche Pascal (BLS - precursore di Borland Pascal ).

Metà degli anni '80 - I PC iniziano a dominare e compaiono i primi compilatori in C ( Hisoft e Mix). BASIC va in declino (rianimato in seguito in forma di zombi da MS con Visual Basic ). GW-BASIC era molto popolare come strumento di sviluppo interno. Numerosi pacchetti commerciali (contabilità, controllo delle scorte, ecc.) Erano ancora scritti in BASIC.

Fine degli anni '80 - C diventa il principale linguaggio di sviluppo (dopo che MSC 5 è stato rilasciato nel 1986?). Microsoft e Borland domineranno per i prossimi anni ...


1
come risponde alla domanda?
moscerino

risponde alla domanda dicendo "sì, la base era ampiamente utilizzata per lo sviluppo commerciale negli ultimi anni '70 e primi anni '80". Per quanto riguarda il superamento di evidenti carenze, tenere presente che i programmatori non hanno riscontrato queste carenze al momento. Basic è Turing completo, in modo che i programmatori intelligenti potessero fare tutto ciò di cui avevano bisogno (le limitazioni principali erano ovviamente, velocità, memoria, memoria ecc. Ma queste limitazioni si applicavano a tutto lo sviluppo in quel momento). Non so perché così tanti voti negativi, stavo solo cercando di rispondere alla domanda.

questi due programmi che lei menziona, sono stati venduti a diversi clienti (non uno sviluppo interno) ? puoi condividere riferimenti dove puoi saperne di più su questi?
moscerino del

Purtroppo molte applicazioni (comprese quelle a cui ho fatto riferimento) sono state perse nella notte dei tempi (nessun interweb o persino BBS da distribuire in quel momento). Ho perso le cassette sul fatto che erano state interrotte ma erano: 1) Non giochi, 2) Non gratuiti, 3) Non banali e 4) Mission critical. Non posso dire che sono stati venduti a molti clienti, l'app per i contorni era per un cliente specifico, l'app per l'IVA è stata rivenduta più volte. Ancora irritato per i voti negativi (raccoglitori di nit o shoud dico raccoglitori di moscerini :-)).
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.