BASIC

BASIC edo Beginner's All-purpose Symbolic Instruction Code (Hasiberrientzako helburu guztietarako instrukzioen kode sinbolikoa) maila altuko programazio lengoaia familia bat da. Erabilterraza zen lengoaia bat izateko asmoz sortu zen, 1964an. Baina 1980ko hamarkadan zabaldu zen bere erabilera batez ere, eta gaur egun, beronen aldaera ugari ditugu gure artean.

BASIC lengoaiak izugarrizko ospea izan zuen, bi inplementaziori esker batez ere, Tiny BASIC eta Microsoft BASIC, eta mikroordenagailu edo mikrokonputagailuen lehen lengoaia bihurtu zen. Garrantzi handiko beste inplementazioen artean, hauek dira aipagarrienak: CBASIC (BASIC konpilatua), Integer eta Applesoft BASIC (Apple II-rentzat), GW-BASIC (konputagailu pertsonalentzat), Turbo BASIC (Borland) eta Microsoft QuickBASIC.

BASIC lengoaiak aldaketak izan ditu urteak joan ahala. Horrela, aurreneko bertsioak interpretatuak ziren, ez egituratuak. Azkenekoak, berriz, egituratuak dira, eta sarritan, baita konpilatuak ere. BASIC izan da urte askotan zehar programatzaile hasiberriek ikasten duten lehen lengoaia, erabilerraza eta ulerterraza delako, eta beste lengoaia zailago batzuen oinarrizko kontzeptu berdinak dituelako.

BASICen bilakaeran funtsezkoa izan zen Microsoften Visual Basic (VB) lengoaiaren sorrera. Lengoaiaren ohiko gako-hitz guztiak erabili arren (sententziak, kontrol-egiturak eta barne-funtzioak), datu-motak eta haien maneiua barne; VB  askoz ere ahaltsuagoa eta eboluzionatuagoa da; Windows plataformatan gehien erabiltzen den lengoaietako bat izanik, aplikazio komertzialetan nagusitasuna izatera iritsiz.

Ezaugarriak

Sintaxia 
BASICeko gutxieneko sintaxiak LET, INPUT, PRINT, IF eta GOTO komandoak baino ez ditu barneratzen. Gutxieneko sintaxi hori duten programak egiten dituen interpretzaileak ez du pilarik behar. Lehen inplementazioetako batzuek horren sinpleak ziren. Pila bat gehitzen bazaio interpretatzaileari, habiatutako FOR begiztak eta GOSUB komandoa ere gehitu daitezke. Ezaugarri horiek dituen BASIC interpretatzaileak linea-zenbakiak behar ditu kodean.

Linea zenbakiak BASIC klasikoaren oso alderdi bereizgarria izan ziren. Hala ere, linea-zenbakiak erabiltzeak badu desabantaila bat: programatzaileak jakin behar du zenbat linea erabiliko dituen. Hori saihets daiteke tarte erregular bat barneratuz lerro jarraien artean (10 esaterako).

BASICeko bertsio berrietan ez da beharrezkoa lerro zenbakiak jartzea, onartzen diren arren, zeren eta gehienetan bloke egituratuak barneratu diren C eta Pascal lengoaien ildotik:

 do
 loop
 while
 until
 exit
 on... goto
 gosub
 select ... case

Interpretatzaile gehienetan ere REM (remark) komandoa eskaintzen da oharrak jartzeko, baina helburu bera lortzen da ' (komatxo sinplea) sinboloa erabiliz.  Visual Basic bezalako bertsio berrietan objektuetara bideratutako lengoaietako ezaugarriak barneratu dira.

Adibideak

Kaixo mundua adibidea: 
10 print "Kaixo, mundua!"

Jatorrizko BASIC ez-egituratua (Applesoft BASIC) 
  10 INPUT "Zein da zure izena?:"; NN$
  20 PRINT "Ongi etorri 'Puztarri-zalera',";NN$
  25 PRINT
  30 INPUT "Zenbat puztarri hasteko?:"; N
  40 IF N<=0 THEN GOTO 200
  50 AS$=""
  60 FOR I=1 TO N
  70   AS$=AS$+"*"
  80 NEXT I
  90 PRINT "Hemen dituzu:"; AS$
 100 INPUT "Puztarri gehiago?:";SN$
 110 IF SN$="" THEN GOTO 100
 120 IF SN$<>"S" OR SN$<>"s" THEN GOTO 200
 130 INPUT "Zenbat aldiz errepikatuta:"; ALDIAK
 140 IF ALDIAK<=0 THEN GOTO 200
 150 FOR I=1 TO ALDIAK
 160   PRINT AS$;
 170 NEXT I
 180 PRINT
 185 REM Bloke osoa errepikatzera (oharra)
 190 GOTO 25
 200 END

