REBOL

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 12. heinäkuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 16 muokkausta .
REBOL
Semantiikka modulaarinen , tiedostosuuntautunut , lohkorakenne , porttiprotokolla , tietojen muuntaminen , jäsentäminen
Kieliluokka monikäsitteinen , pakottava , murre , dynaaminen , viestintä , tilannekohtainen , objekti , toiminnallinen , hajautettu , verkko , ML , DSL
Toteutustyyppi tulkki , virtuaalikone
Esiintyi 1997
Tekijä Carl Sassenrath
Tiedostotunniste _ .reb
Vapauta Helmikuu 2010
Testiversio REBOL 3
Tyyppijärjestelmä vahva , dynaaminen , varhainen ja myöhäinen sidonta
Tärkeimmät toteutukset alustojen välinen , ulkoinen ydin , murteet , laajennukset , palvelin , älykäs asiakas , P2P , palvelut , esimerkkiskriptikirjasto , kaikki skriptikirjasto
Murteet Draw , VID , GUI , Make-GOB , Richtext , Effectt , Secure , DevBase , Rebcode , Parse , MediaWiki Dialect
Vaikutettu Fortran , Lisp , Logo , C , Forth , Prolog , REXX , Smalltalk , Self , Tcl , Lua , Limbo
Lisenssi Apache License 2.0 ja Apache License [1]
Verkkosivusto rebol.com _ 
_

