BEETA | |
---|---|
Kieliluokka | olio-ohjelmointi |
Esiintyi | 1992 |
Tekijä | Kristen Nygor , Ole Lehrmann Madsen, Birger Møller-Pedersen ja Bent Bruun Kristensen |
Kehittäjä | Nygaard, Kristen |
Tyyppijärjestelmä | tiukka, staattinen |
Tärkeimmät toteutukset | Mjølner, Beta.Net, BETA.Java |
Murteet | gbeta |
Vaikutettu | Simula , Algol-68 |
Verkkosivusto |
daimi.au.dk/~beta cs.au.dk/~beta |
BETA on puhtaasti oliokieli "skandinavialaisesta koulukunnasta", jonka aloitti maailman ensimmäinen oliokieli, Simula . Se tukee myös menettelytapoja ja toiminnallisia ohjelmointimenetelmiä. BETA, kuten Simula , Eiffel ja C++ , on vahvasti kirjoitettu kieli pääasiassa staattisen kirjoituksen avulla (käännösajan tyyppitarkistus). BETA-kielellä on useita ainutlaatuisia ominaisuuksia.
Kristen Nygor (yksi Simulan tekijöistä) Ole Lehrmann Madsen, Birger Møller-Pedersen ja Bent Bruun Kristensen aloittivat vuosina 1975-1976. työstää uutta oliokieliä The Joint Language Projectin (joint language project) puitteissa. Uuden kielen kehittäminen tehtiin Ahun yliopiston tietojenkäsittelytieteen laitoksella (DAIMI) . Simulan tapaan tämäkin projekti keskittyi simulointiin . Kielen tekijöiden mukaan [1] tämä projekti oli alun perin tarkoitus saada päätökseen vuodessa tai kahdessa. Kehitys perustui Simula-kielen suunniteltuun (mutta ei koskaan toteutuneeseen) toimialuekohtaiseen laajennukseen nimeltä Delta, uudeksi kieleksi päätettiin kutsua Gamma.
Marraskuussa 1976, koska projekti ei edistynyt, se päätettiin jakaa kuuteen osaprojektiin, joista yksi oli beta-kieli - se suunniteltiin melko matalan tason "toteutuskieleksi" Gamma-kielelle. Kuitenkin kielen parissa 1978-1979. Päätettiin olla rajoittumatta toteutuskieleen, ja siitä kasvoi täysivaltainen kieli - Simulan perillinen, joka on tarkoitettu sekä simulaatiomallinnukseen että universaaliksi yleiskieleksi. Samalla uuden kielen piti olla huomattavasti tehokkaampi toteutuksessa kuin Simula. Vuonna 1981 valmistui BETA-ohjelmointikielikatsaus [2] , joka toimi pohjana kielen ensimmäiselle toteutukselle, joka valmistui vuonna 1983. [3]
Vuonna 1988 BETA-kielen luojat perustivat yrityksen Mjølner Informatics Ltd., joka julkaisi vuonna 1992 kaupallisen, monialustaisen RAD - ohjelmointiympäristön BETA-kielellä Mjølner (tällä hetkellä jaettu ilmaisohjelmistona ). Mjølnerin GUI -kehys on nimeltään Lidskjalv, ja se on rakennettu Motif - widget -kirjaston päälle (voi käyttää myös LessTif -tiedostoa ). Mielenkiintoinen tosiasia on, että James Gosling ja Bill Joy olivat ensimmäisten joukossa hankkineet kaupallisen lisenssin Mjølner-järjestelmään . [yksi]
Staattiset muuttujat ilmoitetaan käyttämällä rakenteita, kuten:
i: @kokonaisluku; r: @todellinen;Dynaaminen:
i: ^integerObjectAssignointi BETA-tilassa merkitään arvolla -> muuttuja , useat määritykset ovat sallittuja.
2 -> i (* anna arvon 2 muuttujalle i *) i -> j (* määritä i muuttujalle j *) i*j -> k (* anna muuttujalle k arvo i*j *) (i,j) -> (x,y) (* määritä i muuttujalle x ja * arvo j muuttuja y *)BETA-kielen ohjauskonstruktioita kutsutaan pakollisiksi . Niitä on vain kaksi, if (saa olla useita sitten haaroja , jotka toimivat lausekkeina, kuten switch tai select ... case ) ja for (jolla on monia muunnelmia). Niiden syntaksi muistuttaa hieman Algol 68 :n vastaavien rakenteiden syntaksia .
(jos x // 17 sitten... // 33 sitten... // y+3 sitten... muu... jos); (jos (x>0) ja (y<0) // Totta sitten... // Väärin sitten... jos) (jos totta // (x<0) ja (y=0) sitten… // (x=0) ja (y=0) sitten… // x>=0 sitten… jos)BETA:ssa on tehokkaat abstraktiomekanismit , jotka tukevat objektien tunnistamista, luokittelua ja koostumusta . Luokat , menettelyt , funktiot , korutiinit , prosessit , poikkeukset - ne kaikki yhdistetään yhdeksi mallipohjaksi . Tähän konseptiin liittyvät alimallien , virtuaalisten mallien ja mallimuuttujien käsitteet . Luokkia, alaluokkia ja virtuaalisia proseduureja (menetelmiä) löytyy useimmista oliokielistä, ja jotkut kielet sisältävät prosessimuuttujia. Mutta BETA:ssa periytyminen , "virtualisointi" ja muuttujien määrittely kaiken tyyppisille malleille ovat mahdollisia: luokat, menettelyt, korutiinit jne. Lisäksi BETA-kielimalleille on olemassa yleisiä ohjelmointimekanismeja . BETA-kielen objektit, kuten Simula-objektit, ovat aktiivisia objekteja , ne, kuten korutiinit, mahdollistavat lähes rinnakkaisen suorituksen.
On mahdollista ilmoittaa objekteja, jotka eivät kuulu mihinkään mallipohjaan (eli ne ovat luokkansa ainoa esiintymä, katso singleton design pattern ).
Objektit ja objektimallit voidaan määritellä muiden objektien ja mallien koostumukseksi. Tällaista koostumusta on kolme: