Alla hieman ST-väen keskustelua ST-klubin sähköisessä postilaatikossa 
                     
HUSKY-BBS:ssä (puh 8722467 V22bis/24h) aiheesta GFA BASIC 3.
                     
                     
                     
Message : 5772 (Open) 2-08-90 8:11pm 
                     
From  : Antti . xxxxx  
                     
To   : Petteri .xxxxx   
                     
Subject : #5739 GFA PC:hen  
                     
Sig(s) : 1 (Text Files)  
                     
                     
                     
Nimenomaan! GFA-basic on BASIC, EI (Luojan kiitos) Pascal dialekti!
                     
GFA on paljon tehokkaampi, NOPEAMPI (!!!) ja monipuolisempi,
                     
kuin Pascal on koskaan ollut tai tulee koskaan olemaan!!!
                     
Itse olen asettanut kielet seuraavaan järjestykseen nopeuden/
                     
tehokkuuden mukaan:  
                     
1. GFA 3.0 + Compiler  
                     
2. DevpacST Assembler (GFA:n kanssa)  
                     
3. C  
                     
4. (Pascal) (suluissa siksi, että en käytä Pascalia)  
                     
Eli GFA on tehokkain kieli softaa tehdessä, mutta jos tarvitsee nopeutta,
                     
VAIN assembler hakkaa GFA:n. Se todella pitää paikkansa, uudella 3.0:lla
                     
ja kääntäjällä tehty softa on nopeampaa kuin C (ja TIETYSTI Pascal) jopa
                     
integereillä!!! Mutta varsinkin flotareilla GFA hakkaa C:n jopa 10
                     
kertaisesti TULKILLA!!!!!!!!!!!
                     
 
                     
Käyttäköön PASKAlia ken haluaa, mutta sen aika alkaa olla jo ohi dots 
                     
ohi dots 
                     
(sorry vaan, kaikki Pascal-freakit!)
                     
                     
                     
(P)rev (N)ext (J)ump (R)eply (A)gain (Q)uit Next  
                     
Message : 5750 (Open) 2-08-90 2:42pm  
                     
From  : Juha .xxxxx  
                     
To   : Petteri .xxxxx   
                     
Subject :  #5739 GFA PC:hen  
                     
Sig(s) : 1 (Text Files)  
                     
                     
                     
                     
                     
Ilman sen enempiä tunteilematta totean dots 
                     
 
                     
a) et ole käyttänyt GFABASIC'ia ilmeisestikään.  
                     
b) olet kokenut ja vannoutunut Dos-tyyppisten komentotulkkien käyttäjä  
                     
c) uskot C:n kaikkivaltiuteen.  
                     
 
                     
 dots tämän leikillisesti sinua sen enempää tuntematta messustasi 
                     
tulkitsin.
                     
 
                     
Itse olen ohjelmoinut Pascalilla, Fortranilla ja Basicilla ja eri 'dia-
                     
lekteilla'. (C:hen olen tutustunut vain pintapuolisesti). GFA:ta kokeil-
                     
tuani en voi todeta muuta kuin, että harvinaisen kehittynyt ja monipuoli-
                     
nen strukturoitu Korkean tason ohjelmointikieli.
                     
 
                     
Mielestäni sitä ei voi yksinkertaisesti juntata 'Taas yks' Basic' -nimik-
                     
keen alle. Se ei ole vain Basic, vaan GFABasic. Ja siinä on todellakin
                     
iso ero!
                     
  
                     
Jos taas ruvetaan väittelemään jostakin ''filologiasta'' - onko jokin 
                     
jonkindialekti vai ei - siihen väittelyyn en halua ottaa osaa. 
                     
Mun puolestaniPascal saa olla pascal ja C saa olla c. Mutta yleistyksiä 
                     
en yleensäkäänsaata noin vain sulattaa dots 
                     
                     
                     
                     
                     
                     
                     
Message : 5776 (Open) 2-08-90 8:16pm  
                     
