original in en Georges Tarbouriech
en to nl Mylène Reiners
Georges gebruikt al lang Unix (zowel commerciële als gratis versies). Vanaf het begin is hij een Rebol fan. Als je Frans kunt lezen kun je eens naar een artikel kijken dat hij twee jaar geleden over Rebol schreef op http://www.amiganews.com/ANN/ no117/rebol.shtml
Je zou kunnen zeggen dat REBOL een taal is voor "messaging", maar eigenlijk is het veel meer. Wel is REBOL in het bijzonder gericht op communicatie via het Internet.
REBOL staat voor Relative Expression-Based Object Language.
Op http://www.rebol.com kun je de laatste versie (2.3) van Rebol/Core voor ongeveer 40 platforms downloaden. Ook zijn eerdere versies van Rebol beschikbaar in een aantal Linux distributies.
Een van de nieuwste ontwikkelingen wordt Rebol/View genoemd, en je kunt er een beta versie 0.9 (4.1) van downloaden.
Dit laatste is een van de grote verbeteringen binnen Rebol.
In dit artikel zullen we een kort overzicht proberen te geven van de vele kenmerken van Rebol.
De idee achter Rebol was om een eenvoudige taal te maken, dicht tegen de gewone taal aan, zoals een dialect... nou ja, ongeveer. Carl Sassenrath, de grondlegger van Rebol, is bekend in de computerbranche: hij heeft gewerkt voor Apple, Commodore, HP... Ook bijvoorbeeld de Amiga-gemeenschap is hem veel dank verschuldigd.
Waarom de Amiga? Het belangrijkste dat het AmigaOS onderscheidt is compactheid. De laatste versie (3.5) van het OS is kleiner dan 20 MB. Dit moet wel vreemd klinken in de orgen van nieuwelingen die hun eerste ervaringen opdeden met OSen (of zo) die tussen de 200 en 600 MB innemen.
Dit is een van de redenen waarom men is vergeten dat ontwikkeling ook in het klein kan plaatsvinden. De tools (hulpmiddelen) zijn talrijk en scripttalen zijn absoluut nuttig. Echter: je hebt meestal een groot aantal regels coding nodig, wat je ook met ze wilt doen.
Gewoonlijk zijn deze talen bedoeld voor specifieke taken. Perl of Rexx bijvoorbeeld worden bijzonder gewaardeerd door systeembeheerders. Toch kun je veel meer met talen als Perl doen dan alleen netwerkbeheer.
Als je echter over veelzijdigheid en compactheid praat, heeft Rebol een voorbeeldfunctie.
We durven te beweren dat je gewoon alles kunt met Rebol. De grenzen worden niet gezet door de taal, maar door je verbeelding.
Laten we beginnen met een korte rondleiding.
Zoals al eerder gezegd, is Rebol beschikbaar voor meer dan 40 platforms.
Dit betreft Rebol/Core, het onmisbare programma. Met Rebol/Core kun je elk soort programma
ontwikkelen, al is en blijft het favoriete terrein het Internet.
Met Rebol/Core kun je web, ftp, email communicatie en cgi scripts aan.
Je kunt tekst, html en... manipuleren. Maar je kunt het ook gebruiken om systeemcommando's te schrijven, of veel geraffineerdere programma's.
De huidige versie is 2.3, en is ongeveer 350/400 Kbytes klein (ongecomprimeerd), afhankelijk van het platform. Het bestaat uit een executable (uitvoerbaar programma) en twee configuratiebestanden: rebol.r en user.r. Deze laatste bestaat niet als je het archief download. Het wordt de eerste keer als je Rebol opstart aangemaakt. Meer valt er over de installatie niet te zeggen, omdat je de bestanden alleen maar in een directory met (bijvoorbeeld) de naam Rebol hoeft te zetten.
Gewoonlijk zul je een environment variabele moeten zetten om de directory die je gemaakt hebt aan te geven.
In het archief staan nog een paar andere bestanden: 2 scripts en 2 html documenten.
Een script kan gebruikt worden voor feedback (vandaar zijn naam); het andere heet rebdoc.r, en stelt je in staat om de documentatie (trefwoorden) in html formaat te maken.
De beide html-bestanden betreffen installatie en aantekeningen. Meer documentatie is beschikbaar op de Rebol website.
Daarnaast heb je Rebol/View. In het kort kun je zeggen dat het de GUI (Grafische gebruikers interface) voor Rebol is.
VEEL MEER hierover volgt straks!
Op het moment van schrijven is Rebol/View alleen beschikbaar voor Amiga, FreeBSD,
Linux en Microsoft omgevingen. BeOS R5, Irix, HP-UX, AIX, Solaris en Sparc versies zijn aanstaande, en zouden dus binnenkort moeten verschijnen.
Rebol/View is een op zichzelf staande executable, ongeveer even groot als Rebol/Core. Het is nog een beta versie (0.9.9 release 4.1).
Zet het waar je wilt, en als je het voor het eerst opstart zal het je naar een aantal netwerk parameters vragen. Documentatie en een FAQ zijn al beschikbaar op de Rebol site.
Ter informatie: er zijn nog twee andere producten beschikbaar: Rebol/Command en Rebol/Apache.
Rebol/Command zal binnenkort uitgebracht worden, en zal een commercieel product zijn met als doel het benaderen van DLL's, programma's en databases.
Rebol/Apache wordt een plug-in module (insteekmodule) voor Apache.
Wat kunnen we er nou mee?
Als Rebol nieuw voor je is (trouwens ook als dat niet het geval is!) kun je het beste de voorbeeld scripts dowloaden. Het zijn er ongeveer 200!
Hoe je een script uitvoert zal afhangen van je machine (OS). Op OSen met een shell (en gelijksoortige machines) toets je iets ins als "rebol test.r". Het suffix (achtervoegsel) .r wijst op een Rebol script. Om te testen kun je ook "do %test.r" intoetsen.
Op OSen zonder shell, zoals MacOS (behalve natuurlijk MacOS X!) hoef je alleen het script-icoon op het Rebol programma-icoon te laten vallen. Dat is alles!
Dit werkt bijvoorbeeld ook bij Microsoft spullen.
Laten we nu naar de kern van de zaak gaan!
Hier volgt een Rebol script uit de voorbeelden, met de naam mailsend.r.
REBOL [
Title: "Email Message Sender"
]
File: %mailsend.r
Date: 10-Sep-1999
Purpose: {A very simple way to send an email.}
Note: {
The TRIM function below is used to remove the blank
}
lines from the head of the email, so that the first
line of text gets used as the subject.
Category: [email net 1]
send [email protected] trim {
Hi there.
Just wanted to send you an email message from REBOL.
-Friend
}
Feitelijk is dit EEN regel code!
Het stuk vanaf het eerste REBOL tot de afsluitende "]", kun je beschouwen als een header, al is het verplicht voor elk Rebol script.
Het laatste stuk is de inhoud van de boodschap, en ertussenin staat de Rebol code:
"send [email protected] trim"
Wat het commando doet staat in de header "note" van het script.
Dit is alles wat je nodig hebt om mail te verzenden, zodra je machine goed geconfigureerd is.
Als jij een kortere manier kent om dat te doen, laat het ons weten!
Rebol scripts worden geïnterpreteerd en communiceren via poorten (vergelijkbaar met Rexx) en gezien hun geringe formaat, zijn ze echt snel.
Nou ja, voor diegenen die Rebol al vanaf het begin kennen, zal dit geen verrassing zijn.
Vanaf release 2 zijn er meer kenmerken, meer functies, etc. beschikbaar, genoeg om eens naar de voorbeeldscripts te kijken om de verbeteringen te zien.
Alles met betrekking tot ftp, web, en mail communicatie kan met Rebol eenvoudig gedaan worden. Met een paar regels code kun je bestanden van een ftp server downloaden, ergens een webpagina ophalen...
Daarnaast kun je text, html, etc. manipuleren. Een voorbeeld toont je hoe je tekst naar html converteert, via een script van 2083 bytes!
Ook CGI scripts kunnen gemaakt worden. Zo kun je bijvoorbeeld een CGI formulier maken, met de bijbehorende HTML code.
Een ander kenmerk stelt je in staat een Rebol script aan een html pagina toe te voegen met de script tag. Jammer genoeg zijn maar weinig browsers in staat om hier goed mee om te gaan. Je zou Rebol als CGI kunnen gebruiken om dynamisch de inhoud te genereren.
Met een voorbeeld van een adembenemende 1827 bytes maak je een webserver!!!
Voor diegenen die niet zonder hun mobieltje kunnen, bestaat er een script om berichten naar een GSM te sturen...
Het is met Rebol mogelijk om bestanden te versleutelen en te (de)comprimeren. Je kunt zelfs de gecomprimeerde bestanden weer automatisch uitpakken. Zie hiervoor de scripts autoextract.r and encrypt.r.
Je zult inmiddels wel gemerkt hebben dat deze voorbeelden een goudmijn zijn. Bekijk ze, het zal echt geen verloren tijd zijn (en het is onmogelijk om ze allemaal in een artikel te bespreken).
We kunnen stellen dat Rebol gewoon geweldig is!. De Rebol/Core is een geweldige ontwikkeling, die het rechtvaardigt om te upgraden... of om te beginnen.
Als we kijken naar Rebol/View, spreken we niet meer over een ontwikkeling, maar over een REVOLUTIE! (of waarom geen reBolutie?).
Degenen onder jullie die Rebo/View niet kennen zouden nu moeten gaan zitten en zich ontspannen!
Met Rebol/View krijg je hetzelfde als met Rebol/Core... plus een hoop extra.
Een woord om het samen te vatten: ONGELOOFELIJK!
Laten we beginnen met een voorbeeld.
Hier een script met de naam lftest.r.
REBOL [
Title: "New way to access LF languages"
]
File: %lftest.r
Date: 28-Jul-2000
Purpose: {Shows how easy to create buttons.}
Category: [view VID 1]
view layout [
title "LF the multilingual magazine"
]
across
button "English" button "Français" button "Castellano" return
button "Deutsch" button "Nederlands" button "Italiano"
Dit zou een nieuwe manier kunnen zijn om binnen LF de verschillende talen te benaderen...
Laten we verder gaan... Een script van 1413 bytes creëert een grafische text editor (tekst-bewerkingsprogramma)!!! Geloof je het? Hier is het bewijs:
En hier is het script.Wil je nog meer? Het script image-sort.r maakt een tool om afbeeldingen te tonen en te sorteren! Bekijk het eens:
Deze afbeelding is beschikbaar gesteld door NeXTstep(TM) Tot nu toe hebben we alleen de compactheid van de code en de geweldige karakteristieken van Rebol/View gezien.Dit is echt een verbinding met het Internet! Test zelf maar... maak en verbinding met een Reb-site via Rebol/View.
Om te beginnen kunnen we rekenen op versie 1.0 van Rebol/View. Zoals we al besproken hebben zijn er nog een aantal andere producten in de maak. Maar we hebben niks gezegd over dat "wat nog moet komen". Rebol werkt aan een enorm groot product met de naam Rebol/Express. Dit wordt een commercieel product, volledig gericht op communicatie.Een soort Internet software. Je kunt meer over dit product te weten komen via http://www.rebol.com/products.html
Rebol/Express zou een concurrent kunnen worden van Backweb of Marimba. Wacht maar af!
Maar gezien de bekwaamheid van de mensen van Rebol kunnen we nog andere geweldige softwareproducten verwachten.
Zoals je misschien al gemerkt hebt, heb ik nog niets gezegd over de licenties. Ter informatie: Rebol/Core is gratis, maar niet onder de GPL.
Verder zijn de mensen bij Rebol net als hun producten: geweldig!
Ze houden altijd rekening met je feedback, ze vragen er zelfs om! Vandaar het feedback.r script dat meegeleverd wordt. Ze beantwoorden je vragen, geven je documentatie en een FAQ. Alles GRATIS!
Ook kunnnen we hen voortdurende verbeteringen in hun werk toevertrouwen.
Ik geloof echt dat Rebol een van de belangrijke spelers zal worden op het gebied van communicatie in de loop van de komende jaren.
Het enige dat ik hier nog aan kan toevoegen is: test Rebol producten en probeer op de hoogte te blijven!
We leven niet alleen in een geweldige tijd, hij wordt nog beter ook!