Skip to content

Commit c53fca5

Browse files
meisyalhsbt
authored andcommitted
Translate Ruby 3.3.0-preview1 released news post (id)
1 parent be2d7ab commit c53fca5

File tree

1 file changed

+174
-0
lines changed

1 file changed

+174
-0
lines changed
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 3.3.0-preview1 Dirilis"
4+
author: "naruse"
5+
translator: "meisyal"
6+
date: 2023-05-12 00:00:00 +0000
7+
lang: id
8+
---
9+
10+
{% assign release = site.data.releases | where: "version", "3.3.0-preview1" | first %}
11+
12+
Kami dengan senang hati mengumumkan rilis dari Ruby {{ release.version }}.
13+
Ruby 3.3. menambahkan sebuah *pure-Ruby* JIT *compiler* baru yang bernama RJIT,
14+
menggunakan Lrama sebagai *parser generator*, dan memperbaiki performa khususnya
15+
YJIT.
16+
17+
## RJIT
18+
19+
* Memperkenalkan sebuah *pure-Ruby* JIT *compiler* dan menggantikan MJIT.
20+
* RJIT hanya mendukung arsitektur x86\_64 pada *platform Unix*.
21+
* Berbeda dengan MJIT, RJIT tidak membutuhkan sebuah C *compiler* saat *runtime*.
22+
* RJIT ada untuk tujuan eksperimen.
23+
* Anda harus tetap menggunakan YJIT pada *production*.
24+
* Jika Anda tertarik untuk mengembangkan JIT pada Ruby, mohon cek
25+
[k0kubun's presentation on Day 3 of RubyKaigi](https://rubykaigi.org/2023/presentations/k0kubun.html#day3).
26+
27+
## Menggunakan Lrama ketimbang Bison
28+
29+
* Mengganti Bison dengan [Lrama LALR parser generator](https://github.com/yui-knk/lrama) [Feature #19637](https://bugs.ruby-lang.org/issues/19637)
30+
* Jika Anda tertarik, silakan lihat [The future vision of Ruby Parser](https://rubykaigi.org/2023/presentations/spikeolaf.html)
31+
32+
## YJIT
33+
34+
* Peningkatan performa yang signifikan dibanding Ruby 3.2
35+
* Dukungan *splat* dan *rest argument* telah ditingkatkan.
36+
* *Register* dialokasikan untuk operasi *stack* dari *virtual machine*.
37+
* Pemanggilan dengan *optional argument* dikompilasi.
38+
* `Integer#!=`, `String#!=`, `Kernel#block_given?`, `Kernel#is_a?`,
39+
`Kernel#instance_of?`, `Module#===` dioptimisasi.
40+
* *Instant variable* tidak lagi keluar ke *intepreter* dengan *Object Shapes*
41+
yang sangat besar.
42+
* *Metadata* dari kode yang dikompilasi menggunakan *memory* lebih sedikit.
43+
* Peningkatan *code generation* pada ARM64
44+
* Opsi untuk menjalankan YJIT pada *paused mode* dan mengaktifkan kembali secara manual
45+
* `--yjit-pause` dan `RubyVM::YJIT.resume`
46+
* Ini dapat digunakan untuk mengaktifkan YJIT ketika aplikasi Anda selesai *booting*
47+
* Opsi *exit tracing* sekarang mendukung *sampling*
48+
* `--trace-exits-sample-rate=N`
49+
* Perbaikan beberapa *bug*
50+
51+
52+
53+
## Fitur Penting Lainnya
54+
55+
### Bahasa
56+
57+
58+
59+
## Perbaikan performa
60+
61+
* `defined?(@ivar)` dioptimisasi dengan *Object Shapes*.
62+
63+
## Perubahan penting lainnya sejak 3.2
64+
65+
66+
67+
## Isu kompatibilitas
68+
69+
Catatan: Tidak termasuk perbaikan *bug* dari fitur.
70+
71+
### Constant terhapus
72+
73+
Berikut ini adalah *constant* yang telah dihapus.
74+
75+
76+
77+
### Method terhapus
78+
79+
Berikut ini adalah *method* yang telah dihapus.
80+
81+
82+
83+
## Isu kompatibilitas Stdlib
84+
85+
### `ext/readline` dipensiunkan
86+
87+
* Kami memiliki `reline` yang merupakan implementasi Ruby murni dan kompatibel
88+
dengan `ext/readline` API. Kami bergantung pada `reline` di masa depan. Jika
89+
Anda perlu untuk menggunakan `ext/readline`, Anda dapat memasang `ext/readline`
90+
melalui rubygems.org dengan `gem install readline-ext`.
91+
* Kami tidak lagi memasang pustaka, seperti `libreadline` atau `libedit`.
92+
93+
## Pembaruan C API
94+
95+
### C API diperbarui
96+
97+
Berikut adalah API yang telah diperbarui.
98+
99+
100+
101+
### C API terhapus
102+
103+
Berikut adalah API yang telah dihapus.
104+
105+
106+
107+
## Pembaruan pustaka standar
108+
109+
110+
111+
Berikut adalah *default gem* yang telah diperbarui.
112+
113+
* RubyGems 3.5.0.dev
114+
* bigdecimal 3.1.4
115+
* bundler 2.5.0.dev
116+
* csv 3.2.7
117+
* fiddle 1.1.2
118+
* fileutils 1.7.1
119+
* irb 1.6.4
120+
* optparse 0.4.0.pre.1
121+
* psych 5.1.0
122+
* reline 0.3.3
123+
* stringio 3.0.7
124+
* strscan 3.0.7
125+
* syntax_suggest 1.0.4
126+
* time 0.2.2
127+
* timeout 0.3.2
128+
* uri 0.12.1
129+
130+
Berikut adalah *bundled gem* yang telah diperbarui.
131+
132+
* minitest 5.18.0
133+
* rbs 3.1.0
134+
* typeprof 0.21.7
135+
* debug 1.8.0
136+
137+
Lihat rilis GitHub, seperti [Logger](https://github.com/ruby/logger/releases)
138+
atau *changelog* untuk detail dari *default gem* atau *bundled gem*.
139+
140+
Lihat [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
141+
atau [commit logs](https://github.com/ruby/ruby/compare/v3_2_0...{{ release.tag }})
142+
untuk lebih detail.
143+
144+
Dengan perubahan tersebut, [{{ release.stats.files_changed }} berkas berubah, {{ release.stats.insertions }} sisipan(+), {{ release.stats.deletions }} terhapus(-)](https://github.com/ruby/ruby/compare/v3_2_0...{{ release.tag }}#file_bucket)
145+
sejak Ruby 3.2.0!
146+
147+
## Unduh
148+
149+
* <{{ release.url.gz }}>
150+
151+
SIZE: {{ release.size.gz }}
152+
SHA1: {{ release.sha1.gz }}
153+
SHA256: {{ release.sha256.gz }}
154+
SHA512: {{ release.sha512.gz }}
155+
156+
* <{{ release.url.xz }}>
157+
158+
SIZE: {{ release.size.xz }}
159+
SHA1: {{ release.sha1.xz }}
160+
SHA256: {{ release.sha256.xz }}
161+
SHA512: {{ release.sha512.xz }}
162+
163+
* <{{ release.url.zip }}>
164+
165+
SIZE: {{ release.size.zip }}
166+
SHA1: {{ release.sha1.zip }}
167+
SHA256: {{ release.sha256.zip }}
168+
SHA512: {{ release.sha512.zip }}
169+
170+
## Apa itu Ruby
171+
172+
Ruby pertama kali dikembangkan oleh Matz (Yukihiro Matsumoto) pada 1993
173+
dan sekarang dikembangkan sebagai *Open Source*. Ruby berjalan pada berbagai
174+
*platform* dan digunakan di seluruh dunia, khususnya pengembangan *web*.

0 commit comments

Comments
 (0)