REBOL

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. július 12-én felülvizsgált verziótól ; az ellenőrzések 16 szerkesztést igényelnek .
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:

Történelem

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 .

Nyelv

Programozás

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] .

Adatdefiníció és adatcsere

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.

Megvalósítás

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.

Példák

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ímet

Minden 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.

Dialektusok

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.

REBOL-szerű nyelvek

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.

Red fordító

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.

Jegyzetek

  1. https://api.github.com/repos/rebol/r3
  2. REBOL nyelv . Letöltve: 2009. június 4. Az eredetiből archiválva : 2008. november 7..
  3. R3 forráskód megjelent! . Hozzáférés dátuma: 2012. december 13. Az eredetiből archiválva : 2012. december 14.
  4. Lásd: X Internet, vagy "A szfinx Apple archivált 2015. szeptember 22-én a Wayback Machine -nál "
  5. ORCA REBOL nyelvi klón . Letöltve: 2010. február 2. Az eredetiből archiválva : 2009. december 7..
  6. bór . Letöltve: 2013. május 26. Az eredetiből archiválva : 2013. május 15.
  7. RebGUI . Letöltve: 2013. május 26. Az eredetiből archiválva : 2013. május 14..
  8. Indul az utazás! Archiválva : 2011. július 9., a Wayback Machine , Red Programming Language, 2011. február 27.
  9. Piros programozási nyelv . Letöltve: 2011. június 22. Az eredetiből archiválva : 2011. június 23..
  10. Az új Red programozási nyelv szótagos hátteret kapott, archiválva 2011. június 23. a Wayback Machine -nél, OSNews
  11. Piros programozási nyelv a GitHubon

Linkek