Live data from Hacker News

Ruby: We have decided to go forward to 3.0 this year

github.com

11–20 of 134 posts

Re: Ruby: We have decided to go forward to 3.0 this year

#11

Context? What changes are in v3?

The goal of Ruby v3 is to be 3 times faster than v2. https://blog.heroku.com/ruby-3-by-3/ Unclear if that goal has been achieved.

A lot of focus has been on this benchmark https://github.com/mame/optcarrot/ It has seen huge performance improvements thanks to the mjit but not quite 3x yet.

Re: Ruby: We have decided to go forward to 3.0 this year

#12
post #8
post #5

Are they going to make non-backward-compatible changes, or is this just a marketing move?

It might be a little of both. I did come across this change to keyword arguments[1] recently, but I'm not sure how impactful it is since I don't personally leverage keyword arguments right now. [1]: https://www.ruby-lang.org/en/news/2019/12/12/separation-of-p...

It sure does blow up your logs if you're using rails with 2.7.1.

Re: Ruby: We have decided to go forward to 3.0 this year

#13

Context? What changes are in v3?

The goal of Ruby v3 is to be 3 times faster than v2. https://blog.heroku.com/ruby-3-by-3/ Unclear if that goal has been achieved.

Not up-to-date but many more ruby 3x3 articles, see https://planetruby.github.io/calendar/ruby3x3

Re: Ruby: We have decided to go forward to 3.0 this year

#14
post #12
post #8

Earlier quoted context omitted.

It might be a little of both. I did come across this change to keyword arguments[1] recently, but I'm not sure how impactful it is since I don't personally leverage keyword arguments right now. [1]: https://www.ruby-lang.org/en/news/2019/12/12/separation-of-p...

It sure does blow up your logs if you're using rails with 2.7.1.

Have you updated? Pretty sure all the warnings have been fixed now.

Re: Ruby: We have decided to go forward to 3.0 this year

#16
post #5

Are they going to make non-backward-compatible changes, or is this just a marketing move?

looks like they're adding an optional type system, which means you get the worst of both worlds- no guarantees AND no compile-time type checking (think: what happens if type-checked code calls non-typed code?) so I have no idea how they're going to make that fast since all types will still have to be checked at runtime

Re: Ruby: We have decided to go forward to 3.0 this year

#17

Context? What changes are in v3?

The goal of Ruby v3 is to be 3 times faster than v2. https://blog.heroku.com/ruby-3-by-3/ Unclear if that goal has been achieved.

Performance is more of an implementation level change rather than a language change unless they are restricting the language to facilitate new optimisations.

Re: Ruby: We have decided to go forward to 3.0 this year

#18
post #5

Are they going to make non-backward-compatible changes, or is this just a marketing move?

looks like they're adding an optional type system, which means you get the worst of both worlds- no guarantees AND no compile-time type checking (think: what happens if type-checked code calls non-typed code?) so I have no idea how they're going to make that fast since all types will still have to be checked at runtime

Are you sure it’ll be awful? Sorbet (https://sorbet.org/) is pretty popular already. It can statically check your whole project and dynamically check it at runtime. It also doesn’t add that much overhead so I’m not sure what you’re on about...

Re: Ruby: We have decided to go forward to 3.0 this year

#19
post #5

Are they going to make non-backward-compatible changes, or is this just a marketing move?

looks like they're adding an optional type system, which means you get the worst of both worlds- no guarantees AND no compile-time type checking (think: what happens if type-checked code calls non-typed code?) so I have no idea how they're going to make that fast since all types will still have to be checked at runtime

I use type hints in Python to make my code more readable and more clearly convey my intent, although I rarely use analysis tools.

Re: Ruby: We have decided to go forward to 3.0 this year

#20
post #18

Earlier quoted context omitted.

looks like they're adding an optional type system, which means you get the worst of both worlds- no guarantees AND no compile-time type checking (think: what happens if type-checked code calls non-typed code?) so I have no idea how they're going to make that fast since all types will still have to be checked at runtime

Are you sure it’ll be awful? Sorbet ( https://sorbet.org/ ) is pretty popular already. It can statically check your whole project and dynamically check it at runtime. It also doesn’t add that much overhead so I’m not sure what you’re on about...

What does it do with your library code that isn't type-specified? If it infers types, isn't there a limit as to how far that can go?
Post reply on HN