Live data from Hacker News

Ruby 3.0 Preview 1

ruby-lang.org

21–30 of 207 posts

Re: Ruby 3.0 Preview 1

#21
My thoughts:

- RBS: meh... might get more useful in the future (in 2-5 years maybe).

- Ractor: Wohooo! I'm writing a DAG library where I was thinking of implementing something like this, good to know I can use it and get real parallelism on top.

- Scheduler: :shrug: don't know about this one, might be relevant with future concurrent ruby code, any ideas?

- Rightward assignment: it's a bit awkward but I see the use case, just wish we had the pipe operator too like in Elixir.

- Endless method: this one is cute, I love it!

- Find pattern: oh boy, code reviews are going to be interesting now!

- Hash#except: yes, definitely a welcome one.

- Memory view: if this helps with numpy style gems it will be great!

- `send(:"do_#{ meth }", ...)`: don't do meth kids! (it's a joke!)... seems like a reasonable feature.

- `order of backtrace had been reversed`: good! it was confusing...

- Promote default gems to bundled gems (rexml): I like this one, if only nokogiri was a stdlib gem or part of core, imagine how much time would be saved instead of having to compile it every time in a `bundle install`.

- `Promote stdlib to default gems`: what does this mean? Do I now have to add `gem "securerandom"` to Gemfiles instead of having it by default and just needing to require it?

- Mjit improvements: can't wait to try it!

Overall, I'm delighted!

Re: Ruby 3.0 Preview 1

#23
post #20

So now there are basically no dynamically typed languages left. There's Scheme, JavaScript, what else? All languages nowadays are converging to TypeScript/Rust. It's kind of sad.

what do you mean? you can certainly use vanilla javascript if you really want, same with ruby. its not like types are forced down your throat

Re: Ruby 3.0 Preview 1

#25
post #20

So now there are basically no dynamically typed languages left. There's Scheme, JavaScript, what else? All languages nowadays are converging to TypeScript/Rust. It's kind of sad.

RBS is optional.

It won't be optional in Ruby 4, most likely.

Re: Ruby 3.0 Preview 1

#26

If you interested in seeing how the 3x3 initiative* has come along, here are the benchmarks so far: https://github.com/mame/optcarrot#readme Personally, I am very excited for this release. * Matz's goal to get Ruby 3 to be 3x faster than Ruby 2. -- @sosodev Thanks for the updated info!

That README isn’t up to date. The benchmark has seen significant performance improvements since then.

https://benchmark-driver.github.io/benchmarks/optcarrot/comm...

Re: Ruby 3.0 Preview 1

#27
post #21

My thoughts: - RBS: meh... might get more useful in the future (in 2-5 years maybe). - Ractor: Wohooo! I'm writing a DAG library where I was thinking of implementing something like this, good to know I can use it and get real parallelism on top. - Scheduler: :shrug: don't know about this one, might be relevant with future concurrent ruby code, any ideas? - Rightward assignment: it's a bit awkward but I see the use ca…

"Default gems" means that they're packaged as a gem but always implicitly available, as if you had included them in your Gemfile.

"Bundled gems" means the same thing, but you do have to include them in your Gemfile.

https://github.com/janlelis/stdgems#about-the-gemified-stand...

Re: Ruby 3.0 Preview 1

#28
post #25

Earlier quoted context omitted.

RBS is optional.

It won't be optional in Ruby 4, most likely.

Why would you think that? There's no evidence that dynamic typing is going away Type hints are optional precisely because they're not convenient for many cases, and the add-on type systems cannot fully express the capabilities of the language.

Re: Ruby 3.0 Preview 1

#29
Question: will the nonblocking scheduler start to make Ruby concurrency competitive with e.g. Node.js and Go? Currently Ruby mostly uses heavyweight threading mechanisms that cause trouble for I/O-bound microservices.

Re: Ruby 3.0 Preview 1

#30
post #27
post #21

My thoughts: - RBS: meh... might get more useful in the future (in 2-5 years maybe). - Ractor: Wohooo! I'm writing a DAG library where I was thinking of implementing something like this, good to know I can use it and get real parallelism on top. - Scheduler: :shrug: don't know about this one, might be relevant with future concurrent ruby code, any ideas? - Rightward assignment: it's a bit awkward but I see the use ca…

"Default gems" means that they're packaged as a gem but always implicitly available, as if you had included them in your Gemfile. "Bundled gems" means the same thing, but you do have to include them in your Gemfile. https://github.com/janlelis/stdgems#about-the-gemified-stand...

Thank you for clarifying this for me. In that case, the rexml gem situation sounds like a demotion...
Post reply on HN