Thomas Eugene Kurtz, John Kemeny, Mary Kenneth Keller
Utgjeve
1964
BASIC (Beginner's All-purpose Symbolic Instruction Code) er eit programmeringsspråk som vart utvikla i 1963 ved Dartmund College i USA med det målet at ein skulle gjere programmering enklare. BASIC er eit enkelt nybyrjarspråk som nyttar enkle engelskspråklege kommandoar.
Det finst fleire tilpassa dialektar av BASIC enn av nokon anna programmeringsspråk. Med få unntak nytta alle heimedatamaskiner på 1980 talet ein eller annan versjon av Basic som kommandotolk. Microsoft leverte GW-BASIC og seinare QBASIC som ein del av operativsystemet DOS. I 1991 kom VisualBasic som utvikla applikasjonar til å køyre under operativsystemet Windows.
Døme
Nedanfor er nokre forskjellige døme på programmering som syner utviklinga av BASIC som programmeringsspråk.
Ustrukturert BASIC
Dei første dialektane
Dømet nedanfor er laga for GW-BASIC, men skal kunne fungere i dei fleste dialektar av BASIC med minimale endringar.
10INPUT"What is your name: ",U$20PRINT"Hello ";U$30INPUT"How many stars do you want: ",N40S$=""50FORI=1TON60S$=S$+"*"70NEXTI80PRINTS$90INPUT"Do you want more stars? ",A$100IFLEN(A$)=0THEN90110A$=LEFT$(A$,1)120IFA$="Y"ORA$="y"THEN30130PRINT"Goodbye ";U$140END
Strukturert BASIC
Andre-generasjon av Basic dialektar introduserte nye kjenneteikn til språket, primært relatert til strukturert og prosedyre-orientert programmering. Linjenummerering vart som regel utelate frå språket og erstatta med hopp-komando samt andre prosedyrar som gav eit enklare og meir fleksibelt språk. Dømet nedanfor er laga for Qbasic:
INPUT"What is your name: ",UserName$PRINT"Hello ";UserName$DOINPUT"How many stars do you want: ",NumStarsStars$=STRING$(NumStars,"*")PRINTStars$DOINPUT"Do you want more stars? ",Answer$LOOPUNTILAnswer$<>""Answer$=LEFT$(Answer$,1)LOOPWHILEUCASE$(Answer$)="Y"PRINT"Goodbye ";UserName$
«Moderne» BASIC
Tredje generasjon BASIC dialektar som til dømes Visual Basic og StarOffice Basic introduserte
objekt orientert og event-driven programmering.
OptionExplicitOffModulestarsSubMain()Console.Write("What is your name: ")U$=Console.ReadLineConsole.WriteLine("Hello "+U$)Console.Write("How many stars do you want: ")N=Val(Console.ReadLine)S$=""ForI=1ToNS$=S$+"*"NextIConsole.WriteLine(S$)Console.Write("Do you want more stars? ")A$=Console.ReadLineIfLen(A$)=0ThenGoTo90A$=Left$(A$,1)IfA$="Y"OrA$="y"ThenGoTo30Console.Write("Goodbye ")ForI=1To200Console.Write(U$+" ")NextIConsole.WriteLine()EndEndSubEndModule
Kjelder
Denne artikkelen treng referansar for verifikasjon.
Du kan forbetra artikkelen ved å leggja inn referansar til pålitelege kjelder. Kven som helst kan fjerna kjeldelaust materiale utan forvarsel, men den føretrekte tilnærminga er i første omgang å markera dei setningane/påstandane som treng kjeldebelegg ved å tilføya {{tr}} etter påstanden.