REBOL (lausutaan ['reb`yell] ) on kontekstiherkkä objektiohjelmointikieli , joka on suunniteltu erityisesti hajautettuun laskentaan verkossa . REBOL on lyhenne sanoista Relative Expression Based Object Language.

Kirjoittaja asettaa REBOLin viestikieleksi:

Historia

Carl Sassenrath , arkkitehti ("kielen sanojen ja käsitteiden")oli AmigaOS :n pääkehittäjä ennen REBOL Technologiesin [2] perustamista . Jo ennen sitä hän työskenteli Apple Computerilla ja Hewlett Packardilla , jossa hän sai kokemusta käyttöjärjestelmien, tiedostojärjestelmän kehittämisestä ja muotoili oman konseptinsa mikroytimestä tietokoneen käyttöympäristöön.

Hän aloitti työskentelyn 13-vuotiaana televisioyhtiössä, jossa hän toimi 14-vuotiaana päivittäisen uutisohjelman teknisenä johtajana. Valmistunut Kalifornian yliopistosta Davisissa erikoistuen käyttöjärjestelmiin , rinnakkaisiin prosesseihin , ohjelmointikieliin ja neurofysiologiaan .

Hänen projektistaan ​​tuli heti haaste, ennen kaikkea merkintäkielten kehityksen lopettaminen. Mutta yritys yllättää edelleen päätöksillään, suuntaamalla tasapainoisten ohjelmointikonseptien valintaan ja huolelliseen toteutukseen. Yrityksen ensimmäinen tuote on jo kielen toinen versio (1998). Välittömästi ytimen muunnoksia murteilla alkoi ilmestyä:

Edistyneet käyttäjät (kehittäjät):

Esimerkki kaupallisesta tuotteesta:

Tällä hetkellä kolmas versio on luotu ja sitä testataan.

12. joulukuuta 2012 Karl Sassenrath ilmoitti [3] , että REBOL 3 oli avoimen lähdekoodin Apache-lisenssin alainen .

Kieli

Ohjelmointi

REBOL on korkean tason meta-kieli. Kielen peruskäsitteet: skriptit (tekstit), lausekkeet, sarjat, lohkot, tiedostot, funktiot, objektit, moduulit, portit, protokollat, jäsentäminen, matematiikka, virheet, matalan tason grafiikka, graafiset murteet. Kieli on helppo ymmärtää, se voidaan opettaa koululaisille ja aloittaa ohjelmoinnin välittömästi. Mutta samalla se on monipuolisuutensa ansiosta varsin tehokas, ja yksittäiset tekniikat ja metodologiat voivat olla syvällisen yliopistokurssin aiheena.

REBOL mahdollistaa rakenteellisen, modulaarisen, toiminnallisen ja prototyyppipohjaisen ohjelmoinnin. REBOL ei ole pelkkä toiminnallinen kieli, mutta komentotyyppistä ohjelmointia (pakollinen ei oikeastaan ​​ole funktio) tuetaan. Leksikaalinen vähimmäisyksikkö on sana  - vain joukko merkkejä. Kielen avulla mille tahansa sanalle voidaan antaa hyvin monipuolinen merkitys , joka voi mennä paljon pidemmälle kuin perusohjelmointiympäristössä, joka käyttää pääasiassa joukkoa perustoimintoja (460). Ne voidaan linkittää tavalla tai toisella olio-paradigman puitteissa, mikä mahdollistaa erilaisten kiinteiden tietotyyppien tuen muille mahdollisille ohjelmointiparadigmille kontekstista (eli perussanaston sisällä) poistumatta. REBOL on erityisen hyvä verkkoaluekielisuuntautuneeseen ohjelmointiin nimeltä DIALECTS.

REBOL on dynaaminen ja dynaamisesti kirjoitettu (arvot kirjoitetaan voimakkaasti, muuttujat eivät). Se käyttää roskien keräämistä muistin hallintaan, tukee poikkeusten käsittelyä ja dynaamista nimenselvitystä (lasketun sidoksen kautta).

Ja kaiken tämän myötä kieli säilyttää mikrojärjestelmän aseman ja lisää jatkuvasti toiminnallista tehoaan. Esimerkiksi sen kilpailija tehtävien suhteen (olla X-Internetin välittäjä tai kuten nykyään on muodikasta sanoa Web 3.0 ) curl vaatii satoja kertoja enemmän muistia (!) ja itse asiassa tehokkuuden konseptissa hukassa, huolimatta tällaisten hirviöiden osallistumisesta siihen, kuten IBM Instrumentsin entinen johtaja Robert Young ja Internetin perustaja Tim Berners-Lee [4] .

Tiedon määrittely ja vaihto

Tukeakseen kielen käyttöä tiedonsiirtokielenä REBOLilla on minimaalinen syntaksi, jolla on seuraavat ominaisuudet:

Tietokielenä REBOL tukee voimakkaasti kirjoitettuja arvoja – noin 60 alkuperäistä tietotyyppiä. Kuten monet ohjelmointikielet, on olemassa perustyyppejä, kuten kokonaislukuja, desimaalilukuja ja merkkijonoja. REBOL laajentaa tietotyyppien valikoimaa tunnistamalla ne leksikaalisella muodolla sisällyttääkseen itse tyypin arvot:

Nämä tietotyypit käyttävät monille, ei vain ohjelmoijille, tuttuja leksikaalisia muotoja helpottaakseen niiden käyttöä tiedon (sanomien) vaihtokielenä. REBOLin päätietorakenne, jota käytetään tietyn arvojen ryhmittelyyn, on block! , (sijoitetaan hakasulkeisiin [ ] ), joka liittyy melko helposti Lisp-luetteloihin tai merkintäkielten tunnisteisiin.

Toteutus

Tulkki on saatavilla useissa versioissa (/Core, /View, /Command) sekä (/Base, /Face ja /Pro) SDK:lle.

REBOL-tulkin lähdekoodia jaetaan vapaasti, eikä se vaadi asennusta. REBOL/View on myös vapaasti saatavilla. Laajennetut versiot, kuten REBOL/Pro, vaativat lisenssimaksun, ne lisäävät ominaisuuksia, kuten pääsy tietokantaan, mahdollisuus käyttää dynaamisesti ladattuja kirjastoja ja mahdollisuus luoda itsenäisiä (suoritettavaa) ohjelmia kehittäjille (esim. .exe Winille). Kolmannessa versiossa on tarkoitus avata koko käyttöliittymä.

Ajonaika on tällä hetkellä tallennettu yhteen suoritettavaan tiedostoon. REBOL/Core, konsoliversio, on kooltaan noin 300 kt . REBOL/View, GUI (Graphical User Interface) -versio, on kooltaan noin 600 kt . Sovellusohjelmat, joita joskus kutsutaan skripteiksi, mikä ei ole aivan oikein tälle kielelle - harvoin enemmän kuin muutama kilotavu. Voit siis laittaa tulkin ja suoritettavan tiedoston (koodin) jopa samalle levykkeelle (puhumattakaan USB-512-flash-asemasta) tai lähettää sen sähköpostitse tai suorittaa sen suoraan Internetistä.

Suoritusaika sisältää tuen monille Internet-protokollille, mikä helpottaa Internet-sovellusten, kuten sähköpostiagenttien tai Web-sovellusten, ja yleensä kaiken mittakaavan asiakas-palvelinsovellusten luomista.

REBOL/View tarjoaa alustasta riippumattoman pääsyn grafiikka- ja ääniominaisuuksiin, sisältää alustasta riippumattoman ikkunointityökalupaketin mielivaltaisilla, laajennettavissa olevilla GUI-tyyleillä. Siten voit luoda hajautettuja sovelluksia, joissa on graafinen käyttöliittymä eri alustoille. Rebol-murteiden idean käyttäminen on tehokas ratkaisu tulevien X-Internet-sovellusten kehittämiseen.

REBOL-yhteisö on yhteydessä myös yhteisen "REBOL-työpöydän" kautta  - graafisen esityksen REBOL-tiedostoista, jotka on tallennettu Internetiin, nimeltä "REB-Site". "REBOL Desktop" asennetaan välittömästi yhdessä REBOL/View-tulkin kanssa, eikä se vaadi toimiakseen mitään muuta selainta. Itse REBOL-työpöytä on avoimen lähdekoodin REBOL-sovellus.

Esimerkkejä

Hei maailma:

Konsolissa kirjoitat vain:

tulosta "Hei maailma!"

Luodaan alustasta riippumaton käyttöliittymä:

REBOL[ Otsikko: "Hei maailma ikkunassa" Tiedosto:%hello-view.r Päivämäärä: 12. tammikuuta 2002 ] näytä asettelu [ teksti "Hei maailma!" painike "Lopeta" [quit] ]

Ja tässä on alkeellinen Internet-ohjelma, joka käyttää HTTP :tä ja SMTP :tä:

REBOL[ Otsikko: "Web-sivun sähköpostiviesti" Tiedosto: %sendwebpage.r Päivämäärä: 12. tammikuuta 2002 Tarkoitus: "Hanki HTML-dokumentti verkosta ja lähetä se sähköpostitse" ] lähetä [email protected] lue http://www.rebol.com

Jokaisen REBOL-ohjelman tulee sisältää otsikkoosio, joka alkaa sanalla REBOL, jotta tulkki tietää mistä koodi alkaa. Otsikossa saa olla vain REBOL []; On kuitenkin hyvä käytäntö käyttää monisanaista otsikkoa, kuten yllä olevassa esimerkissä.

Murteet

REBOL on kontekstikohtainen kieli, joka tukee aluekohtaisia ​​alikieliä, joita kutsutaan murteiksi. Esimerkki REBOL-kontekstiherkkyydestä voidaan havainnollistaa sanalla return . "Normaalissa" suorituksessa palautus funktion sisällä palauttaa sen suorituksen tuloksen arvon. Visual Interface Dialektin (VID) yhteydessä sanan return läsnäolo tarkoittaa rivinvaihtoa. REBOL-ohjelmoija voi luoda omia murteita käyttämällä uudelleen mitä tahansa olemassa olevaa REBOL-sanaa, yhdistämällä siihen erilaisia ​​merkityksiä, jotka ovat merkityksellisiä kyseisen murteen kontekstissa. Tätä tarkoitusta varten kielellä on tehokkaat (mutta helppokäyttöiset) mahdollisuudet auttaa murteen suunnittelussa.

REBOL-kaltaiset kielet

ORCA [5]  on upotettava REBOL-tyyppinen kielitulkki , joka on toteutettu C -kirjastona ja jota jaetaan LGPL :n ehtojen mukaisesti . Kääntämisessä käytetään REBOL- tai ORCA-tulkkia.

Boron [6]  on toinen REBOL-tyyppinen kielen tulkki, joka on kirjoitettu C-kielellä. Suunniteltu upotettavaksi sovelluksiin. Jaetaan GPL 3 :n ehtojen mukaisesti .

RebGUI [7]  - Vaihtoehto REBOL:lle/View VID.

Punainen kääntäjä

Helmikuussa 2011 REBOL & Boron -konferenssissa Alankomaissa [8] ranskalainen ohjelmoija Nenad Rakocevic esitteli yleisölle alfaversion REBOL-pohjaisesta kielestä Red [9] [10] . Tämä on melko yksinkertainen ja matalatasoinen, laajennettava järjestelmäohjelmointikieli , jonka avulla voit määrittää erilaisia ​​DSL -yhteyksiä , jotka on suunniteltu käytettäväksi monenlaisissa tehtävissä. Kielitoteutus on konekoodin kääntäjä , ja sitä jaetaan BSD-lisenssin [11] ehtojen mukaisesti . Käyttää REBOL-tulkkia alkuperäisen käännöksen aikana. Se käyttää tällä hetkellä Windowsia , Linuxia ja Syllablea . Vuoden 2013 alussa Red Programming Language -projekti jatkaa aktiivista kehitystä.

Muistiinpanot

  1. https://api.github.com/repos/rebol/r3
  2. REBOL-kieli . Haettu 4. kesäkuuta 2009. Arkistoitu alkuperäisestä 7. marraskuuta 2008.
  3. R3-lähdekoodi julkaistu! . Käyttöpäivä: 13. joulukuuta 2012. Arkistoitu alkuperäisestä 14. joulukuuta 2012.
  4. Katso X Internet tai "Sfinksin Apple arkistoitu 22. syyskuuta 2015 Wayback Machinessa "
  5. ORCA REBOL -kielen klooni . Haettu 2. helmikuuta 2010. Arkistoitu alkuperäisestä 7. joulukuuta 2009.
  6. boori . Haettu 26. toukokuuta 2013. Arkistoitu alkuperäisestä 15. toukokuuta 2013.
  7. RebGUI . Haettu 26. toukokuuta 2013. Arkistoitu alkuperäisestä 14. toukokuuta 2013.
  8. Matka alkaa! Arkistoitu 9. heinäkuuta 2011 Wayback Machinessa , Red Programming Language, 27. helmikuuta 2011
  9. Punainen ohjelmointikieli . Haettu 22. kesäkuuta 2011. Arkistoitu alkuperäisestä 23. kesäkuuta 2011.
  10. Uusi punainen ohjelmointikieli saa tavuisen taustaohjelman arkistoituna 23. kesäkuuta 2011 Wayback Machinessa , OSNews
  11. Punainen ohjelmointikieli GitHubissa

Linkit