Ruby: Diferenzas entre revisións

Contido eliminado Contido engadido
Moedagalega (conversa | contribucións)
*desenrolo > desenvolvemento.
Recuperando 3 fontes e etiquetando 0 como mortas. #IABot (v2.0beta8)
Liña 84:
== Falla ==
=== Características da linguaxe ===
En termos de velocidade, Ruby ten un rendemento inferior a algunhas linguaxes compiladas (xa que é unha linguaxe interpretada) e outras linguaxes maioritarias de script como [[Python]] e [[Perl]]<ref name="alioth">[{{Cita web |url=http://shootout.alioth.debian.org/ |título=The Computer Language Benchmarks Game] |data-acceso=19 de xaneiro de 2008 |urlarquivo=https://web.archive.org/web/20120831065317/http://shootout.alioth.debian.org/ |dataarquivo=31 de agosto de 2012 |urlmorta=si }}</ref>. Porén, en futuras versións (revisión actual: 1.9), Ruby será [[bytecode|compilado bytecode]] para ser executado en [[YARV]] (''Yet Another Ruby VM''). Actualmente, o [[memory footprint]](emprego de memoria) de Ruby é superior para as mesmas operacións que as de Perl e Python.<ref name="alioth" />
 
A omisión dos parénteses nos argumentos dos métodos poden levar a resultados inesperados se os métodos recollen parámetros múltiples. Nótese que os desenvolvedores de Ruby advertiron que a omisión de parénteses en métodos multi-parametrais será eliminado en futuras versións de Ruby, o intérprete de Ruby actualmente (Feb 2007) volta unha advertencia que advirte ó escritor de ''non'' omitir os <code>()</code>, para evitar significados ambiguos no código. O non emprego dos <code>()</code> así e todo é tamén unha práctica moi común, e pode ser especialmente boa para empregar Ruby coma unha linguaxe de máis lexible polas persoas, ademais do método chamado <code>method_missing()</code>.
Liña 98:
Ruby ten dúas grandes postas en funcionamento: O Ruby oficial [[interprete (informática)|intérprete]] tamén chamando como o [[Matz's Ruby Interpreter]](Intérprete de Ruby de Matz) (MRI), o máis estendido, e [[JRuby]], a posta en funcionamento baseada en [[Linguaxe de programación Java|Java]].
 
Hai outras postas en funcionamento como son [[IronRuby]] ([[pre-alpha]] fontes dispoñibles dende o 31 de agosto de 2007<ref>{{Cita web | url = http://www.iunknown.com/2007/08/ironruby-on-rub.html | title = IronRuby on Rubyforge! | autor = John Lam | data = 2007-08-31 | data-acceso = 19 de xaneiro de 2008 | urlarquivo = https://web.archive.org/web/20070903213020/http://www.iunknown.com/2007/08/ironruby-on-rub.html | dataarquivo = 03 de setembro de 2007 | urlmorta = si }}</ref>), [[Rubinius]], [http://rubydotnetcompiler.googlecode.com/ Ruby.NET], [http://xruby.com/ XRuby] e [[YARV]]. YARV é a nova máquina virtual oficial de Ruby 1.9 non estará dispoñible como un proxecto separado dende a devandita versión.
 
=== Sistemas operativos ===
Liña 125:
A versión 1.8, a actual versión estable do interprete, ten algunhas limitacións, que inclúen:
 
* '''Rendemento''' -- o rendemento do intérprete de Ruby está por detrás das linguaxes comparables coma [[Perl]], [[PHP]], and [[Python]] [https://www.webcitation.org/66HiKm4eZ?url=http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all] [http://www.joelonsoftware.com/items/2006/09/12.html], principalmente debido ó deseño do interprete: para executar código Ruby, o interprete constrúe unha árbore de sintaxe do código fonte e logo avalía a árbore de sintaxe directamente, no canto de compilala directamente nunha forma executable máis eficiente.
* '''Threading''' -- o modelo de fíos de ruby emprega [[fíos verdes]] [http://www.headius.com/rubyspec/index.php/Ruby_Threading], e este modelo ten algunhas limitacións inherentes que carrexan a dificultade de empregalo ou de non ter seguranza en escenarios específicos.[http://www.killersites.com/blog/2007/standalone-ruby-on-rails/].
* '''Unicode''' -- Ruby non ten aínda soporte nativo para [[Unicode]] ou cadeas multibyte [http://headius.blogspot.com/2006/06/unicode-in-ruby-unicode-in-jruby.html].