BEETA

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.

Historia

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]

Syntaksin perusteet

Staattiset muuttujat ilmoitetaan käyttämällä rakenteita, kuten:

i: @kokonaisluku; r: @todellinen;

Dynaaminen:

i: ^integerObject

Assignointi 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)

Abstraktiomekanismit

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:

Ilmoitusesimerkki

työntekijä: (#nimi:@Teksti; syntymäpäivä: @Date; osasto: ^Department; totalHours: @ Kokonaisluku; rekisteröidy työt: (#noOfHours: @Integer syötä noOfHours tee noOfHours + totalhours -> totalHours #); Laske Palkka:< (#palkka: @kokonaisluku tehdä sisäistä irtautumispalkka #); #); Työntekijä: Työntekijä (#vanhempi: @integer; Laske Palkka::< (#do noOfHours*80+eläke*4 -> palkka; 0 -> totalHours #) #); Myyjä: Työntekijä (#noOfSoldUnits: @integer; Laske Palkka::< (#do noOfHours*80+noOfSoldUnits*6 -> palkka; 0 -> noOfSoldUnits -> totalHours #) #) maria: @työntekijä työnjohtaja: ^ Työntekijä mary[] -> työnjohtaja[] &Työntekijä[] -> työnjohtaja[] presidentti: @ Työntekijä(#ComputeSalary::< (#tehdä SUURI -> palkka #) #)

Kirjallisuus

Muistiinpanot

  1. 1 2 Bent Bruun Kristensen, Ole Lehrmann Madsen, Birger Møller-Pedersen. BETA-ohjelmointikielen Milloin, miksi ja miksi ei  (linkki ei ole käytettävissä) , HOPL III Arkistoitu 7. heinäkuuta 2011 Wayback Machinessa
  2. Kristensen, BB, Madsen, OL, Møller-Pedersen, B. ja Nygaard, K. : Survey of the BETA Programming Language, Norwegian Computing Center, Oslo, raportti nro 698, 1981.
  3. Kristensen, BB, Madsen, OL, Møller-Pedersen, B. ja Nygaard, K .: Abstraction Mechanisms in the BETA Programming Language, kymmenes ACM-symposium on Principles of Programming Languages, Austin, Texas, 1983.
  4. Kaksi lukua, joissa on yleiskatsaus BETA-kielestä ja Mjølner-järjestelmästä, on saatavilla verkossa

Linkit