I am most excited about the parser change, previously discussed here: https://news.ycombinator.com/item?id=36310130 - Rewriting the Ruby parser (2023-06-13, 176 comments) I remember being taught to use yacc in our compiler course because "writing it by hand is too hard". But looks like Ruby joins the growing list of languages that have hand-written parsers, apparently working with generated parsers turned out to be e…
Ruby 3.4.0
51–60 of 282 posts
Re: Ruby 3.4.0
#52Re: Ruby 3.4.0
#53Shopify strategy aka the story of YJIT If I cannot refactor my services, I shall refactor Ruby instead.
That has been the story of every dynamic language since forever, thankfully the whole AI focus has made JITs finally matter in CPython world as well. Personally I have learnt this lesson back in 2000's, in the age of AOLServer, Vignette, and our own Safelayer product. All based on Apache, IIS and Tcl. We were early adopters of .NET, when it was only available to MSFT Partners and never again, using scripting language…
Woah, your mention of “Vignette” just brought back a flood of memories I think my subconscious may have blocked out to save my sanity.
Re: Ruby 3.4.0
#54Earlier quoted context omitted.
Do you have any evidence that it's been used less and less?
https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...
Re: Ruby 3.4.0
#55Earlier quoted context omitted.
https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...
Glad to see Estonia being number 4 in that list. We have some nice successful businesses built on Ruby.
Re: Ruby 3.4.0
#56Earlier quoted context omitted.
Ruby has the nicest object-oriented design (everything is an object) outside of smalltalk (IMHO). In contrast to the mess that is Python. For instance, in Ruby it is natural that each or map are methods of Array or Hash rather than global functions which receive an Array or Hash argument. This goes as far as having the not operator '!' as a method on booleans: false.! == true Once you have understood it, it is a very…
It's very powerful though which is a bit terrifying. You can literally monkey patch Object at runtime and add methods to every single instantiated object! (I believe this is how rspec works..) Awesome, but with great power come great responsibility ;)
You end up feeling and steered to the the right idiomatic way of doing things is the satisfying way.
Re: Ruby 3.4.0
#57Earlier quoted context omitted.
There's also the TIOBE index: https://www.tiobe.com/tiobe-index/ruby/ It conveys similar trend to Google Search chart
Because it uses same metrics. If you want to see real usage statistics you need to consult GitHub, JetBrains, RedMonk ratings.
https://octoverse.github.com/2022/top-programming-languages
Ruby took a nosedive from 5th "top used" programming language in 2016 to 10th in 2022
Re: Ruby 3.4.0
#58Why did NodeJS take off on the backend while Rails was still popular? I'll never understand it.
Google hired all the best JIT engineers and set them to work on v8. If you want better performance you'd have to choose an AOT compiled language.
I mean Truffle Ruby is as fast as V8 already and MRI yJIT and jRuby are catching up fast.
It could also be argued that JVM is the gold standard JIT.
I think that shows that Google doesn’t have a monopoly on great JIT engineers.
Re: Ruby 3.4.0
#59Re: Ruby 3.4.0
#60Shopify strategy aka the story of YJIT If I cannot refactor my services, I shall refactor Ruby instead.
Reference: https://x.com/ShopifyEng/status/1863953413559472291