Hey, folks, welcome back to the Ruby Dev Summit. I am here with Federico Yakati. It's we've worked together on different projects and chatted off and on over the last several years. And uh yeah, I thought he'd have some interesting ideas around what the future of Ruby looks like. He lives down in Argentina and so he interacts with kind of a different circle sometimes than I do. So yeah, Federico, what looking at where things are with Ruby?
What is the future of Ruby? Well, to answer your question, there are there are like two big things I could think of, the things I see where it's going and the things I wish you're gonna go. Uh huh uh. In terms of what I see Maine on the form the rook Coors, I think they are focusing a lot on performance, and I really
like that. I like the idea of thinking of Ruby as a language I can just drop in and do whatever I want without thinking of Okay, it's not gonna work it's too slow, and I really like that they are focusing on that right now. Mm hmm. I also see changes on the comparser and parsers, which I also like the idea of being able to for example, ah have I don't remember the exact name, but like a partial partser where if you find an error in the in the cold, the partser can
continue. So you have a you can see Okay, you have an error here, please change it. But you also see that the rest of the file is uh still working. Uh. There has been a lot of changes in terms of syntax, which okay, Ruby always had those kind of changes. There are a lot of syntax changes that I don't really like, but I like that Ruby allows me to choose uh huh, which always has been
the Ruby, the Ruby mind right. Uh. They are moving towards removing the use of native libraries, which is also great because you sometimes you get stuck in Okay, I'm studying I don't know nogiy in rails and you're running it on a doctor on a doctor container, and then you have to stop on your feet and start packaging or debout what happened, this didn't work. I like the idea of basically simplifying installation of gems, right or yeah,
or even the main the rubic core library. Yep. So let's let's stop for a minute, because I mean, you gave me a list of like four or five things, but let's talk about them, right. So so performance, right, what are you seeing in the way of performance? Because
I don't know if I like directly measure anything that I'm doing. I can tell you it's getting faster because I'll run a rails app or run a script or something, and the numbers I'm getting back as far as hey, this took you so many milliseconds or whatever, that number is definitely getting lower. I couldn't tell you what they did, but it's getting faster. Yeah, well, I couldn't tell you either. I know why it's a big thing. I don't really understand it yet because I haven't gotten deeper into it.
But I know since uh before three was out, they they have been moving towards making movie three times faster. And I think that they achieved a lot of that with some with some regressions and some advances. But yeah, what I see in terms of performance is what I what I said before, and what you said. I don't like measuring things as well. I like it. I like to think of going into a language and not having to think about performance. Of course, performance in an application comes from a bunch of
different things. I like to exclude the language from those things, right, Yeah, absolutely mostly, And I agree with you mostly because the the language stuff is not something that's in my control. Whereas database optimizations or writing the code in a performant way, or you know, taking advantage of some concurrency feature in Ruby or something like that, those are all things I can do, right, Yes, And so yeah, the language itself maybe not so
much as far as wijit goes. Yeah, I need to reach out to to Kashi Kokaboom and see if he can come on and talk to us about that, because it's really really cool stuff. Now. I think in Ruby three to two you had to set a flag to use wyjit. But I think if I remember right in three dot three, they were planning to turn it on. I never actually looked to see if they did it. Yeah, they were planning to turn on. By the fault. I think you would be able to disable it, but I'm not sure about that. Yeah.
But the thing is is that we've seen in other languages too, like there, you know, we've seen some JIT compilers come into JavaScript and a lot of that stuff. Yeah, it's interesting because you'll you'll watch it and it'll turn through some stuff and then it'll decide, Okay, I've run this enough times. That's usually how JITs work, and so I'm going to compile it to something that you know, I can run on the mischine faster. Yeah, much faster. I can run it on the VM in native code
and boom, you just see it immediately take off. And so I think that's really cool, And yeah, it's not. I have some friends that are big like go fanatics or you know, what have you, and they, you know, they compile, compile it and they're like, well, ours is fast from the get go. Well sure, but you know, there are a lot of features that come out of Ruby that are very very
nice that yeah, I'm willing straight off for the the fast eventually. Yeah, and then you have to actually compile it every time you run to run or change something. So yeah, there's that then, well yep, absolutely so. Yeah, the jit's definitely a thing. I think they've cleaned up some of the memory managements have to made that a little bit faster. Are there any other features that you've looked at that that make it faster that you're
excited about or is it primarily no? To be honest, I've watched a couple of tender log talks. But I don't recall any other features. Okay, yeah, so let's let's move on to the partiers. Then you mentioned the parser. Are you talking about the prison parser? Are you talking about something else? Uh? Yeah, prison in general? Okay, again something I haven't looked to live into. Uh. I watched a couple of talks and I got really excited about ah about basically into how you said, Yeah,
integrating a parsa with with my editor and things of that sort. Yeah, we had Kevin Newton's scheduled to do the summit and then he realized the added check with his employers, so we are trying to get through some red tape, so to speak, or line up somebody else who's worked with him on that. But I mean, it's it's so interesting just what a different some of the stuff can make and what the capabilities are when you have a parser that does more than just kind of the fundamental stuff. Yeah, yeah,
totally. Yeah. So what else did you mention? I can't remember all of it? Syntax changes? Oh yeah, I normally don't automatically take new changes to the syntax. The latest one I've taken and really liked is I don't remember the exact name, but one line method definitions okay, thost into clean up a bit the h the code uh huh, and yeah, I really like in this uh for this point, I really like that really allows you to write the code you want. Mm hm. So yeah,
syntaxis are always welcome. Yeah, I don't usually like new changes. I think the the one I mentioned and a harsh syntax uh are the the two changes I actually really enjoyed. Enjoy it, right, I usually I don't used to. Sorry, I don't usually take up new changes. But again, I really like the possibility to yeah, to write yeah, the key word you want. I use those everywhere. Yeah. When I resisted for a long time, I was like, yuck, I don't like this.
I don't like this. I don't like this. Hey, it's telling me what it is. I like this. I like this. Yes, yeah,
kind of practically exclusively now yeah, yeah, but yeah. The thing that I like about in particular, and I'm just going to chime in on the things you're bringing up about Ruby in particular, and I think the thing that draws a lot of people in is sort of the intuitive nature of how you look at things and go oh, I get what that does, or oh, I understand why what that feature is, or oh I get why
this library is set up that way. There are so many things in Ruby that just really lend themselves cleanly that way, and Rails has very nicely extended that. And then you see it in some of the other frameworks too, if you're using Hanami or things like that. You know, yeah, it's it's a little bit of a mindset shift from Rails to Hanami. But again, it has that that intuitive nature to Okay, I understand why there's structure during things this way, and this is very expressive way of doing it.
And so yeah, I think Ruby drives us to to do things like that, to do things in a with a DSL or with very terse code or very expressive code. So, uh yeah, Raise is the primary example of that because they do it almost to a fault, but they put an active support, they created active support, and that adds a whole nother layer of that kind of thing. Yes, yeah, exactly, So yeah, that
that's I think, uh Race is a primary example. But Ruby itself, it's a it's a language that leads you to to work in that kind of way. Yeah, absolutely, Yeah, what what what? What was? Weren't there like for five things or did I? Yeah? No, The last one I mentioned was removing the use of native libraries. Oh yeah, and I took that from the change block because I I was just reading the change changelog for the last Ruby version and they are removing the dependency on on
read line for example. Oh really? Oh yeah, yeah, they are doing it natively on the in the language now with the library. So yeah, it's something. As I said before, many times I started working either on a new machine or doc doctor container or viitual machine or whatever, and suddenly you have to stop because you have to compile a native library to install
a package, to write whatever. And I think this last point, with the first one, I think they are actually being able to do that now because of being able to work on a language, a more performal language right now. So they are relying less and less on external libraries. That's that's awesome for me. Yeah, that makes a lot of sense, And it's interesting because I don't know, I don't know that I would expect them to
not take advantage of those, especially if you're starting a new language. But yeah, once you get to a certain point, then it's all right. We have to be able to do a build target that works on Linux and Mac and Windows and anything else. And yeah, I mean if you have fewer dependencies on some of the native things, then you don't have to worry about what version it is, or whether the machine has it, or whether the machine has a you know, sometimes they have different compile targets and if
you have the one then it works and the other it doesn't. Then so just just getting rid of that, let's see on some external factor makes a lot of sense. Yeah, yeah, absolutely so I stopped you. Did you have other things on your list? Uh? Actually for the first channel of information I have, it's just that you still be in the right place in just a second. Yeah. Other things I'm seeing in the in the really community outside the de actual language regarding the future of Ruby, I'm seeing
less and less applications, applications written in Rovie. I'm not sure if that's correct, if my if I'm not seeing that correctly, but I'm seeing a decay on greenfield projects. I'm not worried about it. I think there's plenty of bowing work for everyone who wants. But that's something I actually noticed in the last few years. Yeah, if you notice that, I've seen kind
of conflicting reports to that effect. So I've seen people say, hey, there's there are fewer Ruby projects out there, and so you know, Ruby is dying, and like you said, I don't know that I'm really that worried about it, and I don't The other thing is is that a lot of the reports that I see that they're citing, they're not citing like actual numbers, right, They're not saying last year we tracked two thousand, and
this year we tracked nineteen hundred. Usually what I'm seeing is is, you know, the overall landscape of new businesses that are starting, you know, a larger percentage of them are using things like Python or JavaScript as opposed to Ruby, and so you know, if the pie is getting bigger, right, So if we have you know, three million new businesses start, I'm
sure that's an unrealistically high number. Let's say three million new businesses are starting this year and there were two point five million last year, and so Ruby's percentage is shrunk a little bit. The overall number of applications may actually be
growing. So I don't know, I haven't seen good numbers that make me worry, and I haven't seen good numbers that make me hyper optimistic either, you know, like it was back when the heyday of rails or Ruby, when every startup in San Francisco was using rails to start, And so I don't know, it seems like some of the other measures of community, like you know, how well do video series like Drifting Ruby or Go Rails sell or how much you know business or traffic do some of the other Ruby or
rails related things get how well do the conferences sell out? And that those issues don't seem to really be an issue. There are plenty of people that interested. So I don't know. I don't know what the benchmark is or what the right thing is. But yeah, I'm not seeing it declined in such a way that makes me think, Okay, maybe it's time to pull the plug on this. Yeah, in my opinion, and this is absolutely my opinion. I don't think there will be a time to pull the plug
on Ruby, I think, or for any language. I think languages will be so we still have applications written in coobol, so right that should say though I think, yeah, yeah, it's harder to find professionals that will write cobal or that even can write coboal. Yeah, but you know that's a different thing and it has more to do, I guess with the life cycle of software. But I guess the other thing speaking to where it may go in the future. And I'm supposed to be interviewing you and I'm going
to be putting out my own videos about what I think. But for example, David dhh, I was calling David. I don't know why, but anyway, he he came out and said that Rails eight is going to be a platform where they take advantage of all the progressive web app web app and kind of native web features and so and then the other thing is is he's
hyper focused on making Rails one developer friendly platform. Right. Sure, it'll continue to support enterprises like get hub it Spotify, but you know, at its core it will also be something that you or I could spin up a startup in you know, however long and you know, be all over and so you know that that also speaks to me in a certain way as far as, hey, you know, the capabilities of the not necessarily Ruby itself informing this, but of Rails of Hanami, of you know, maybe Dragon
Ruby or ruby wa WASM. I talked to Utah Psyto this morning about ruby wa wasmuh, you know, and so that that expands into a lot more platforms and just all of these different places where you may see Ruby become, you know, a preferred way of doing some of this stuff. Yeah. Yeah, I could see this going, you know, getting picked up because Python kind of had a little bit of a dip and then it kind of hit its sweet spot with AI and data science, and it's got kind of
a renaissance. And I'm wondering if Ruby or rails or something else out there in the ecosystem could do the same thing. Yeah, I think so. My Actually, my next point was about rails. I really like the where races is kidding, h I've had my ups and downs with liking rails. I liked it very much at the beginning, then it declined at some point. I think rails may made things more difficult in the era. I can argue with that. Yeah, yeah, web packer, you had turbo turbo
links and things that weren't always nice. But I learned to trust in the vision of the change. Because yeah, now I think writing a rail's application from scratch, it's such easy as when I first came into Rails. Yeah, I agree. And the things that you brought up with turbo or turbo links in particular, and then those were both things. Yeah, they definitely made it harder. What's interesting is is that turbolinks is now turbo yes,
in a Rails app. It's kind of I mean, you don't really have to think about it, and it doesn't cause the weird issues that you had to handle in Rails three and four. And then with web Packer. I mean, I've heard David explain that it was kind of a necessary step forward in the way that assets are managed because that's where the Internet was going, and it gave better capabilities than sprockets. But at this point now you have import maps, and import maps are awesome. Yeah. So then you look
at some of this other stuff like cashing. You know, I had a devil of a time with cashing and managing my reddits instances and making sure that everything played nice. And solid cash makes that pretty darn easy, you know. And you're seeing them pulling solid q and some of the other options and just making it. I mean, there's so many good things coming out with Rails these days that I am pretty pullish on it. Yeah. Yeah, so ah, As I said, there's a curve in rails development where you
have those stepping stones and then everything gets simple again. I really like where I'm going with hot Wire. I really like where they're going with Estrada, which I haven't played with yet, but I really like it. No much else to say there, but yes, great work. Yeah. On the other hand, there's a growing community around Hanami and dry Erb and that part of the ecosystem, which also it's also great. I think I don't like the idea of Bob being rails. I I like Rails, but I like
the idea of being it's something and having many many options. I played just a little bit with Hanami and it's great. I've done a lot of work with Roller for example, for for a web framework. Yeah, and it's great. Yeah, It's completely different to anything else, and it's awesome. I'm talking to Jeremy haven't in a few weeks, so yeah, yeah, So I like that these communities are are emerging, right. I think for a long time rails was the the entry point and the and the all for
Ruby and and I like the idea of this changing. Yeah, yeah, absolutely, And diversity is great in that sense. I Well, I think the other piece of this that we look at is, you know, Hanami, Like I said, they do things a little bit differently, but in some ways, I mean it makes it. You know, the way they've kind of split up responsibilities on say data access, for example, it makes it pretty easy to reason about what's going on, and it's not that active
record most of the time. Is that much harder. Sometimes it really is. But you look at those pieces and you go, huh, okay, and maybe some of that will inform rails or maybe something that rails innovates. It's just kind of makes something brain dead simple. You know, Hanami will pick up and there's always room for more people to come in here and say, hey, what if we did it this way and then see some benefit out of it. Another example of this is like Bridgetown coming out of Jekyl,
Right, and so what's his name, Kevin White? Is that his name Jared White? I had a coworker named Kevin White way back in the day. Anyway, So he's done a whole bunch of up there, right. He modernized the static assets stuff and you know, kept a lot of the things that were great in jackal and I see a lot of things that will be kind of built off of each other that way. Yeah, yeah, totally, particularly myself right now and working on on on creating a small
reframework for just blame grugy applications. And it's tiny, right, it's just for spinning up a small application for a kata or things like that, right, And there are a lot of libraries that really really help on that regard. I'm using a side work for a example, and it simplifies reloading and that kind of thing that which is something that it wasn't pain a few years
ago. Yeah. So yeah, it's very interesting and I think that the language and the and the community is what makes it simple because there's a lot of work on on a lot of a lot of different aspects which allows the things to be almost yeah, pray that you don't need to think about a lot of things, right, Yeah, there are a lot of things you mentioned the language, but then the community, right, and that's that's the
other thing that I'm I'm super excited and kind of see going forward. So in October I went to rails World a buzz sproute paid for my hotel and stuff, and uh, you know, that was awesome. But yeah, you know, just being there and feeling the energy right and seeing people get excited about what's coming next in Rails, And I think some of that same energy is there for Ruby. I just don't know where that gets placed because
I don't know that I necessarily I do. I dare say this, sorry people at Ruby Central, but I don't feel like really conscious necessarily the place where that energy shows up anymore. And you know, it's it's so it's it's interesting just to see, you know, as as we kind of build forward, you know what, you know, what what can be created in these spaces and yeah, what people are excited about being able to do with it. Yeah. What I think in that regard is that the energy there
is disseminated into different things. I think the biggest community there is dry RB Slash and EMI, which is yeah, the same community. But then there are a lot of projects that bring excitement to Ruby. And there are individual projects right now that the once I can mention side work, as I said, Flex Dragon Ruby, those kinds of projects which yeah, bring excitement and simplicity and motivation to do stuff right wrong the other one mm hmm. I'm
excited about. Yeah, yep, absolutely, yeah, But I just I love getting together with other rubyists and there's just there's so much energy there. Yeah, it's been around for a while. You're locky to you In the US, we are well, we are less here, but there are still conferences here, like there's Blue Ridge Ruby and you know Ruby Comff and rails Coff are usually here in the US. Rails World next year is going to
be in Toronto, which isn't in the US, but it's close. The The thing that's interesting is is that And I think a lot of this could be shocked up to COVID. But I don't see as many of the users groups anymore, right, I don't see people getting together in their local communities, and I wish that there was something that we could do to bring that back. I have some ideas of some things I want to do, but it's like fifth on my ten million things long list, and so I never
quite get to it. That makes sense, But yeah, i'd love to start seeing that come back too, in terms of what I see in the Rubig community and in the Ruby language in general. Those were my points what I'd like to see, which was my other big point is a focus on machine learning and AI. Right, I really like to for to compete hand to hand with Python and more more sorry EGUI stuff. I really like ruing to be not to be thought as a web language, but a more general
language. Right. I've been trying to get into breed development just for myself, and it's more complex at the moment than right, Right, So yeah, to get into Yeah, I'm talking to Andy Mala next week and we're gonna be talking about glimmers. I'm sure it is one of the UI things, but yeah, it'd definitely be cool to see it expand to more areas. You know, we we have Ruby Motion, but that's mostly focused on games, and it'd be nice to see it, you know, whether it's
Ruby Motion or some other option you know, come up. Yeah, in
the mobile space, so that you can build mobile business apps. You know, the same thing with you know, something something kind of like what you get with like React native, right where you could then go to like TV apps and you know, all those areas and then yeah, you know the UIs on desktop and you know, yeah, I think Ruby has a wrong case for CLIs, but it doesn't always get picked and so yeah, it'd be great to see it pick up some other areas and become kind of the
way to go for some of those. Yeah, totally. I really like that because I love Ruby and I I'd like to be able to just pick it for whatever project I need. So yep, yeah, absolutely cool. So yeah, it sounds like we got through your list. Yep. If people want to check out what you're working on, now, how do they find you? And becausets dot com. I am working on just starting a spring cast series right now. There are just six episodes and they are all
about Ruby. The idea used to expand bey on movie. But right uh that's what what's there right now? Very cool? All right, well thanks for coming. We'll go ahead and wrap it up here until next time, Folks max out to
