REBOL | |
---|---|
Szemantika | moduláris , fájl orientált , blokkstruktúra , port protokoll , adatkonverzió , elemzés |
Nyelvóra | többfogalom , felszólító , dialektus , dinamikus , üzenetküldés , környezetérzékeny , objektum , funkcionális , elosztott , hálózat , ML , DSL |
A végrehajtás típusa | tolmács , virtuális gép |
Megjelent | 1997 |
Szerző | Carl Sassenrath |
Fájlkiterjesztés _ | .reb |
Kiadás | 2010. február |
Teszt verzió | REBOL 3 |
Típusrendszer | erős , dinamikus , korai és késői kötés |
Főbb megvalósítások | platformok közötti , külső mag , dialektusok , bővítmények , szerver , intelligens kliens , P2P , szolgáltatások , minta szkriptkönyvtár , összes szkriptkönyvtár |
Dialektusok | Draw , VID , GUI , Make-GOB , Richtext , Effectt , Secure , DevBase , Rebcode , Parse , MediaWiki Dialect |
Befolyásolva | Fortran , Lisp , Logo , C , Forth , Prolog , REXX , Smalltalk , Self , Tcl , Lua , Limbo |
Engedély | Apache License 2.0 és Apache License [1] |
Weboldal |
rebol.com _ _ |
A REBOL (ejtsd: ['reb`yell] ) egy környezetérzékeny objektumprogramozási nyelv , amelyet kifejezetten az elosztott számítástechnikára terveztek a weben . A REBOL a Relative Expression Based Object Language rövidítése.
A szerző a REBOL-t üzenetküldő nyelvként pozicionálja:
Carl Sassenrath építész ("a nyelv szavainak és fogalmainak") az AmigaOS fő fejlesztője volt a REBOL Technologies megalapítása előtt [2] . Még ezt megelőzően az Apple Computernél és a Hewlett Packardnál dolgozott, ahol tapasztalatot szerzett az operációs rendszerek, a fájlrendszer fejlesztésében, és megfogalmazta saját koncepcióját aszámítógépes operációs környezet mikrokerneléről .
13 évesen kezdett dolgozni egy televíziós társaságban, ahol 14 évesen egy napi hírműsor műszaki igazgatója volt. A Davis-i Kaliforniai Egyetemen végzett , operációs rendszerekre , párhuzamos folyamatokra , programozási nyelvekre és neurofiziológiára specializálódott .
Projektje azonnal kihívássá vált, mindenekelőtt véget vetett a jelölőnyelvek fejlesztésének. A cég azonban továbbra is meglep a döntéseivel, a kiegyensúlyozott programozási koncepciók és a gondos végrehajtás felé tart. A cég első terméke már a nyelv második változata (1998). Azonnal megjelentek a mag dialektusokkal történő módosításai:
Haladó felhasználóknak (fejlesztőknek):
Példaként egy kereskedelmi termékre:
Jelenleg a harmadik verzió készült és tesztelés alatt áll.
2012. december 12-én Karl Sassenrath bejelentette [3] , hogy a REBOL 3 nyílt forráskódú az Apache licenc alatt .
A REBOL egy magas szintű metanyelv. A nyelv alapfogalmai: szkriptek (szövegek), kifejezések, sorozatok, blokkok, fájlok, függvények, objektumok, modulok, portok, protokollok, elemzés, matematika, hibák, alacsony szintű grafika, grafikus dialektusok. A nyelv könnyen érthető, megtanítható az iskolásoknak, és azonnal elkezdhetik a programozást. Ugyanakkor sokoldalúságának köszönhetően elég erős, az egyéni technikák, módszertanok pedig egy mély egyetemi képzés tárgyát képezhetik.
A REBOL lehetővé teszi a strukturális, moduláris, funkcionális és prototípus-alapú programozást. A REBOL nem egy tisztán funkcionális nyelv, de a parancs-stílusú programozás (a kötelező feltétel valójában nem függvény) támogatott. A minimális lexikai egység a szó – csak egy karakterkészlet. A nyelv segítségével nagyon sokrétű jelentést tulajdoníthatunk bármely szónak , amely messze túlmutat az alapvető programozási környezet fogalmain, amely főleg alapvető funkciók halmazát használja (460). Az objektum-orientált paradigma keretein belül így vagy úgy összekapcsolhatók, ami lehetővé teszi, hogy különféle rögzített adattípusok birtokában más lehetséges programozási paradigmák támogatását is lehetővé tegye a kontextus elhagyása nélkül (azaz az alapszókincsen belül). A REBOL különösen jó a DIALECTS nevű tartománynyelv-orientált programozáshoz.
A REBOL dinamikus és dinamikusan tipizált (az értékek erősen vannak beírva, a változók nem). Szemétgyűjtést használ a memóriakezeléshez, támogatja a kivételkezelést és a dinamikus névfeloldást (számított kötésen keresztül).
És mindezzel a nyelv megtartja a mikrorendszer státuszát, folyamatosan növelve funkcionális erejét. Például a feladatokat tekintve versenytársa (hogy az X-Internet közvetítője legyen, vagy ahogy manapság divatos a Web 3.0 ) curl több százszor több memóriát (!) igényel, sőt, a hatékonyság fogalmában elveszett, annak ellenére, hogy részt vettek benne olyan szörnyek, mint az IBM Instruments korábbi vezetője, Robert Young és az Internet alapító atyja, Tim Berners-Lee [4] .
A nyelv adatcsere-nyelvként való használatának támogatására a REBOL minimális szintaxissal rendelkezik a következő tulajdonságokkal:
Adatnyelvként a REBOL támogatja az erősen beírt értékeket – körülbelül 60 natív adattípust. Sok programozási nyelvhez hasonlóan vannak alapvető típusok, például egész számok, tizedesjegyek és karakterláncok. A REBOL kibővíti az adattípusok körét azáltal, hogy lexikális formával azonosítja őket, hogy magukban foglalják a típus értékeit:
Ezek az adattípusok nem csak programozók, hanem sokak számára ismert lexikális formákat használnak, hogy megkönnyítsék adat- (üzenet-) cserenyelvként való használatukat. A REBOL fő adatszerkezete, amely egy bizonyos értékkészlet csoportosítására szolgál, a blokk! , (szögletes zárójelben [ ] ), amely meglehetősen könnyen társítható Lisp listákkal vagy jelölőnyelvi címkékkel.
Az interpreter több verzióban (/Core, /View, /Command), valamint (/Base, /Face és /Pro) elérhető az SDK-hoz.
A REBOL interpreter forráskódja szabadon terjeszthető, és nem igényel telepítést. A REBOL/View szintén ingyenesen elérhető. A kiterjesztett verziók, mint például a REBOL/Pro licencdíjat igényelnek, olyan funkciókat adnak hozzá, mint az adatbázis-hozzáférés, a dinamikusan betöltött könyvtárak használatának lehetősége, valamint a fejlesztők számára önálló (futtatható) programok létrehozásának lehetősége (pl. .exe a Win számára). A harmadik verzióban a tervek szerint a teljes felületet megnyitják.
A futási környezet jelenleg egyetlen végrehajtható fájlban van tárolva. A REBOL/Core, a konzolos verzió körülbelül 300 KB méretű . A REBOL/View, a grafikus felhasználói felület (GUI) verziója körülbelül 600 KB méretű . Alkalmazási programok, amelyeket néha szkripteknek neveznek, ami nem teljesen megfelelő ehhez a nyelvhez – ritkán több, mint néhány kilobájt. Így akár ugyanarra a hajlékonylemezre is felteheti a tolmácsot és a végrehajtható fájlt (kódot) (USB-512 pendrive-ról nem is beszélve), vagy elküldheti e-mailben, vagy közvetlenül az internetről futtathatja.
A futtatókörnyezet számos internetes protokoll támogatását tartalmazza, megkönnyítve internetes alkalmazások, például e-mail ügynökök vagy webalkalmazások, valamint általában bármilyen méretű kliens-szerver alkalmazások létrehozását.
A REBOL/View platformfüggetlen hozzáférést biztosít a grafikus és audioképességekhez, tartalmaz egy platformfüggetlen ablakkezelő eszközkészletet, tetszőleges, bővíthető grafikus felületi stílusokkal. Így létrehozhat elosztott alkalmazásokat, amelyek grafikus felhasználói felülettel rendelkeznek különböző platformokon. A Rebol dialektusok ötlete hatékony megoldást jelent a jövőbeli X-Internet alkalmazások fejlesztésére.
A REBOL közösség egy közös „REBOL asztalon” keresztül is kapcsolódik – az interneten tárolt REBOL fájlok grafikus megjelenítése, az úgynevezett „REB-Site”. A "REBOL Desktop" a REBOL/View interpreterrel együtt azonnal telepítve van, és nincs szükség más böngészőre a működéséhez. Maga a REBOL asztal egy nyílt forráskódú REBOL alkalmazás.
Helló Világ:
A konzolba egyszerűen beírod:
print "Hello World!"Hozzunk létre egy platformfüggetlen grafikus felületet:
REBOL[ Cím: "Hello World in a Window" Fájl:%hello-view.r Időpont: 2002. január 12 ] elrendezés megtekintése [ szöveg "Hello világ!" gomb "Kilépés" [kilépés] ]És itt van egy kezdetleges internetes program, amely HTTP -t és SMTP -t használ :
REBOL[ Cím: "Weboldal e-mailező" Fájl: %sendwebpage.r Időpont: 2002. január 12 Cél: "Hozzon le egy HTML-dokumentumot az internetről, és küldje el e-mailben" ] küldje el a [email protected] olvassa el a http://www.rebol.com címetMinden REBOL programnak tartalmaznia kell egy fejlécet, amely a REBOL szóval kezdődik, hogy az értelmező tudja, hol kezdődik a kód. A címben csak a REBOL []; jó gyakorlat azonban a bőbeszédű cím használata, mint a fenti példában.
A REBOL egy környezetérzékeny nyelv, amely támogatja a dialektusnak nevezett tartományspecifikus alnyelveket. A REBOL kontextusérzékenység példája a return szóval szemléltethető . "Normál" végrehajtás esetén a függvényen belüli return a végrehajtás eredményének értékét adja vissza. A Visual Interface Dialect (VID) kontextusában a return szó jelenléte újsort jelöl. A REBOL programozó létrehozhatja saját dialektusait bármely létező REBOL szó újrafelhasználásával, és különféle jelentéseket társít hozzá, amelyek relevánsak az adott nyelvjárás kontextusában, erre a célra a nyelv hatékony (de könnyen használható) lehetőségekkel segíti a dialektus tervezését.
Az ORCA [5] egy beágyazható REBOL-szerű nyelvi tolmács , amelyet C -könyvtárként valósítanak meg, és az LGPL feltételei szerint terjesztenek . Fordításkor a REBOL vagy ORCA értelmezőt használjuk.
A Boron [6] egy másik, C nyelven írt REBOL-szerű nyelvi tolmács. Alkalmazásokba való beágyazásra tervezték. Terjesztve a GPL 3 feltételei szerint .
RebGUI [7] – A REBOL/View VID alternatívája.
2011 februárjában a hollandiai REBOL & Boron konferencián [ 8] Nenad Rakocevic francia programozó bemutatta a nyilvánosságnak a REBOL-alapú Red [9] [10] nyelv alfa változatát . Ez egy meglehetősen egyszerű és alacsony szintű, bővíthető rendszerprogramozási nyelv , amely lehetővé teszi különféle DSL-ek meghatározását, amelyeket különféle feladatokhoz terveztek. A nyelvi megvalósítás egy gépi kód fordítója , és a BSD licenc feltételei szerint kerül terjesztésre [11] . A kezdeti fordítás során a REBOL értelmezőt használja. Jelenleg Windows , Linux és Syllable fut rajta . 2013 elején a Red Programming Language projekt aktívan fejlődik.