From  : Antti .xxxxx  
                     
To   : Juha .xxxxx   
                     
Subject :  #5750 GFA PC:hen  
                     
Sig(s) : 1 (Text Files)  
                     
                     
                     
YEAH! Suoraa puhetta!! Tervetuloa GFA-joukkoon!!!!!
                     
                     
                     
                     
                     
                     
                     
*********************************************************************
                     
                     
                     
   GFA BASIC 3 on epäilemättä Atari ST:n suosituin ohjelmointikieli, 
                     
                     
                     
pelkästään Länsi-Saksassa sillä on 120.000 rekisteröitynyttä käyttäjää. 
                     
                     
                     
Nyt kun seon saatavissa myös Amigalle ja pian myös PC-lle, on viimeistään 
                     
                     
                     
aika tutustua siihen hieman lähemmin.
                     
                     
                     
                     
                     
                     
                     
    Mitä erikoista on sitten GFA-basicissa, miksi siitä ovat Ataristit 
                     
                     
                     
niin innoissaan? Ohjelmointia kauemmin harrastaneelle tai alan 
                     
                     
                     
ammattilaiselle sana BASIC tuo mieleen toivottoman sotkuisen listauksen, 
                     
                     
                     
jossa riveille on sullottuvaltava määrä sekalaisia käskyjä, hyppyjä edes 
                     
                     
                     
takaisin rivinumeroiden mukaan,ja toivottoman hitaan ohjelman. GFA basic 
                     
                     
                     
eroaa muista basiceista siinä, ettäsiihen on onnistuneesti otettu hyviä 
                     
                     
                     
puolia eri ohjelmointikielistä, muttaonnistuttu jättämään lähes kaikki 
                     
                     
                     
huonot puolet pois. GFA basicille tyypillisiäseikkoja:
                     
                     
                     
  
                     
      - ei rivinumerointia, ohjelma laaditaan proseduureista eli 
                     
                     
                     
     aliohjelmista
                     
                     
                     
      - valtava määrä käskyjä, en edes yrittänyt laskea niitä
                     
    
                     
      - erittäin miellyttävä editointi- ja koeajoympäristö
                     
     
                     
      - nopea ja monipuolisesti ohjattava konekielikääntäjä
                     
    
                     
      - useita uusia käskyjä rakenteellisen ohjelmoinnin käyttöön
                     
    
                     
      - kaikki mahdolliset AES-funktiot. Tämä mahdollistaa esim. 
                     
                     
                     
C-kielisten GEM-ohjelmien muuntamisen GFA basicille GEM-
                     
                     
                     
ohjelmoinnin oppikirjoista
                     
     
                     
      - C-, Pascal-, Assembler- tai minkä muun kielisten aliohjelmien
                     
     
                     
       liittäminen GFA-ohjelmiin on helppoa
                     
    
                     
                     
                     
                     
                     
   Uusin GFA BASICin ST:lle saatavissa oleva versio on 3.07. Kieli on 
                     
                     
                     
kehityksensä varrella muuttunut melkoisesti. Varsin hyvästä ohjelmointi-
                     
                     
                     
kielestäon tullut erittäin hyvä. Samalla kuitenkin GFA BASICIN versio 3 
                     
                     
                     
ei enää tunneaiemmilla versioilla tallennettuja ohjelmia, paitsi jos ne 
                     
                     
                     
on tallennettuASCII-listauksina eli .LST-päätteisinä, jolloin versio 
                     
                     
                     
kolme pystyy ottamaan ne käsittelyyn MERGE-käskyllä.
                     
                     
                     
                     
                     
                     
                     
    Jotta GFA-ohjelman voisi ajaa ilman tulkkia, seuraa mukana RUN ONLY-
                     
                     
                     
ohjelma, jonka saa liittää mukaan, jos haluaa luovuttaa tekemänsä ohjelman 
                     
                     
                     
henkilölle, jolla ei ole GFA-basicia. Toinen tapa on kääntää ohjelma kone-
                     
                     
                     
