Skip to content

Commit 52da250

Browse files
vtamaraNombre Usuario
andauthored
Translate Ruby 3.3.0 preview2 released news post (es) (#3131)
Co-authored-by: Nombre Usuario <[email protected]>
1 parent e1feee2 commit 52da250

File tree

1 file changed

+203
-0
lines changed

1 file changed

+203
-0
lines changed
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
---
2+
layout: news_post
3+
title: "Publicado Ruby 3.3.0-preview2"
4+
author: "naruse"
5+
translator: vtamara
6+
date: 2023-09-14 00:00:00 +0000
7+
lang: es
8+
---
9+
10+
{% assign release = site.data.releases | where: "version", "3.3.0-preview2" | first %}
11+
12+
Nos complace anunciar la publicación de Ruby {{ release.version }}. Ruby 3.3
13+
añade un nuevo compilador JIT en puro Ruby llamado RJIT, usa Lrama
14+
como generador del analizador sintáctico así como muchas mejoras
15+
de desempeño especialmente de YJIT.
16+
17+
## RJIT
18+
19+
* Se introdujo RJIT un compilador JIT en puro Ruby que remplaza a MJIT.
20+
* RJIT soporta sólo la arquitectura x86\_64 en plataformas Unix.
21+
* A diferencia de MJIT, no require de un compilador C en tiempo de ejecución.
22+
* RJIT existe sólo con propósitos experimentales.
23+
* Debería seguir usando YJIT en producción.
24+
* Si le interesa desarrollar un compilador JIT para Ruby, por favor
25+
revise la [presentación de k0kubun en el día 3 de RubyKaigi](https://rubykaigi.org/2023/presentations/k0kubun.html#day3).
26+
27+
## Usa Lrama en lugar de Bison
28+
29+
* Remplaza Bison con [el generador de analizadores sintácticos LALR Lrama](https://github.com/yui-knk/lrama) [Característica #19637](https://bugs.ruby-lang.org/issues/19637)
30+
* Si tiene interés por favor vea [la visión futura de los analizadores sintácticos de Ruby](https://rubykaigi.org/2023/presentations/spikeolaf.html)
31+
32+
## YJIT
33+
34+
* Mejoras mayores en desempeño respecto a 3.2
35+
* Mejorado el soporte para argumentos splat y para el resto de argumentos.
36+
* Los registros se localizan para operaciones en pila de la máquina virtual.
37+
* Se compilan más llamados con argumentos opcionales.
38+
* Los manejadores de excepciones también se compilan.
39+
* Las variables de instancia ya no salen al interprete con Formas de Objetos
40+
mega-mórficas.
41+
* Se optimizaron de manera especial `Integer#!=`, `String#!=`,
42+
`Kernel#block_given?`, `Kernel#is_a?`, `Kernel#instance_of?` y
43+
`Module#===`.
44+
* Ahora es 3 veces más rápido que el interprete normal con optcarrot!
45+
* Los metadatos para el código compilado usan mucha menos memoria.
46+
* Generación de código más compacto en ARM64
47+
* Opción para iniciar YJIT en modo pausado para después habilitarlo
48+
manualmente
49+
* `--yjit-pause` y `RubyVM::YJIT.resume`
50+
* Esto puede usarse para habilitar YJIT sólo después de que su aplicación
51+
haya completado el arranque.
52+
* La estadística `ratio_in_yjit` producida por `--yjit-stats` ahora está
53+
disponible en compilaciones publicadas, ya no se requiere una
54+
estadística especial o una compilación de desarrollo.
55+
* La opción para salir del modo con trazas ahora soporta muestreo
56+
* `--trace-exits-sample-rate=N`
57+
* Pruebas más extensas y correcciones a múltiples fallas
58+
59+
60+
61+
## Otros Características Nuevas Notables
62+
63+
### Lenguaje
64+
65+
## Mejoras en desempeño
66+
67+
* `defined?(@ivar)` se optimiza con Formas de Objetos.
68+
69+
## Otros cambios notables desde 3.2
70+
71+
### IRB
72+
73+
IRB ha recibido diversas mejoras, incluyendo --no limitadas a estas:
74+
75+
- Integración avanzada `irb:rdbg` que provee una experiencia
76+
de depuración equivalente a la de `pry-byebug`
77+
([doc](https://github.com/ruby/irb#debugging-with-irb)).
78+
- Soporte de paginador en ordenes como `ls` y `show_cmds`.
79+
- Las ordenes `ls` y `show_cmds` dan información más precisa y útil.
80+
81+
Además, IRB ha experimentado una re-factorización extensa y ha recibido
82+
docenas de correcciones a fallas que facilitan ampliaciones futuras.
83+
84+
85+
## Incidentes de compatibilidad
86+
87+
Nota: Correciones a falla que excluía características.
88+
89+
### Constantes elminadas
90+
91+
Las siguientes constantes que eran despreciadas han sido eliminadas.
92+
93+
94+
### Métodos eliminados
95+
96+
Los siguientes métodos que eran despreciados han sido eliminados.
97+
98+
99+
## Problemas de compatibilidad con Stdlib
100+
101+
### Eliminación de `ext/readline`
102+
103+
* Tenemos `reline` que es una implementación en Ruby puro compatible con
104+
el API de `ext/readline`. Dependeremos de `reline` a futuro. Si
105+
necesita usar `ext/readline`, puede instalar `ext/readline` vía rubygems.org
106+
con `gem install readline-ext`.
107+
* Ya no necesitamos instalar librerías como `libreadline` o `libedit`.
108+
109+
## Actualizaciones al API en C
110+
111+
### APIs en C actualizados
112+
113+
Los siguientes APIs han sido actualizados.
114+
115+
116+
117+
### APIs en C eliminados
118+
119+
Los siguientes APIs despreciados han sido eliminados.
120+
121+
## Actualizaciones a la librería estándar
122+
123+
RubyGems y Bundler avisan cuando el usuario requiere gemas que están
124+
programadas para convertirse en gemas incluidas en versiones futuras
125+
de Ruby.
126+
127+
Las siguientes gemas predeterminadas se han actualizado.
128+
129+
* RubyGems 3.5.0.dev
130+
* bigdecimal 3.1.4
131+
* bundler 2.5.0.dev
132+
* csv 3.2.8
133+
* erb 4.0.3
134+
* fiddle 1.1.2
135+
* fileutils 1.7.1
136+
* irb 1.7.4
137+
* nkf 0.1.3
138+
* optparse 0.4.0.pre.1
139+
* psych 5.1.0
140+
* reline 0.3.8
141+
* stringio 3.0.9
142+
* strscan 3.0.7
143+
* syntax_suggest 1.1.0
144+
* time 0.2.2
145+
* timeout 0.4.0
146+
* uri 0.12.2
147+
* yarp 0.9.0
148+
149+
Las siguientes gemas incluidas han sido actualizadas.
150+
151+
* minitest 5.19.0
152+
* test-unit 3.6.1
153+
* rexml 3.2.6
154+
* rss 0.3.0
155+
* net-imap 0.3.7
156+
* rbs 3.2.1
157+
* typeprof 0.21.8
158+
* debug 1.8.0
159+
160+
La siguiente gema predeterminada pasa a ser gema incluida.
161+
162+
* racc 1.7.1
163+
164+
Ver la publicación en GitHub como
165+
[Logger](https://github.com/ruby/logger/releases) o
166+
bien la bitácora de cambios con detalles de las gemas predeterminadas
167+
y las gemas incluidas.
168+
169+
Ver más detalles en el archivo
170+
[NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
171+
o en [la bitácora de cambios](https://github.com/ruby/ruby/compare/v3_2_0...{{ release.tag }}).
172+
173+
¡Con estos cambios, [{{ release.stats.files_changed }} archivos cambiados, {{ release.stats.insertions }} inserciones(+), {{ release.stats.deletions }} eliminaciones(-)](https://github.com/ruby/ruby/compare/v3_2_0...{{ release.tag }}#file_bucket)
174+
desde Ruby 3.2.0!
175+
176+
## Descargas
177+
178+
* <{{ release.url.gz }}>
179+
180+
SIZE: {{ release.size.gz }}
181+
SHA1: {{ release.sha1.gz }}
182+
SHA256: {{ release.sha256.gz }}
183+
SHA512: {{ release.sha512.gz }}
184+
185+
* <{{ release.url.xz }}>
186+
187+
SIZE: {{ release.size.xz }}
188+
SHA1: {{ release.sha1.xz }}
189+
SHA256: {{ release.sha256.xz }}
190+
SHA512: {{ release.sha512.xz }}
191+
192+
* <{{ release.url.zip }}>
193+
194+
SIZE: {{ release.size.zip }}
195+
SHA1: {{ release.sha1.zip }}
196+
SHA256: {{ release.sha256.zip }}
197+
SHA512: {{ release.sha512.zip }}
198+
199+
## Qué es Ruby
200+
201+
Ruby primero fue desarrollado por Matz (Yukihiro Matsumoto) en 1993,
202+
y ahora es desarrollado como Código Abieto. Corre en múltiples
203+
plataformas y es usado en todo el mundo especialmente para desarrollo web.

0 commit comments

Comments
 (0)