Ruby
- Aragones
- l`rby@
- Asturianu
- Az@rbaycanca
- toerkhjh
- Zemaiteska
- Belaruskaia
- B'lgarski
- baaNlaa
- Bosanski
- Catala
- khwrdy
- Cestina
- Dansk
- Deutsch
- Ellenika
- English
- Esperanto
- Espanol
- Eesti
- Euskara
- frsy
- Suomi
- Francais
- Hausa
- `bryt
- Hrvatski
- Magyar
- Hayeren
- Interlingua
- Bahasa Indonesia
- Ido
- Italiano
- Ri Ben Yu
- k`art`uli
- hangugeo
- Kyrgyzcha
- Lombard
- Lietuviu
- Latviesu
- mlyaallN
- mraatthii
- Bahasa Melayu
- mnmaabhaasaa
- Nederlands
- Norsk nynorsk
- Norsk bokmal
- odd'iaa
- pNjaabii
- Polski
- pnjby
- Portugues
- Romana
- Russkii
- Srpskohrvatski / srpskokhrvatski
- Simple English
- Slovencina
- Shqip
- Srpski / srpski
- Svenska
- Kiswahili
- tmilll
- telugu
- Toch'iki
- aithy
- Turkce
- Tatarcha / tatarca
- Ukrayins'ka
- rdw
- O`zbekcha / uzbekcha
- Tieng Viet
- Wu Yu
- Zhong Wen
- Yue Yu
Este artigo ou seccion precisa dunha revision do formato que siga o libro de estilo da Galipedia. Pode axudar a mellorar este artigo e outros en condicions semellantes. |
| Ruby | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Eponimo
| |||||||||||
| Persoas e organizacions | |||||||||||
|
Desenador/a
| |||||||||||
|
Desenvolvedor
| |||||||||||
| Producion | |||||||||||
|
Versions
4.0 version estabel (25 de decembro de 2025)
3.3.0 version estabel (25 de decembro de 2023) 3.3.1 version estabel (23 de abril de 2024) 3.3.2 version estabel (30 de maio de 2024) 3.3.3 version estabel (12 de xuno de 2024) 3.2.2 version estabel (30 de marzo de 2023) 3.2.0 version estabel (25 de decembro de 2022) 3.2.1 version estabel (8 de febreiro de 2023) 3.1.3 version estabel (24 de novembro de 2022) 2.7.0 version estabel (25 de decembro de 2019) 3.3.4 version estabel (9 de xullo de 2024) 3.3.6 version estabel (5 de novembro de 2024) 3.4.5 version estabel (15 de xullo de 2025) 3.4.6 version estabel (16 de setembro de 2025) 3.3.5 version estabel (3 de setembro de 2024) 3.4.4 version estabel (14 de maio de 2025) 3.4.2 version estabel (14 de febreiro de 2025) 3.4.3 version estabel (14 de abril de 2025) 3.4.1 version estabel (25 de decembro de 2024) 3.4.7 version estabel (7 de outubro de 2025) 3.4.8 version estabel (17 de decembro de 2025) 2.6.2 version estabel (13 de marzo de 2019) 2.6.1 version estabel (30 de xaneiro de 2019) 2.6.3 version estabel (17 de abril de 2019) 2.6.0 version estabel (25 de decembro de 2018) 2.5.3 version estabel (18 de outubro de 2018) 2.3.5 version estabel (14 de setembro de 2017) 2.4.2 version estabel (14 de setembro de 2017) 2.2.8 version estabel (14 de setembro de 2017) 2.4.6 (31 de marzo de 2019) 2.4.5 (17 de outubro de 2018) 2.5.2 (17 de outubro de 2018) 2.4.4 (28 de marzo de 2018) 2.5.4 (13 de marzo de 2019) 1.9.2.320 (21 de abril de 2012) 2.4.7 (28 de agosto de 2019) 2.6.4 (28 de agosto de 2019) 2.5.5 (14 de marzo de 2019) 2.5.6 (28 de agosto de 2019) 2.4.3 (14 de decembro de 2017) 2.4.1 (22 de marzo de 2017) 2.3.6 (14 de decembro de 2017) 2.3.8 (17 de outubro de 2018) 2.3.0 (24 de decembro de 2015) 2.3.1 (25 de abril de 2016) 2.2.10 (28 de marzo de 2018) 2.2.9 (14 de decembro de 2017) 2.4.0 (23 de decembro de 2016) 2.3.2 (15 de novembro de 2016) 2.3.4 (29 de marzo de 2017) 2.3.3 (21 de novembro de 2016) 2.3.7 (28 de marzo de 2018) 2.4.8 (1 de outubro de 2019) 2.5.7 (1 de outubro de 2019) 2.4.10 (31 de marzo de 2020) 2.4.9 (2 de outubro de 2019) 1.9.1.431 (18 de febreiro de 2011) 1.9.1.430 (16 de agosto de 2010) 1.9.2.0 (18 de agosto de 2010) 1.9.2.136 (25 de decembro de 2010) 3.1.2 (12 de abril de 2022) 1.9.1.429 (2 de xullo de 2010) 1.9.1.376 (7 de decembro de 2009) 1.9.1.378 (10 de xaneiro de 2010) 2.5.0 (25 de decembro de 2017) 2.5.1 (28 de marzo de 2018) 2.6.5 (1 de outubro de 2019) 3.1.1 (18 de febreiro de 2022) 3.0.3 (24 de novembro de 2021) 2.5.8 (31 de marzo de 2020) 2.6.6 (31 de marzo de 2020) 2.2.7 (28 de marzo de 2017) 1.9.2.180 (18 de febreiro de 2011) 3.1.0 (25 de decembro de 2021) 2.7.1 (31 de marzo de 2020) 3.0.0 (25 de decembro de 2020) 2.7.2 (2 de outubro de 2020) 3.0.2 (7 de xullo de 2021) 3.0.1 (5 de abril de 2021) 1.9.2.318 (10 de abril de 2012) 2.2.6 (15 de novembro de 2016) 2.2.4 (16 de decembro de 2015) 1.9.3.426 (14 de maio de 2013) 1.9.3.429 (14 de maio de 2013) 1.9.3.392 (22 de febreiro de 2013) 1.9.3.384 (6 de febreiro de 2013) 1.9.3.385 (6 de febreiro de 2013) 1.9.3.383 (6 de febreiro de 2013) 1.9.3.448 (27 de xuno de 2013) 1.9.3.484 (22 de novembro de 2013) 1.9.3.550 (27 de outubro de 2014) 1.9.3.483 (22 de novembro de 2013) 1.9.3.547 (16 de maio de 2014) 1.9.3.545 (24 de febreiro de 2014) 1.9.3.551 (13 de novembro de 2014) 1.9.3.374 (17 de xaneiro de 2013) 1.9.3.361 (25 de decembro de 2012) 1.9.3.194 (20 de abril de 2012) 1.9.3.195 (20 de abril de 2012) 1.9.3.125 (16 de febreiro de 2012) 1.9.2.381 (18 de febreiro de 2012) 1.9.3.0 (30 de outubro de 2011) 1.9.3.362 (25 de decembro de 2012) 1.9.3.283 (12 de outubro de 2012) 1.9.3.286 (12 de outubro de 2012) 1.9.3.360 (25 de decembro de 2012) 1.9.3.284 (12 de outubro de 2012) 1.9.3.327 (9 de novembro de 2012) 1.9.3.326 (9 de novembro de 2012) 2.2.5 (26 de abril de 2016) 2.0.0.0 (24 de febreiro de 2013) 2.0.0.247 (27 de xuno de 2013) 2.1.7 (18 de agosto de 2015) 2.1.8 (16 de decembro de 2015) 1.9.2.290 (15 de xullo de 2011) 2.1.4 (27 de outubro de 2014) 2.1.5 (13 de novembro de 2014) 2.1.3 (18 de setembro de 2014) 2.1.9 (30 de marzo de 2016) 2.2.0 (25 de decembro de 2014) 2.2.3 (18 de agosto de 2015) 2.1.10 (31 de marzo de 2016) 2.2.2 (13 de abril de 2015) 2.2.1 (27 de febreiro de 2015) 2.0.0.195 (14 de maio de 2013) 2.1.2 (8 de maio de 2014) 2.1.0 (25 de decembro de 2013) 2.0.0.481 (9 de maio de 2014) 2.0.0.576 (18 de setembro de 2014) 2.0.0.451 (24 de febreiro de 2014) 2.0.0.352 (22 de novembro de 2013) 2.0.0.353 (22 de novembro de 2013) 2.1.1 (24 de febreiro de 2014) 2.0.0.594 (27 de outubro de 2014) 2.0.0.643 (25 de febreiro de 2015) 2.0.0.648 (16 de decembro de 2015) 2.0.0.598 (13 de novembro de 2014) 2.0.0.647 (18 de agosto de 2015) 2.0.0.645 (13 de abril de 2015) 2.1.6 (13 de abril de 2015) | |||||||||||
|
Licenza
| |||||||||||
| Caracteristicas | |||||||||||
|
Sistema operativo
| |||||||||||
|
Linguaxe de programacion
| |||||||||||
|
Paradigma de programacion
| |||||||||||
|
Extension de ficheiro
| |||||||||||
|
Sistema de tipos
| |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
| Wikidata C:Commons | |||||||||||
Ruby e unha linguaxe de programacion reflexiva e orientada a obxectos (linguaxe interpretada), creada polo programador xapones Yukihiro "Matz" Matsumoto en 1993. Combina unha sintaxe inspirada en Python, Perl con caracteristicas de programacion orientada a obxectos similares a Smalltalk. Comparte tamen funcionalidade con outras linguaxes de programacion como Lisp, Lua, Dylan e CLU. Ruby e unha linguaxe de programacion interpretada nunha soa pasada e a sua posta en funcionamento oficial e distribuida baixo unha licenza de software libre.
Historia
[editar | editar a fonte]A linguaxe foi creado por Yukihiro "Matz" Matsumoto, quen comezou a traballar o Ruby en 24 de febreiro de 1993, e lanzouno o publico no ano 1995. O nome "Ruby" foi ideado en base a pedra correspondente o mes de nacemento dun colega. En decembro de 2007,a ultima version estable era a 1.8.6; o 26 de decembro de 2007 foi publicado Ruby 1.9.0: unha version de desenvolvemento que incorpora melloras substanciais no rendemento da linguaxe, que se espera queden reflectidas na proxima version estable de producion da linguaxe, Ruby 2.0. Diferenzas en rendemento entre a actual posta en funcionamento de Ruby (1.8.6) e outras linguaxes de programacion mas arraigados levaron o desenvolvemento de varias maquinas virtuais para Ruby. Entre esas atopanse JRuby, un intento de levar Ruby a plataforma Java, e Rubinius, un interprete modelado en base as maquinas virtuais de Smalltalk. .
Filosofia
[editar | editar a fonte]O creador da linguaxe, Yukihiro "Matz" Matsumoto, dixo que Ruby foi desenado para a produtividade e divertimento do desenvolvedor, seguindo os principios dun bo deseno de interface de usuario.[1] El afirma que os desenos de sistemas precisan ser desenados para os humanos, fronte as computadoras:[2]:
A maioria da xente, especialmente os enxeneiros informaticos, centranse nas maquinas. Pensan, "Facendo isto, a maquina correra mais rapido. Facendo isto, a maquina sera mais eficiente. Facendo isto, a maquina ..." Centranse nas maquinas. Pero de feito precisamos centrarnos nos humanos, en como os humanos levan a cabo a programacion ou traballan cos ordenadores. Nos somos os mestres. Eles os escravos.
Ruby segue o principio da menor sorpresa (POLS), que significa que a linguaxe deberia comportarse da forma que leve a minima confusion a experiencia do usuario. Matz ten dito que a sua primeira finalidade do deseno e facer unha linguaxe que el mesmo se divirte pregando, minimizando o traballo do programador e a posible confusion. El non empregou o principio da menor sorpresa o deseno de Ruby pero de todos os xeitos a frase xa esta ben ligada a linguaxe de programacion Ruby.
En maio de 2005 nunha discusion na grupo de novas comp.lang.ruby, Matz tentaba distanciar Ruby de POLS, explicando que dende calquera eleccion de deseno que sexa sorprendente para alguen, el emprega un estandar persoal na avaliacion da sorpresa. Se o estandar persoal segue sendo consistente tera poucas sorpresas para aqueles que estean acostumados os estandares.[1]
Matz definiuno desta forma nunha entrevista [2]: Todos tenen un transfundo individual. Alguns poden vir dende Python, outros dende Perl, e poden estar sorprendidos por diferentes aspectos da linguaxe. Eles poden vir e dicirme, 'Estou sorprendido por esta caracteristica da linguaxe, porque Ruby viola o principio da menor sorpresa.' Espera. Espera. O principio da menor sorpresa non e so para ti. O principio da menor sorpresa significa principio da mina menor sorpresa. E isto significa a menor sorpresa despois de que aprendas Ruby bastante ben. Por exemplo, Eu fun un programador de C++ antes de comezar a desenar Ruby. Programei en C++ exclusivamente durante dous ou tres anos. E despois de dous anos de programacion con C++, incluso me sorprendeu.
Semantica
[editar | editar a fonte]Ruby e orientado a obxectos: todolos tipos de datos son un obxecto, incluidas as clases e tipos que outras linguaxes definen como primitivas, (como enteiros, booleanos, e "nil"). Toda funcion e un metodo. As variables sempre son referencias a obxectos, non os obxectos mesmos. Ruby soporta herdanza con enlace dinamico, mixins e padrons singleton (pertencentes e definidos por unha soa instancia mais que definidos pola clase). A pesar de que Ruby non soporta herdanza multiple, as clases poden importar modulos como mixins. A sintaxe procedural esta soportada, pero todolos metodos definidos fora do ambito dun obxecto son realmente metodos da clase Object. Como esta clase e pai de todas as demais, os cambios son visibles para todalas clases e obxectos.
Ruby describiuse coma unha linguaxe de programacion multiparadigma: permite programacion procedural (definindo funcions e variables fora das clases facendoas parte do obxecto raiz Object), con orientacion a obxectos, (todo e un obxecto) ou funcionalmente (ten funcions anonimas, clausuras ou closures, e continuations; todalas sentenzas tenen valores, e as funcions devolven a ultima avaliacion). Soporta introspeccion, reflexion e metaprogramacion, ademais de soporte para fios de execucion xestionados polo interprete. Ruby ten tipado dinamico, e soporta polimorfismo.
De acordo coas preguntas frecuentes de Ruby[3], "Se che gusta Perl, gustarache Ruby e a sua sintaxe. Se che Smalltalk, gustarache Ruby e a sua semantica. Se che gusta Python, a enorme diferenza de deseno entre Python y Ruby/Perl pode que che convenza ou pode que non."
Caracteristicas
[editar | editar a fonte]- orientado a obxectos.
- catro niveis de ambito de variable: global, clase, instancia e local.
- manexo de excepcions.
- iteradores e clausuras ou closures (pasando bloques de codigo).
- expresions regulares nativas similares as de Perl a nivel de linguaxe.
- posibilidade de redefinir os operadores (sobrecarga de operadores).
- recoleccion de lixo automatica.
- altamente portable.
- Fios de execucion simultaneos en todalas plataformas empregando green threads.
- Carga dinamica de DLL/librerias compartidas na maioria das plataformas
- introspeccion, reflexion e metaprogramacion.
- ampla libreria estandar.
- soporta inxeccion de dependencias.
- soporta alteracion de obxectos en tempo de execucion.
- continuacions e xeradores.
Ruby actualmente non ten soporte completo de Unicode, a pesar de ter soporte parcial para UTF-8.
Sintaxe
[editar | editar a fonte]A sintaxe de Ruby e moi similar a de Perl e Python. As definicions de clases e metodos son sinaladas por palabras chave. En contraste con Perl, as variables non son prefixadas obrigatoriamente cun simbolo simbolo. Cando son empregados, os simbolos cambian a semantica do ambito da variable. A diferenza mais grande dende C e Perl son que as palabras chave son normalmente empregadas para definir bloques de codigo loxico, sen corchetes (p.e. pares de { e }). Os finais de lina son significativos e recollen o final da declaracion ; un punto e coma pode ser equivalentemente empregado. Fronte a Python, a indentacion non e significativa.
Unha das diferenzas de Ruby comparado con Python e Perl e que Ruby fai as variables de instancia totalmente privadas a clase e so as mostra a traves de metodos accesores (attr_writer, attr_reader etc).
Fronte os metodos "getter" e "setter" doutras linguaxes como C++ ou Java, os metodos de acceso en Ruby poden ser escritos nunha soa lina de codigo. Como a invocacion destes metodos non require o emprego de parenteses isto fai trivial os cambios nas variables de instancia nunha clase completa, modificando unha unica lina de codigo e sen ter que facer unha refactorizacion para ter outra funcionalidade, isto e similar as propiedades dos membros en C# e VB.NET. Os descritores de propiedades en Python son similares, pero traen un proceso de desenvolvemento. Se un comeza en Python a empregar variables de instancia expostas publicamente, o codigo interno da clase pode precisar o axuste para empregar unha variable de privada fronte a unha propiedade publica, Ruby elimina esta decision de deseno forzando a todalas variables de instancia a ser privadas, pero tamen proporciona unha forma simple de declarar metodos de set e get. Isto manten nunha idea de que en Ruby, un nunca accedera directamente os valores internos dos membros da clase dende fora dela. Polo tanto tera que a pasar unha mensaxe a clase e recibir unha resposta.
A distribucion oficial de Ruby inclue "irb"(Interactive Ruby Shell), un interprete interactivo de lina de comandos que pode ser empregado para probar codigo de maneira rapida. O seguinte fragmento de codigo representa unha mostra dunha sesion empregando irb:
irb(main):001:0> puts "Ola Galiza"
Ola Galiza
=> nil
irb(main):002:0> 1+2
=> 3
Falla
[editar | editar a fonte]Caracteristicas da linguaxe
[editar | editar a fonte]En termos de velocidade, Ruby ten un rendemento inferior a algunhas linguaxes compiladas (xa que e unha linguaxe interpretada) e outras linguaxes maioritarias de script como Python e Perl[4]. Poren, en futuras versions (revision actual: 1.9), Ruby sera compilado bytecode para ser executado en YARV (Yet Another Ruby VM). Actualmente, o memory footprint(emprego de memoria) de Ruby e superior para as mesmas operacions que as de Perl e Python.[4]
A omision dos parenteses nos argumentos dos metodos poden levar a resultados inesperados se os metodos recollen parametros multiples. Notese que os desenvolvedores de Ruby advertiron que a omision de parenteses en metodos multi-parametrais sera eliminado en futuras versions de Ruby, o interprete de Ruby actualmente (Feb 2007) volta unha advertencia que advirte o escritor de non omitir os (), para evitar significados ambiguos no codigo. O non emprego dos () asi e todo e tamen unha practica moi comun, e pode ser especialmente boa para empregar Ruby coma unha linguaxe de mais lexible polas persoas, ademais do metodo chamado method_missing().
A lista de "falla" pode ser atopado no libro de Hal Fulton The Ruby Way, 2nd ed (ISBN 0-672-32884-4), Section 1.5. Unha lista similar a da 1a edicion escrita para a anterior version da linguaxe (version 1.6), alguns problemas solucionaronse co tempo. retry, por exemplo, agora funciona con while, until, e for, asi coma cos iteradores.
Repositorios e librarias
[editar | editar a fonte]O Ruby Application Archive (RAA), tamen conecido coma RubyForge, serve como repositorio para un amplo rango de aplicacions Ruby e librarias, contendo mais de dous centos de elementos. Ainda que o numero de aplicacions non coincide moito co volume de material disponibel na comunidade Perl ou Python, hai un amplo rango de ferramentas e utilidades as cales serven para impulsar o desenvolvemento da linguaxe.
RubyGems chegou a ser o mantedor de paquetes estandar para as librarias Ruby. E moi similar en propositos o de Perl CPAN, ainda que o seu uso e moi parecido a apt-get.
Implementacions
[editar | editar a fonte]Ruby ten duas grandes postas en funcionamento: O Ruby oficial interprete tamen chamando como o Matz's Ruby Interpreter(Interprete de Ruby de Matz) (MRI), o mais estendido, e JRuby, a posta en funcionamento baseada en Java.
Hai outras postas en funcionamento como son IronRuby (pre-alpha fontes disponibles dende o 31 de agosto de 2007[5]), Rubinius, Ruby.NET, XRuby e YARV. YARV e a nova maquina virtual oficial de Ruby 1.9 non estara disponible como un proxecto separado dende a devandita version.
Sistemas operativos
[editar | editar a fonte]Estan disponibles versions do interprete de Ruby para os seguintes sistemas operativos:
- Acorn RISC OS.
- Amiga.
- BeOS.
- DOS.
- Linux.
- Mac OS X.
- Maemo.
- Microsoft Windows 95/98/2000/2003/NT/XP/Vista.
- Microsoft Windows CE.
- MorphOS.
- OS/2.
- OpenVMS.
- Syllable.
- Symbian OS.
- Blue Gene/L nodo de computo do kernel.
- A maioria dos sabores de Unix.
Existen outros portes que non se listaron aqui.
Criticas
[editar | editar a fonte]A version 1.8, a actual version estable do interprete, ten algunhas limitacions, que incluen:
- Rendemento -- o rendemento do interprete de Ruby esta por detras das linguaxes comparables coma Perl, PHP, and Python [http://www.joelonsoftware.com/items/2006/09/12.html, principalmente debido o deseno do interprete: para executar codigo Ruby, o interprete construe unha arbore de sintaxe do codigo fonte e logo avalia a arbore de sintaxe directamente, no canto de compilala directamente nunha forma executable mais eficiente.
- Threading -- o modelo de fios de ruby emprega fios verdes [3], e este modelo ten algunhas limitacions inherentes que carrexan a dificultade de empregalo ou de non ter seguranza en escenarios especificos.[4].
- Unicode -- Ruby non ten ainda soporte nativo para Unicode ou cadeas multibyte [5].
- Compatibilidade cara atras -- Ruby sofre de problemas de compatibilidade cara atras con versions novas e vellas [6].
Ruby 2.0 e o obxectivo para eliminar estes problemas mencionados:
- Rendemento -- un novo e mais rapido interprete, YARV, unha maquina virtual que executa instrucions, que son compiladas en instrucion nativas do procesador empregando o compilador JIT.
- Threading -- os fios nativos empregaranse no canto de fios verdes.[7]
- Unicode -- soporte completo para cadeas Unicode.
A version 1.9, o codigo base que e considerado a version de desenvolvemento de 2.0 2.0, foi liberada [8] Arquivado 04 de setembro de 2012 en Wayback Machine. o 26 de decembro de 2007.
Alguns problemas ainda non foron resoltos, polo que na version 2.0 seran incluidos:
- Ruby ainda falla na especificacion, a actual implementacion C e a especificacion referencia de facto [9] [10] Arquivado 28 de marzo de 2008 en Wayback Machine. .
Licenza
[editar | editar a fonte]O interprete e as bibliotecas estan licenciadas de forma dual (inseparable) baixo as licenzas libres e de codigo aberto GPL e Licenza Ruby Arquivado 26 de agosto de 2011 en Wayback Machine..
Notas
[editar | editar a fonte]- | A linguaxe de programacion Ruby foi liberada por Yukihiro Matsumoto o dia 06-12-2000 (informit.com)
- | A filosofia de Ruby, unha conversa con Yukihiro Matsumoto, Parte I por Bill Venners en 29-9-2003 (Desenvolvedor de Artima)
- | "Ruby FAQ". Arquivado dende o orixinal o 09 de decembro de 2007. Consultado o 07 de xaneiro de 2008.
- | 4,0 4,1 "The Computer Language Benchmarks Game". Arquivado dende o orixinal o 29 de maio de 2018. Consultado o 19 de xaneiro de 2008.
- | John Lam (2007-08-31). "IronRuby on Rubyforge!". Arquivado dende o orixinal o 03 de setembro de 2007. Consultado o 19 de xaneiro de 2008.
Vexase tamen
[editar | editar a fonte]Outros artigos
[editar | editar a fonte]- RubyGems (xestor de paquetes para Ruby)
- Ruby on Rails (framework orientado a aplicacions web en Ruby)
Ligazons externas
[editar | editar a fonte]- Ruby Sitio principal de Ruby en Internet.
- Inline::Ruby modulo Perl en CPAN para programar Ruby dentro de Perl (en ingles)
- rubyisms modulo Perl en CPAN que incorpora algunhas ideas de Ruby para Perl (en ingles)
- HTML::ERuby modulo Perl en CPAN que procesa linguaxe ERuby (en ingles)
- Syntax::Highlight::Engine::Kate::Ruby modulo Perl en CPAN para o coloreado sintactico de Ruby dentro de Kate (en ingles)
- Inline::Ruby::dRuby::Client modulo Perl en CPAN, delegador de obxectos dRuby (en ingles)