Este documento está disponible en los siguientes idiomas: English Castellano Deutsch Francais Nederlands Russian Turkce |
por Georges Tarbouriech Sobre el autor: Georges es un usuario viejo de Unix (comercial y libre). Es un "fan" de Rebol desde su aparición. Si leen Francés pueden echar un vistazo al primer artículo que escribió sobre Rebol hace unos dos años yendo a http://www.amiganews.com/ANN/no117/rebol.shtml Contenidos: |
Resumen:
Podríamos decir que REBOL es un lenguage de mensajería, aunque es mucho
más. En cualquier caso, está particularmente preparado para las comunicaciones
e internet. REBOL significa Relative Expression-Based Object Language.
Desde http://www.rebol.com pueden descargar la última versión (2.3) de
Rebol/Core para unas 40 plataformas. Rebol también está disponible en algunas
distribuciones de Linux, pero con versiones más antiguas.
Una de las novedades se llama Rebol/View del que pueden bajar una versión beta
con el número 0.9.
Esta es una de las grandes mejoras de Rebol. En este artículo,
trataremos de analizar brevemente las numerosas características de Rebol.
La idea detrás de Rebol era crear un lenguage sencillo semejante a lenguages humanos, como una especie de dialecto. Carl Sassenrath, el fundador de Rebol es alguién muy conocido en el mundo de la informática dado que ha trabajado para Apple, Commodore, HP... La comunidad Amiga, por ejemplo, le debe mucho. ¿Por qué hablar del Amiga? Porque la principal característica del AmigaSO es la compacidad. La última versión del SO (3.5), pesa menos de 20 Mb. Esto puede parecer extraño a los recién llegados, que han empezado a trabajar con SO (o algo así) que pesan entre 200 y 600 Mb.
Eso para explicar que la gente ha olvidado los tamaños cuando se trata del desarrollo. Las herramientas disponibles son muy numerosas y los lenguages de script muy útiles. Sin embargo, implican muy a menudo muchas lineas de código, para cualquier cosa que se quiera hacer con ellos. Normalmente, estos lenguages se utilizan para tareas específicas. Por ejemplo, Perl o Rexx son muy apreciados por los administradores de sistemas. Claro que se puede hacer mucho más que administración de redes con lenguages como Perl pero, hablando de versatilidad o compacidad, Rebol es un modelo. Podríamos decir que pueden hacer todo con Rebol. Las limitaciones no vienen del lenguage sino de la imaginación del usuario.
Hagamos una breva visita.
Como hemos mencionado antes, Rebol está disponible para unas 40 plataformas, en lo que respecta a Rebol/Core, el programa principal. Rebol/Core es una herramienta capaz de desarrollar cualquier tipo de applicación, aunque su área de mayor dominio sea internet. Con Rebol/Core se pueden manejar comunicaciones web, ftp, email y scripts cgi. Pueden manipular texto, html... Pero también pueden escribir mandos de sistemas o programas mucho más sofisticados.
La versión actual es la 2.3 y pesa alrededor de los 350/400 Kb (descomprimida) según la plataforma. Consta de un ejecutable y dos ficheros de configuración: rebol.r and user.r. El último no existe cuando se baja el arca, sino que será creado al primer arranque. Y no hay que decir respecto a la instalación, puesto que sólo tienen que poner estos ficheros en un directorio llamado rebol (por ejemplo) y copiarlo a donde quieran. Aunque, normalmente, tendrán que definir una variable de entorno para localizar el directorio que acaban de crear. En el arca encontrarán más ficheros: dos scripts y dos documentos html. Uno de los scripts puede ser utilizado para el feedback (de ahí su nombre) y el otro, llamado rebdoc.r sirve para generar la documentación (palabras clave) en html. Los dos ficheros html contienen informaciones de instalación y notas. Hay más documentación disponible en el site de Rebol.
Después, ya pueden descargar Rebol/View. Brevemente, podemos decir que es el interfáz gráfico de Rebol. Mas tarde vermos que es ¡MUCHO MAS! En el momento de éste artículo, Rebol/View está disponible solamente para Amiga, FreeBSD, Linux y las cosas de Microsoft. Las versiones BeOS R5, Irix, HP-UX, AIX y Solaris Sparc tendrían que aparecer muy pronto. Rebol/View es un simple ejecutable poco más o menos del mismo tamañ que Rebol/Core. Podemos añadir que es una versión beta (0.9.9 release 4.1). Pueden ponerlo a donde quieren y al primer arranque pedirá algunos parámetros de red. Ya hay documentación adicional y una FAQ están disponibles en el site de Rebol.
A título informativo, existen otros dos productos: Rebol/Command y Rebol/Apache. Rebol/Command aparecerá muy pronto y será un producto comercial dedicado al acceso de DLL, applicaciones y base de datos. Rebol/Apache será un modulo de plug-in para Apache.
Y ahora, ¿qué podemos hacer con eso?
Para descubrir Rebol (o no!), lo mejor es bajar los ejemplos. Son alrededor de 200! Para arrancar un script, depende de la máquina. Bajo SO con shell (o que pareacan tener shell...) entran algo como "rebol test.r". El sufijo .r indica un script Rebol. Para probar, también pueden escribir "do %test.r". Bajo SO sin shell, tal como MacOS (excepto MacOS X, claro!) basta con soltar el icono del script en el icono del ejecutable Rebol. ¡Eso es todo!. Y funciona también en las cosas de Microsoft, por ejemplo.
Y ahora, ¡entramos en el corazón de la bestia!
Aquí está un script Rebol de los ejemplos llamado 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 luke@rebol.com trim {
Hi there.
Just wanted to send you an email message from REBOL.
-Friend
}
De hecho, ¡sólo hay UNA linea de código! Todo lo que
se encuentra desde el primer REBOL hasta el cierre "]" puede ser
considerado como un "header", aunque tenga que figurar en cada script Rebol.
La última parte es el contenido del mensaje y entre ambas partes está
el código Rebol:
"send luke@rebol.com trim"
Lo que significa puede ser leido en la parte "note" del "header", y basta con
eso para mandar un mail si la máquina está correctamente
configurada. Si conocen un medio para hacerlo más corto, ¡avisenos!
Los scripts Rebol son interpretados y se comunican por puertos (un poco como lo hace Rexx) y, puesto que son de tamaño muy pequeño resulta que son muy rapidos, lo que no es una sorpresa para los que conocen Rebol desde sus comienzos. Sin embargo, a partir de la versión 2, tiene más funcionalidades... Basta con echar un vistazo a los ejemplos para notar las mejoras. Todo lo relacionado con comunicaciones ftp, web, mail, etc. puede ser realizado muy fácilmente con Rebol. Con unas líneas de código pueden bajar ficheros desde un servidor ftp, recuperar una página web en cualquier sitio. Y también manipular texto, html... ¡Un ejemplo de 2083 bytes enseña cómo convertir texto en html!
Los scripts cgi también se pueden manejar. Por ejemplo, es posible crear un formulario cgi y el formulario html asociado. Otra funcionalidad permite insertar un script Rebol en una página html con una baliza "script". Desafortunadamente, muy pocos navegadores parecen capaces de manejar correctamente ésta baliza. Una solución es de utilizar Rebol como cgi para crear contenido dinámico. ¡Un sorprendente ejemplo de 1827 bytes crea un servidor web! Y para los que no pueden vivir sin teléfono celular, hay un script que permite mandar mensajes a un teléfono GSM...
Con Rebol es posible encriptar, comprimir o descomprimir ficheros. Incluso, pueden autoextractar estos ficheros comprimidos. Den un vistazo a los scripts autoextract.r y encrypt.r. Como pueden ver, éstos ejemplos son una mina de oro. Estudienlos y no echarán de menos el tiempo empleado (aparte de que es imposible mencionarlos todos en éste artículo).
Podemos decir que Rebol es estupendo. Rebol/Core es una muy buena evolución, que justifica el cambio a la nueva versión ... o el empezar con ella. Respecto a Rebol/View, no podemos hablar de evolución: es una REVOLUCION! (o, porqué no, una reBolución).
Aquellos que no conozcan Rebol/View tendrían que sentarse y relajarse.
Rebol/View tiene las mismas funcionalidades que Rebol/Core... y más
mucho más. Tan sólo una palabra para resumir: ¡INCREIBLE!
Empezamos con un ejemplo y aquí está un script llamado 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"
]
Aquí tienen el resultado, que pordía ser la nueva forma de elegir
los idiomas en LinuxFocus...
Sigamos. Un script de 1413 bytes crea un editor de texto gráfico.
¿No lo creen? Bueno, aquí lo tienen:
Con TODO
EL SCRIPT adentro
Quieren más? El script image-sort.r
crea una herramienta para visualizar y clasificar imagenes: pesa 3443 bytes! Miren:
Imagen ofrecida por cortesía de NeXTstep(TM).
Hasta ahora, sólo hemos visto la increíble compacidad del código y las grandes funcionalidades de Rebol/View. Una pregunta podría ser "¿pueden hacer eso con otro lenguage con tan pocas lineas de código?" y aún más, sin necesitar del uso de una tortuga con frenos para compilarlo... (saben, ésa cosa llamada JIT!). No se enfaden, es broma... (bueno, no lo es, pero es mi opinión... ¡y la comparto!). De todos modos, como dice mi compadre ATif: TIMTOWDI (there is more than one way to do it, es decir hay más de una manera de hacerlo). Claro que su lengua materna es perl. Y ahora, Señoras y Señores, algo totalmente differente.
Durante los años 80, nos conectábamos a los BBS con herramientas más o menos avanzadas según los SO. Los años 90 nos han proporcionado los navegadores. Los navegadores graficos se han puesto más y más gordos y ahora se han vuelto "fábricas" (por lo menos, los más conocidos). Los sites web usan más y más Java (perdón, lo siento!) y navegar en el web a veces se transforma en una pesadilla, incluso con conexiones rápidas. Depende de la máquina de la conexión, pero también del navegador. Aquí llega la manera de navegar en el web en el siglo XXI... ¡o el Reb! Rebol/View permite navegar en el reb ¡sin navegador!. Con Rebol/View pueden conectar a algún site y hacer lo que harín con un navegador: bajar ficheros, navegar en el sites, poner al día software... Además, no tienen problemas porque el navegador no aguanta tal versión de tal producto, o ,aún peor, porque el site no aguanta tal SO! De todos modo, un ejemplo vale más que un discurso.
Es una conexión de verdad. Pueden probarlo... conectando a los sites Reb
con Rebol/View. Otro ejemplo, el que sigue es el indice de LinuxFocus del
número de Julio. El script pesa 2197 bytes y funciona. Es decir,
pinchando un botón les lleva al artículo correspondiente... pero
abriendo el navegador.
Sería un poco más largo para poder leer los artículos en
Rebol/View. aunque aquí tienen la
fuente por si acaso
quieren probar el ejemplo. Si visitan los sites Reb con Rebol/View pueden
bajar el código de cada ejemplo. Eso enseñ cómo funciona.
Otro lugar para encontrar información, es el directorio public creado
por Rebol. Cada conexión crea un subdirectorio llamado como la URL.
Desde éste subdirectorio pueden obtener código fuente, imagenes...
Claro que hay mucho que decir de esta herramienta y necesitaríamos un
libro en vez de un artículo. Como hemos dicho antes, Rebol parece no
tener limitaciones y lo que puede limitar es la imaginación del usuario.
Unas notas: para este artículo, Rebol/Core ha sido probado bajo AmigaOS 3.5,
BeOS 5, MacOS 7.1 (perdón, es el único que tenía!), Solaris Sparc 2.6,
Irix 6.5.7, No Terminado 4.0 y claro Linux (RH 6.2).
Rebol/View ha sido probado bajo AmigaOS, NT and Linux. Versiones experimentales
han sido probadas bajo Irix, BeOS 5 and Solaris 2.6.
Los scripts y fotos de pantallas fueron hecho bajo Linux, pero probados en las 6
plataformas. Hablando de los scripts, han funcionado igual en cada plataforma
probada (excepto con algunas versiones experimentales de Rebol/View lo que se puede
entender fácilmente).
La única diferencia radica en la velocidad puesto que las
máquinas utilizadas van de 25 Mhz hasta 400 Mhz! Aunque la frecuencia
de la CPU no lo hace todo... según la ley del embudo (otra vez, gracias
a mi compadre Javi que es un grán filósofo, ¡aunque cambié el
sentido de su teoría!). Es decir: Sr. Intel, ha notado que si tiene una
CPU de 1 GHz y un bus de 100 MHz (o incluso 133 MHz), el lado pequeño
del embudo se vuelve aún más pequeño?
Perdón por la digresión!!!
Volviendo a Rebol/View, podemos decir que es realmente rápido. Navegar en el reb con Rebol/View es más rápido que navegar de la manera corriente. Usar Rebol como herramienta de desarrollo también es muy impresionante. Si no sientes ganas de probar este gran software, no debes ser demasiado curioso.
Primeramente, podemos esperar la versión 1.0 de Rebol/View y, como ya hemos mencionado, otros productos que se desarrollan ahora mismo. Pero no hemos hablado del "porvenir". Rebol trabaja en un producto muy gordo llamado Rebol/Express. Será un producto comercial totalmente dedicado a las comunicaciones. Podemos llamarlo un software de internet. Pueden aprender más en éste producto desde http://www.rebol.com/products.html Rebol/Express puede ser un competidor para Backweb o Marimba. ¡Quédense a mirar! Pero conociendo la eficacia de la gente de Rebol podemos esperar otro grán software.
Quizás han notado que no habímos dado información sobre licencias. Rebol es gratuito pero no está bajo licencia GPL. Y otra cosa. La gente de Rebol se parece a sus productos: ¡son extraordinarios! Siempre toman en cuenta el feedback, que piden a través del script feedback.r encontrado en el arca. Contestan las preguntas y proveen documentación y FAQ. ¡Todo eso GRATUITO! También podemos tener confianza en las mejoras constantes de los productos. Creo de verdad que Rebol se volverá uno de los actores principales en comunicaciones durante los proximos años.
Lo último que podemos añadir es: prueben los productos Rebol. No sólo vivimos una época estupenda, ¡ también va mejorando!
|
Contactar con el equipo de LinuFocus
© Georges Tarbouriech LinuxFocus.org 2000 Pinchar aquí para informar de algún problema o enviar comentarios a LinuxFocus |
Información sobre la traducción:
|
2000-09-21, generated by lfparser version 1.8