kielelle GFA-kääntäjällä.
                     
                     
                     
                     
                     
    Konekielelle käännetty ohjelma on itsenäisesti ajettava, ja vielä
                     
                     
                     
nopeampi kuin GFA-tulkin tai RUN ONLY-ohjelman avulla ajettava listaus.
                     
                     
                     
Valitettavasti GFA 3:n kääntäjä ei pysty kääntämään aiemmilla 
                     
                     
                     
GFA-versioillatehtyjä basic-ohjelmia, vaan ne on ensin muutettava 
                     
                     
                     
GFA 2:n tulkissa .LST-päätteisiksi, MERGEttävä GFA 3:n tulkkiin, 
                     
                     
                     
tallennettava GFA-päätteisiksi, ja nyt vihdoin onnistuu käännös. 
                     
                     
                     
                     
                     
                     
                     
     GFA kääntäjän mukana tulee monipuolinen MENUohjelma, jota voi itse
                     
                     
                     
räätälöidä eteenpäin mieleisekseen. Menuohjelmasta voi käynnistää 
                     
                     
                     
kääntäjän,tulkin, linkkerin, Resource Construction Set -editorin ja 
                     
                     
                     
tietysti käännetytohjelmat. Resource Construction SET eli RSC-editori 
                     
                     
                     
on GFA-basicin mukanatuleva näppärä apueditori, jolla voi tehdä 
                     
                     
                     
ohjelmiinsa hienot alasvetovalikot,dialog-boxit, alert-boxit ym 
                     
                     
                     
ST-ohjelmista tutut graafisen käyttäjäliitynnäntyökalut. GFA basic 3:ssa
                     
                     
                     
on kaikki AES (Application Environment Services) -funktiot. AES koostuu 
                     
                     
                     
11:sta kirjastosta, jotka sisältävät rutiinit graafisen
                     
 
                     
käyttäjäliitynnän tekemiseen. Siten ohjelmien teko saadaan hiiriohjatuksi,
                     
                     
                     
voidaan kutsua ohjelmasta muita ohjelmia, ja saadaan käyttöön kaikki GEM-
                     
                     
                     
ohjelmien apuvälineet.
                     
                     
                     
                     
                     
                     
                     
            Rakenteellinen ohjelmointi
                     
            
                     
                     
                     
    Monelle basic-ohjelmoijalle on rakenteellinen ohjelmointi uusi käsite.
                     
    
                     
''Strukturoiduissa'' ohjelmointikielissä kuten Pascal, C ja Modula2 on jo 
                     
                     
                     
kauankäytetty ohjelmapalikoita, moduuleita ja proseduureja. Niillä 
                     
                     
                     
jaetaan ratkaistava tehtävä pienempiin osasiin, jotka sitten suoritetaan 
                     
                     
                     
kukin omassa aliohjelmassaan, proseduurissaan. Tämä helpottaa ohjelmointia, 
                     
                     
                     
tekee ohjelmistaselkeitä ja auttaa luomaan aliohjelmista itselleen 
                     
                     
                     
'kirjaston', josta voipoimia valmiita valmiita aliohjelmia seuraavaan 
                     
                     
                     
ohjelmointitehtävään.
                     
                     
                     
                     
                     
    GFA basic suorastaan houkuttelee paloittelemaan ratkaistavan tehtävän
                     
    
                     
proseduureihin. Proseduurille voi antaa sen tehtävää kuvaavan nimen, ja 
                     
                     
                     
aliohjelman kutsu, basicista tuttu GOSUB tai GOTO on GFA kolmosessa 
                     
                     
                     
yksimkertaisestisen nimi ilman muita komentoja. Proseduurin kutsuun voi 
                     
                     
                     
 liittää Pascalin tapaanarvo- ja muuttujaparametreja, esim. PROCEDURE 
                     
                     
                     
Laskeyhteen(x,y,VAR tulos). 
                     
                     
                     
