Beta BASIC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 30:
==Limiti dell'interprete==
Il Beta BASIC soffriva di alcuni limiti. Come tutti i [[microprocessore|microprocessori]] ad 8 bit, anche lo [[Zilog Z80]] dello Spectrum poteva gestire direttamente solo 64 KB di memoria: di questi, 16 KB erano la ROM che conteneva l'interprete Sinclair BASIC, lasciando indirizzabili solo 48 KB di RAM. Per memorizzare le informazioni video il sistema utilizzava parte di questa RAM, usata anche per salvare alcune strutture dati dell'interprete. Il Beta BASIC occupava circa 11/12 KB della restante memoria per cui alla fine restavano liberi per l'utente 20/30 KB di RAM.
<!--
 
Il Beta BASIC non possedeva un proprio [[compilatore]] e quelli esistenti per il Sinclair BASIC, come l'[[HiSoft]] BASIC, non erano compatibili non riconoscendo le parole chiave aggiuntive del Beta BASIC: l'unico modo per sfruttare tali compilatori con il Beta BASIC era quello di scrivere del codice senza utilizzare i nuovi comandi.
The replacement of Sinclair's editor meant that it was not possible to use the 128K Spectrum ROM's full-screen BASIC editor. No [[compiler]] was available for Beta BASIC code and existing Sinclair BASIC compilers such as [[HiSoft]] BASIC could not handle the extended keywords and facilities of Beta BASIC. It was possible to develop under Beta BASIC and later compile with HiSoft BASIC, but only by restricting oneself to the limited subset of Sinclair BASIC supported by both implementations - a very frustrating experience for a Beta BASIC coder.
 
Come il Sinclair BASIC, anche il Beta BASIC supportava solo variabili ed operazioni in [[numero in virgola mobile|virgola mobile]], un limite rispetto ad altri BASIC dell'epoca che supportavano anche i [[numero intero (informatica)|numeri interi]]. Un altro limite del Beta BASIC era la possibilità di utilizzare solo nomi di variabili lunghi 1 lettera.
Because Spectrum BASIC onlyhttp://www.worldofspectrum.org/infoseekid.cgi?id=0007956 supported [[floating-point]] variables and arithmetic (there was no support for [[Integer (computer science)|integer]] work), neither did Beta BASIC. This was unfortunate, as this provided significant speed gains and memory savings in rival BASICs. Another remaining Sinclair BASIC limitation was that only single-letter variable names could be used for strings, arrays and other types.
 
L'assegnazione dei nomi alle procedure avveniva nel Beta BASIC senza l'obbligo di utilizzare la parola chiave <code>PROC</code>, obbligatoria invece nell'unico altro BASIC ad 8 bit che integrava il supporto per la programmazione strutturata, il [[BBC BASIC]]. Grazie a tale caratteristica si potevano creare nuove parole chiave, estendendo quelle dell'interprete. Ma il BBC BASIC, nonostante non offrisse tale possibilità, forniva una velocità di esecuzione maggiore: esso era uno dei più veloci interpreti dell'epoca. Il Beta BASIC non era particolarmente veloce, anche se rimpiazzava alcune routine dell'interprete in ROM con altre più veloci, ad esempio quelle per il tracciamento grafico di cerchi ed archi. Un'altra carenza rispetto al BBC BASIC era il supporto all'esecuzione di [[codice macchina]] inserito nelle linee dei programmi BASIC.
The only other 8-bit BASIC with inbuilt support for structured programming was [[BBC BASIC]]. Beta BASIC named procedures did not need to be called with the PROC keyword like in BBC BASIC and thus became new language keywords, allowing the language to be extended in itself. However, BBC BASIC was considerably quicker - the fastest BASIC interpreter of the time. Beta BASIC was not especially fast, though it included faster replacements for particularly slow ROM routines, such as the circle and arc drawing code. Another BBC BASIC feature it lacked was support for the inclusion of inline assembly language in BASIC programs.
 
<!--
== Subsequent development ==
During the development of their sophisticated new successor to the Spectrum, the [[SAM Coupé]], Alan Miles and Bruce Gordon of [[MGT]] approached BetaSoft and contracted Dr Wright to provide the BASIC for the new machine. He provided a complete BASIC interpreter which drew extensively upon Beta BASIC but was differently structured, as this was a language in its own right and had no Sinclair ROM to call upon or work around. [[SAM BASIC]] was largely compatible with Beta BASIC and operated in a very similar manner, except for areas where the SAM hardware was significantly different, such as the SAM's screen and extended memory. BetaSoft later released an extension to SAM BASIC, named MasterBASIC [http://www.worldofsam.org/node/202].