For faster navigation, this Iframe is preloading the Wikiwand page for Applesoft BASIC.

Applesoft BASIC

Screenshot van de opdrachtprompt van Applesoft BASIC met een Hello world-programma

In de informatica is Applesoft BASIC een programmeertaal. Het was het tweede dialect van de taal BASIC dat geleverd werd op de Apple II-computer, als opvolger van Integer BASIC.

Applesoft BASIC werd voor Apple ontwikkeld door Microsoft, toen Apple de Apple II Plus introduceerde met een groter werkgeheugen van 48 kB RAM. Microsofts had al ervaring met de ontwikkeling van Altair BASIC. Apple nam een licentie op een assembleertaalversie van 10 kB van BASIC die men "Applesoft" noemde. Deze leek sterk op (en deelde inderdaad code met) BASIC-implementaties op andere 6502-gebaseerde computers, zoals Commodore BASIC.

De taal maakte gebruik van regelnummers. Spaties tussen de verschillende commando's waren niet noodzakelijk tijdens het intypen van regels, maar werden naderhand automatisch toegevoegd door Applesoft BASIC. Hoewel trager dan voorganger Integer BASIC, had hij enkele belangrijke nieuwe mogelijkheden:

  • Atomische strings: een string is niet langer een array van karakters (zoals in C); in de plaats daarvan een object dat door garbage collection wordt opgevangen (zoals in Scheme en Java). Dit laat string-arrays toe; DIM A$(10) resulteerde in een vector van tien stringvariabelen;
  • Multidimensionele arrays;
  • Enkele-precisie floating point variabelen met een 8-bit exponent en 31-bit mantisse. Hierbij werd ook een trigonometrische bibliotheek voorzien;
  • Hoge-resolutie grafische mogelijkheden;
  • CHR$, ASC, STR$, en VAL functies voor conversie tussen strings en numerieke types;
  • LET statement is optioneel.

Er werden om verscheidene redenen relatief weinig actiespellen volledig geschreven in Applesoft BASIC:

  • In een tijdperk waar men klokcycli nauwkeurig telde en geheugen beperkte, was het een vreemd idee om snelheidsafhankelijke programma's te schrijven die enkel via een runtime interpreter draaien.
  • Het gebruik van reële getallen voor alle wiskundige bewerkingen creëerde onnodige overhead en verminderde de prestaties van programma's die in Applesoft BASIC geschreven waren. Variabelen met gehele getallen moesten naar reële worden geconverteerd voor er berekeningen op uitgevoerd konden worden; daarna werden ze terug naar gehele getallen omgezet. Microsoft had dit niet geoptimaliseerd.
  • Zogeheten shape tables (vormtabellen) zijn een traag alternatief voor bitmaps. Er bestonden geen voorzieningen om tekst en figuren te mengen, uitgezonderd voor het beperkte "hardware split screen" van de Apple II (vier lijnen tekst onderaan het scherm). Er werden in de BASIC interpreters van de 128 kB Apple IIe en Apple IIc modellen geen voorzieningen toegevoegd voor het extra geheugen en de dubbele grafische resolutie van de nieuwe computers, of voor de zestienkleurenmodus van de Apple IIGS. (Beagle Bros bood een oplossing in machinetaal om deze problemen te omzeilen.)
  • Het programma werd opgeslagen als een gelinkte lijst van regels; een GOTO kostte O(n) (lineaire) tijd.
  • De BASIC had geen geluidsondersteuning, met uitzondering van het simpele bel-signaal PRINT CHR$(7)
  • De closedsourcebeweging was juist begonnen; software-uitgevers ondervonden dat het moeilijker was een gecompileerd binair bestand te kraken dan een geïnterpreteerde broncode.

Het was wel gebruikelijk de basis of het opstartprogramma te maken in Applesoft BASIC, en vanuit daar code in machinetaal aan te roepen.

Dit is Hello World in Applesoft BASIC:

10 TEXT : HOME
20 PRINT "HELLO WORLD"
{{bottomLinkPreText}} {{bottomLinkText}}
Applesoft BASIC
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?