GFA basic listaukset ovat selkeitä ja ilmavia, ja ohjelman toiminnan 
                     
                     
                     
pystyyhelposti hahmottamaan. Hahmottamista helpottaa automaattisesti 
                     
                     
                     
toimiva sisennys,seikka minkä arvon havaitse heti ohjelmoinnin alettuaan.
                     
                     
                     
GFA basicin editorihuolehtii myös ohjelman kieliopin, syntaksin 
                     
                     
                     
automaattisesta valvomisesta, se ei anna kirjoittaa kieliopillisesti 
                     
                     
                     
virheellisiä rivejä.
                     
                     
                     
                     
                     
                     
                     
    Basic kieltä on ohjelmoijien parissa halveksittu paitsi siksi, että
                     
    
                     
se sallii ohjelmoijan tehdä järjettömän sotkuista koodia, myös siksi että 
                     
                     
                     
muuttujia voi käyttää aivan miten sattuu, niin että kaikkia muuttujia voi 
                     
                     
                     
muuttaa kaikkialla, jolloin on virheen sattuessa erittäin vaikeaa löytää
                     
                     
                     
missä muuttuja on saanut virheellisen arvon. GFA basic ei tässä suhteessa 
                     
                     
                     
eroa muista basiceista, silläkin voi tehdä 'tyypillistä' basic-spaghettia,
                     
                     
                     
muttaGFA basic sallii myös täysin kurinalaisen, pilkuntarkan, 
                     
                     
                     
Pascalmaisen ohjelmointityylin. GFA basic ei kuitenkaan Pascalin tavoin 
                     
                     
                     
ole turhan tarkka esim.siitä missä järjestyksessä proseduurit ja funktiot 
                     
                     
                     
sijaitsevat ohjelmassa. 
                     
                     
                     
Halutessaan voi tehdä muuttujista paikallisia, vain tietyssä
                     
                     
                     
proseduurissa 'näkyviä', tai globaaleja, kaikkialla muutettavissa olevia.
                     
                     
                     
Ohjelmassa voi ohjelman alussa määritellä esim kaikki i-kirjaimella 
                     
                     
                     
alkavatmuuttujat kokonaisluvuksi, s:llä alkavat merkkijonomuuttujiksi ja 
                     
                     
                     
niin edelleen. 
                     
                     
                     
                     
                     
                     
                     
    Eniten on GFA basic kuitenkin hätkähdyttänyt nopeudellaan. Paitsi että
                     
    
                     
se on erittäin helppo ja nopea oppia ja ohjelmoida, se myös toimii 
                     
                     
                     
 nopeasti!Jo tulkin alaisuudessa ajettuna ohjelmat pyörivät erittäin 
                     
                     
                     
nopeasti, mutta käännettynä se päihittää kaikki muut ohjelmointikielet 
                     
                     
                     
paitsi assemblerin.
                     
                     
                     
                     
                     
                     
                     
Hinnat (noin):    
                     
                     
                     
GFA basic 3.0 kielen tulkki. Sisäänrakennettu tekstieditori. 750 Fmk.
                     
                     
                     
GFA basic 3.0 kääntäjä edelliseen. 750 Fmk. 
                     
                     
                     
GFA basic 3.0 tulkki sekä kääntäjä. 1.390 Fmk.
                     
                     
                     
Tätä kirjoittaessa viimeisin versio on 3.6 ja 4.0 on juuri tulossa.
                     
                     
                     
Kirjallisuutta: 
                     
                     
                     
Atari ST GFA basic quick reference. 145 Fmk. (Ei sisällä kaikkia v.3.0:n
                     
                        käskyjä)
                     
                     
                     
GFA software Development Book    195 Fmk. (v.3.0:n käskyt, mukana 
                     
                      disketillinen ohjelmalistauksia)
                     
                     
                     
                     
                     
     Kirjoja saa hyvin varustetuilta jälleenmyyjiltä. 

Takaisin

(C) Marko, Suomen Atari-sivut / ArkiSTo 2003