BASIC egituratua, aurrekoaren baliokidea (Quick BASIC) 
    DEFINT I-N        'I eta N arteko hizkiez hasitako aldagaiak zenbaki osoak
    iTrue = -1        'Egiazkoa adierazteko Flag-a
    INPUT "Zein da zure izena?:"; Izena$
    PRINT "Ongi etorri 'Puztarri-zalera',"; Izena$
    DO
       PRINT ""
       INPUT "Zenbat puztarri hasteko?:"; N
       IF N<=0 THEN EXIT DO
       Segida$ = ""
       FOR I=1 TO N
          Segida$=Segida$ + "*"
       NEXT I
      PRINT "Hemen dituzu:"; Segida$
       DO
          INPUT "Jarraitu nahi?";SN$
       LOOP UNTIL SN$<>""
       IF SN$<>"B" OR SN$<>"b" THEN EXIT DO      'Begiztatik irten
       INPUT "Zenbat aldiz errepikatuta::";iAldiak
       IF iAldiak<=0 THEN EXIT DO                'Begiztatik irten
       FOR I = 1 TO iAldiak
          PRINT Segida$;
       NEXT I
       PRINT
    LOOP WHILE iTrue
    END

BASIC lengoaiaren inplementazioak 
 BasictoPHP
 Dartmouth BASIC
 Tiny BASIC
 Locomotive BASIC
 XBasic
 Xblite
 SuperBASIC
 PluriBASIC
 FreeBASIC
 Gfa-BASIC
 Rapid-Q
 PowerBASIC
 AutoIt
 LSE (lenguaje)

Microsoft-eko BASIC bertsioak 
 Microsoft BASIC

 Aspaldiko konputagailuetarako
 Altair BASIC
 AmigaBASIC
 AMOS
 Applesoft BASIC
 Commodore Basic
 MSX BASIC
 IBM PC DOS sistema eragilerako
 BASICA
 MS-DOS
 GW-BASIC
 QBASIC
 QuickBASIC
 Windows sistema eragilerako
 Visual Basic
 Visual Basic .NET
 Internet-erako
 VBScript

BASIC MacIntosheko konputagailuetarako 
 Mac OS  sistema eragilerako
 MacBASIC

BASIC GNU/Linux sistema eragilerako: 
 Software jabeduna
 REALbasic

 Software libre
 Gambas
 HBasic
 KBasic

Erreferentziak

Bibliografia 

 KEMENY, J.G.; T.E. KURTZ. Structured BASIC programming.  New York, USA: John Wiley & Sons, 1986.
 Bennet, P. Lientz. A comparative evaluation of versions of BASIC.  New York, USA: ACM, 1976, p. 175-181.
 Gottfries, Byron S. Teoría y  problemas de Programación BASIC. traducción, Guillermo Caro Murillo, Jesús Villamizar Herrera. 2a. ed..  Buenos Aires; Bogotá: McGraw-Hill, 1984, p. 278 p..
 Kemeny, John G.; Thomas E. Kurtz. Programación BASIC.  México: Cecsa, 1984, p. 432 p..
 Finkel, Leroy; Jerald R. Brown. Programación de archivos de datos en BASIC.  México; Argentina: Limusa, 1986, p. 361 p.. «(Series Instrucción Programada Limusa)»
 Petroutsos, Evangelos. Visual Basic 6. 1a ed..  Anaya Multimedia, 1999, p. 864 p..
 Dobson, Rick. Programación De Microsoft Sql Server 2000 Con Microsoft Visual Basic .net. 1a ed..  McGraw-Hill, 2002, p. 664 p..Halvorson, Michael. Visual Basic 2008. 1a ed..  Anaya Multimedia, 2008, p. 656 p..

Ikus, gainera 

 Visual Basic

 Programazio
 Informatika
 Software
 Programazio-lengoaien arteko konparazioa
 Goi-mailako programazio-lengoaiak
 Lengoaia interpretatua
 Interpretatatzailea

Kanpo estekak 

 Arrojeria, Eustakio.  (1996). Basic. Programatzeko ariketak / egileak, Eustakio Arrojeria, Pili Lizaso ; laguntzaileak, Andoni Sagarna, Kepa Sarasola (Elhuyar Informatika-taldea).  : Elkar, ISBN 978-84-7529-342-4.
 Sarasola, kepa. Galdetsu: Konputagailuz lagunduriko irakaskuntzarako sistema. 1981. Zientzia Fiskoetako graduko titulua lortzeko tesina. Zuzendariak: Josu Aranberri eta Jose Ramon Etxebaria. EHU. Zientzia Fakultatea
  Ikastaroa UEU, 1997
Bengoetxea Castro, Endika.  (1997). Programazio-ingurune aurreratuak: Visual Basic.  (Noiz kontsultatua: 2023-10-31). Hitzaldia, UEU, 1997

  Tomas Kurtz, BASIC lengoaiaren sortzaileetako bat
  A Brief History of Programming Languages
  True BASIC - Home Web
  Tutorial de QBasic - Universidad de Oviedo
  Tutorial de QBasic -Monografias.com
  iBASIC - Home Web

  Didacticiel sur le Basic
  Centre de développement Visual Basic sur MSDN France

Programazio lengoaiak
Informatikako akronimoak