AstonJ

AstonJ

Euruko Keynote: Beyond Ruby 3.0 (Yukihiro Matsumoto)

Includes talk about concurrency and performance topics:

Most Liked

ohm

ohm

Think of Matz as the “CEO” of Ruby. He’s not the one writing all the code. He’s not the one coming up with all the ideas. But he is the one, who have to be responsible for everything. He’s the face of Ruby. To that, yes, he’s playing with technology. He has to. He’s looking for what’s next for Ruby to pursue. That’s how we got Ractors. Matz started that project many years ago, by experimenting with different actor libraries and such.

You’ll see that the world disagrees with you here. Take a look at for example Shopify and GitHub. Both use Ruby extensively and both drive it forward, with for example Sorbet.

Why are people still using C? C was released almost 50 years ago. It doesn’t have garbage collection. You need to manage memory references yourself. There’s no classes or objects or anything. Different programming languages meet different needs. You want speed? Go for C. You want human-programmable? Go for Ruby.

If you go to your local grocery store, you’ll probably see a bunch of different brands of orange juice. Why do you think that is? I assume it’s because they each seek to fulfil a different need in their customers. Some are organic, some are with pulp, some without. Some are with sugar, some without. I see the different programming languages the same way. I would never use Ruby for making a stock trader, it’s not what the language is meant to be doing. A web app? Sure! I can even write one pretty fast with the current libraries and offerings.

Rewriting something just for the sake of having it written in some other language is, in my opinion, just as much a waste of time and energy. What’s wrong with MRI being written in C? Do you see many type errors or mutability errors in the interpreter itself?

That seem to be where we are headed. Especially with the # frozen_string_literal: true magic comments. However, as Matz discussed in the video, you can’t just say “From tomorrow all strings will be immutable” That would split the community in the same way we saw with Python2 and Python3.

I don’t think there’s such a thing as a “perfect language”. There’s no “one size fits all” solution to programming.

Yup. And still, we don’t see any other languages being so massively concurrent at its core. Why is that?

That’s exactly where it becomes important! If the language you use is unintuitive and unnatural, you’ll be making a ton more mistakes than if it wasn’t. Sure, if you want a job, where you have to write a thesis before you can start coding, you shouldn’t use Ruby, but Ruby is so intuitive that I believe I could have even my mom write most basic programs and understand what’s going on.

The beauty of civilised online debates. :heart: :tada:

Oh yes, indeed. I haven’t had the chance to fiddle with RBS or even Sorbet yet, but I am overjoyed that they exist and help make the world a (type) safer place :laughing:

I want in on the heart situation here: :black_heart::purple_heart::green_heart:And I hope that everybody reading this knows, that no ill intensions have ever been made. The internet and thus written communication can often be difficult, because you can’t convey tone and mimic. It gets even worse when the language you’re communicating in isn’t your own. (I tend to write more formel in English than I would in Danish)

dimitarvp

dimitarvp

Surely you mean 1400 and not 14, right? RIGHT?! :grin:

ohm

ohm

Argh, I’m so behind on all the conference videos! I still have 14 tabs open from RailsConf. :railway_track:

Where Next?

Popular Backend topics Top

First poster: wolf4earth
Understanding Partial Moves in Rust. Partial moves are an interesting but often misunderstood feature of Rust. However, with the right ...
New
AstonJ
Just finished doing a clean install of macOS (which I highly recommend btw!) and have updated my macOS Ruby & Elixir/Erlang dev env s...
New
Rainer
Just wrote a short post, more a memo to myself, but maybe someone find it useful :stuck_out_tongue: https://dwarfte.ch/2021/02/03/giving...
New
First poster: bot
Rails Best Practices I. Today I share some of my favorite practices applicable to Ruby on Rails (and to web development on small teams g...
New
prajaut
Being a part of the tech industry, it would be good to share thoughts on specific technologies. Having surrounded by skilled and experie...
/go
New
First poster: Exadra37
Summary: I describe a simple interview problem (counting frequencies of unique words), solve it in various languages, and compare perform...
New
New
wolf4earth
Charles Max Wood takes the lead this week. He and Adi Iyengar discuss what Top End Devs are and what people should be doing to become Top...
New
wolf4earth
Tej Pochiraju joins the mix to discuss Progressive Web Apps and how you can support them using Elixir and Phoenix to control IoT devices....
New
tonyxrandall
When DoorDash approached the limits of what our Django-based monolithic codebase could support, we needed to design a new stack that woul...
New

Other popular topics Top

PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
AstonJ
If you are experiencing Rails console using 100% CPU on your dev machine, then updating your development and test gems might fix the issu...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
AstonJ
We’ve talked about his book briefly here but it is quickly becoming obsolete - so he’s decided to create a series of 7 podcasts, the firs...
New
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New