True BASIC - True BASIC

Ekte GRUNNLEGG
Ekte BASIC logo.svg
Designet av John G. Kemeny
Thomas E. Kurtz
Utvikler True BASIC, Inc.
Først dukket opp 1983 ; 38 år siden  ( 1983 )
Nettsted www .truebasic .com
Påvirket av
GRUNNLEGGENDE

True BASIC er en variant av BASIC-programmeringsspråket som stammer fra Dartmouth BASIC - den opprinnelige BASIC. Begge ble opprettet av høyskoleprofessorene John G. Kemeny og Thomas E. Kurtz .

Historie

True BASIC sporer sin historie til et utløp av Dartmouth BASIC kalt Structured BASIC, eller kort sagt SBASIC. Denne ble utgitt en gang i 1975 eller 1976, men ble ikke installert som hovedversjonen av BASIC på Dartmouth Time Sharing System (DTSS) som støttet campus. Kort tid etter ble Kemeny involvert i et forsøk på å produsere en ANSI-standard BASIC i et forsøk på å samle de mange små variasjonene av språket som hadde utviklet seg på slutten av 1960-tallet og begynnelsen av 1970-tallet. Denne innsatsen fokuserte opprinnelig på et system kjent som "Minimal BASIC" som lignet på tidlig Dartmouth BASIC, men med strengvariabler lagt til, mens senere arbeid var rettet mot en "Standard BASIC" som egentlig var SBASIC.

På begynnelsen av 1980-tallet kjørte titalls millioner hjemmedatamaskiner noen variasjoner av Microsoft BASIC , som hadde blitt de facto- standarden. ANSI-innsatsen ble til slutt meningsløs, da det ble klart at disse versjonene ikke kom til å ha noen markedspåvirkning i en verden dominert av MS. Begge versjonene ble til slutt ratifisert, men så lite eller ingen adopsjon, og standardene ble senere trukket tilbake. Kemeny og Kurtz bestemte seg imidlertid for å fortsette sin innsats for å introdusere konseptene fra SBASIC og ANSI Standard BASIC-innsatsen. Dette ble True BASIC.

Opprinnelig basert på Dartmouth BASIC 7 - ellers kjent som ANSI BASIC - ble True BASIC introdusert i 1985. Det finnes versjoner av True BASIC-kompilatoren for MS-DOS , Microsoft Windows og Classic Mac OS . På en gang ble versjoner for TRS-80 Color Computer , Amiga og Atari ST- datamaskiner tilbudt, samt en UNIX kommandolinjekompilator.

Egenskaper

Å være en strukturert programmeringsimplementering av språket, fjerner det behovet for linjenumre og GOTO- utsagn, selv om disse fremdeles kan brukes.

True BASIC gir uttalelser for matrise-aritmetikk, en funksjon som hadde vært til stede i Dartmouth BASIC siden tidlige tider, men som hadde blitt droppet i nesten alle mikrocomputerversjoner av BASIC-tolker. Den støtter globale og lokale variabler, som gjør det mulig å skrive rekursive funksjoner og underrutiner .

Designerne ønsket å gjøre språket maskinvareuavhengig, slik at True BASIC kildekode kunne kjøre like bra på alle versjoner av kompilatoren deres. For det meste lykkes de med dette arbeidet. Ulempen for brukerne var at direkte tilgang til noen funksjoner på maskinene deres ikke var tilgjengelig, men dette kunne løses med kallbare funksjoner og underrutiner spesielt skrevet på monteringsspråk .

Ved å bruke nyere versjoner av True BASIC blokkeres noen av de eldre funksjonene. Et eksempel på den nylige koden vil være mer slik:

RANDOMIZE
SET WINDOW 0,20,0,20
SET COLOR 5 !Set the pen and text colour to 5 as true basic has 0-15 colours
PRINT "Welcome To ..." !Print "Welcome To ..." on the user's screen.

DO !Begin the loop
    LET x=rnd*20 !Let the value 'x' equal a random number between '0' and '20'
    LET y=rnd*20 !Let the value 'y' equal a random number between '0' and '20'
    Pause .1 !Waits 1/10 of a second
    PLOT TEXT, at x, y: "Fabulous Wikipedia!" !Plot 'Fabulous Wikipedia!' at coordinates 'x' and 'y'
LOOP !End the loop

END !End the program

Dette enkle programmet plotter teksten "Velkommen til ..." øverst til venstre på skjermen, og fortsetter deretter til en uendelig sløyfe som tegner "Fabulous Wikipedia!" tilfeldige koordinater.

Et eksempel på enkel animasjon kan være slik:

!Draw the Car
SET WINDOW 0,20,0,20
SET COLOR 5
BOX AREA 2,6,2,3
BOX AREA 9,13,2,3
BOX AREA 16,20,2,3
SET COLOR 249
PLOT LINES :0,5;20,5
FLOOD 10,1
BOX KEEP 0,20,0,5 IN road$
BOX CIRCLE 2,3,5,6
FLOOD 2.5,5.5
BOX CIRCLE 5,6,5,6
FLOOD 5.5,5.5
SET COLOR 35
PLOT LINES :2.5,6;5.5,6
PLOT LINES :5,6;8,6;8,8;6,8;6,10;2,10;2,8;0,8;0,6;3,6
FLOOD 4,8
SET COLOR 248
BOX AREA 4,5,8,9

BOX KEEP 0,8,5,10 IN car$ !Save the car in 'car$'
 
FOR x=1 TO 20 STEP 1 !Create a 'for' loop
    BOX SHOW road$ AT 0,0
    BOX SHOW car$ AT x,5  
    PAUSE .1
    CLEAR
NEXT x !End the 'for' loop

END !End the programs

Resepsjon

Jerry Pournelle i 1985 spurte: "hvorfor trenger vi i det hele tatt True BASIC? [Det] ser ikke ut til å gjøre noe vanlig BASIC ikke gjør, og hva det gjør blir ikke angrepet på en logisk eller intuitiv måte." Han kritiserte mangelen på produksjon når han møtte en feil, og forhindret interaktiv feilsøking ved å " sette inn utskriftsuttalelser som diagnostikk ". Pournelle konkluderte med, "Jeg tror jeg vil gi muligheten til å bli en gjenfødt sann BASIC-troende. Jeg vil glede meg over mine Microsoft- og CBASIC- kjetterier."

Noen brukere har klaget over at programmene sine og redaktøren bruker opp 100% av CPU-en (eller kjernen). Dette ser ut til å være forårsaket av redaktøren og brukerens programmer som bruker en sløyfe som hele tiden undersøker tastaturet og musen for hendelser. Problemet har vært kjent siden i slutten av 2010, men det jobbes fortsatt med tidlig i 2014.

Videre lesning

  • Kemeny, John G .; Kurtz, Thomas E. (1985). Tilbake til BASIC: Historien, korrupsjonen og fremtiden til språket . Addison-Wesley Publishing Company, Inc. 141 s.  ISBN   0-201-13433-0 .

Referanser

Eksterne linker