(original episode: https://kaigaiiju.ch/episodes/matz2 )
On New Year's Eve 2024, this is our final broadcast of the year! Continuing from last time, we present the second half with our special guest, Yukihiro Matsumoto (aka Matz), creator of the globally used programming language Ruby! From the same interview, we have excerpted the technical conversations aimed at software engineers.

We begin with the topic of the first-ever Ruby conference held in America and look back on the path Ruby has taken. Starting with the groundbreaking web framework Ruby on Rails, developed by DHH in 2004, Ruby gained significant global recognition. It grew tremendously as it was adopted by startups, most notably GitHub. Matz also has a side as an open-source software (OSS) developer, and the conversation turned to his thoughts and concerns about the current generation. The lively conversation covered a wide range of topics, including the Ruby community, his relationships with famous developers like Dave Thomas, Martin Fowler, and Linus Torvalds, and even his favorite programming languages.

Matz is active both in Japan and internationally. Despite his great achievements, we believe his friendly and approachable personality has had a truly significant positive impact on the Ruby community. Matz, thank you once again for graciously accepting our sudden offer to do this recording!

We wish everyone a Happy New Year!

references:

Yukihiro Matsumoto

Guest:
Creator of the Ruby Programming Language Yukihiro Matsumoto

The creator of the programming language Ruby. He is the Chairman of the Ruby Association and serves as a technical advisor for several companies, including ZOZO, Inc. and Linkers Corporation. Through his work with open source and community building, he contributes to enhancing the skills and motivation of engineers both in Japan and internationally.
A resident of Matsue City, Shimane Prefecture, he was made an honorary citizen of the city in 2009 in recognition of his achievements in developing Ruby. In 2012, he was selected by the Cabinet Office of Japan as one of the "Japanese people active on the global stage and sharing the message of Japan." He is commonly known by his nickname, "Matz."

https://x.com/yukihiro_matz

Special Guest: Yukihiro Matsumoto (The creator of Ruby programming language) 2/2: tech-talk - The trajectory of Ruby's growth, Open-Source Software today, Matz's favorite languages, People of the Ruby community

Contents


Chikahiro: Was the first Ruby conference in America or somewhere like that?

Matz: That's right.

Matz: The first Ruby conference was held in America in November 2001.

Chikahiro: At that time, were you the only Japanese person who went, Matz?

Matz: There were about two other Japanese people who came, and I thought that was amazing.

Chikahiro: Were they committers or something?

Matz: At that time, the concept of a "committer" wasn't really there, so they were more like acquaintances within the community.

Chikahiro: Like, "If Matz is going, we'll go too."

Matz: Yes, they said, "We'll go," so there were about three Japanese people.

Matz: You know, the first Ruby conference only had about 36 attendees. Compared to today's conferences with hundreds of people, it felt like it could blow away with a puff of wind. Among them, there were three Japanese people, very modestly. Dave Thomas , who is here today, was also there.

Chikahiro: Oh, already! That was early.

Matz: Um, so Dave Thomas published a book called Programming Ruby in 2000.

Matz: So, when people who learned about Ruby from reading that book decided to get together, um, ACM, the American computer society, they booked a hotel conference room right before their main conference and decided to hold it there. That was the first Ruby conference.

Matz: So, most of the people were attendees of the ACM's OOPSLA conference, which deals with object-oriented programming. They arrived a few days early and attended the Ruby conference as a side thing, that's the kind of crowd it was.

Matz: And at that conference, someone said, "We need a package system for Ruby, right?" and they were making a prototype for RubyGems.

Chikahiro: Was it created at that time?

Matz: At that time. It was made for, or thanks to, the conference.

Chikahiro: Wow. I see, it didn't exist until then. For Perl, it's CPAN, right?

Matz: Perl had CPAN and such, yes.

Matz: Ruby didn't have something like that yet, back in 2001. And people were saying, "We need something, right?"

Matz: Saying things like, "What kind of thing, what features do we need?" and while everyone was excitedly discussing it, someone was typing, and that's how the RubyGems prototype came about.

Chikahiro: Originally, Matz, you made the Ruby by yourself, right?

Matz: Yes, that's right. The Ruby language, yes.

Chikahiro: And from there, Dave Thomas found it, is that how it happened?

Matz: That's right. I got contacted around '97, '98. He said something like Ruby was interesting, and we exchanged a few messages. Then in '99, um, where was it, an editor from Addison-Wesley contacted me saying someone wanted to write a book about Ruby.

Matz: And when I asked who the author would be, they said Dave Thomas and Andy Hunt would write it. And I thought, I know those guys!

Matz: And he wrote it with incredible speed. Yes, yes, I got an email on December 31, 1999.

Matz: Right around the time of Y2K. And when I replied, Dave Thomas said something like, "Okay, I'm going to start writing now," and then I got a flood of emails like, "I read the source code, what does this mean?"

Matz: Well, I can speak English, but I'm not extremely proficient. So I was struggling and writing replies in English.

Matz: Then the book came out in November of that year. Incredibly fast.

Chikahiro: Thats so fast!

Matz: And so, the people who had seen that book Programming Ruby in the latter half of 2001, thought, 'This Ruby language is interesting, let's all get together.' That gathering was the first Ruby Conference, in November 2001, which was about a year after the book's publication.

Chikahiro: Wow.

Matz: So, it's not that I want to speak English; honestly, I'd rather not, but I speak it out of necessity due to the circumstances. That's how it feels.

Chikahiro: Wow. Going back to the library example from earlier, that person probably received contact but didn't reply, from the sound of it.

Matz: What a waste.

Chikahiro: It's a waste, isn't it? But in that situation, Matz, you replied.

Matz: That's right, I replied.

Chikahiro: So Dave Thomas found it, then a conference was held, and it started happening regularly.

Matz: That's right. It's been held annually since 2001.

Chikahiro: So, did Ruby conferences originally start in America?

Matz: Conferences, yes, the world's first conference was the 2001 Ruby Conference.

Matz: Um, well, in Japan too, we've had event-like things, study groups jokingly named something like "Ruby Conference."

Matz: But back then, Ruby was still very niche, so nobody believed that a regular, annual conference would be held. Um, so we jokingly talked about it, and we did hold such events in Japan around 1999 or 2000, but the first regular Ruby conference was in 2001.

Chikahiro: And then (Ruby on) Rails came along,

Matz: That was 2004. I actually missed it. Because my child was being born.

Matz: And then that year, DHH announced Rails. I missed it, but people who went told me it was amazing.

Matz: And from then, around 2005, 2006, Rails became a huge topic.

Matz: And, yes, from then until around 2011, 2012, it was like, well, the peak, the height of its popularity continued.

Matz: I'm grateful for it. Ruby spread a lot in those years.

Chikahiro: You know recently, there's this YouTube channel called Honeypot, or rather, it's a company, a Berlin-based company.

Chikahiro: And they've been making documentaries, asking people who created things like Node.js, React.js, or Kubernetes about their experiences, and Rails was featured in one.

Matz: Ah, he mentioned a documentary. I bookmarked it but haven't watched it yet.

Chikahiro: And in it, DHH talks a bit about that time. He wasn't writing Ruby back then, but he saw Ruby and heard it was a language made by some Japanese person, and seeing it kind of blew him away.

Chikahiro: Like, "Does this really work?" It felt like Pseudocode, something like that.

Matz: Pseudocode, right. Yes, yes, yes.

Chikahiro: That's right. He was saying things like that. It was like he pretty much fell in love with it, to put it in Japanese terms.

Matz: That's very gratifying.

Matz: You know, he was originally a PHP programmer. But when he was helping with the Basecamp project, he discussed PHP's way of doing things with Jason Fried, who originally started Basecamp. When they talked about things like, "Couldn't we write better stuff if we did it this way?" and decided, "Okay, let's go with this, let's start the project," DHH pushed for Ruby, saying PHP seemed like it would have limitations in the future. So they switched to Ruby, and he said Rails was created by taking the bottom half of Basecamp and carving it out.

Matz: And I don't know if DHH remembers, but I met him in 2001, quite a bit before Rails.

Chikahiro: Wow!

Matz: And, um, in a town in Denmark called Aarhus, there was a conference called JAOO (now GOTO), themed around Java Object Oriented, and he was there as a student volunteer.

Matz: And at the reception, a very young guy came up. I think Dave Thomas was with me, and while Dave Thomas and I were talking, he approached us, and I remember having a bit of a discussion with him about languages.

Matz: And a few years later, that same guy was doing Ruby.

Matz: Even before Ruby, he had made a few things that felt like DHH products, like a WIKI engine or something. And then he made Rails, and I thought, "Wow, that's amazing."

Chikahiro: Ruby itself, of course, as a language, but then when its killer app, Rails, appeared, the momentum from that point was incredible, I think.

Chikahiro: It truly became a global boom. Did the frequency of you being invited (to conferences, etc.) change completely then?

Matz: The frequency, not so much.

Matz: From 2001 to 2019, before Corona, it was consistently about 5 or 6 times a year. Almost every year, about 5 or 6 times.

Chikahiro: But 5 or 6 times a year means once every two months, right? That's quite frequent (laughs).

Matz: It is quite frequent (laughs).

Matz: Starting from 2001, maybe 3 times in 2001. Then from 2002 onwards, it was consistently 5 or 6 times a year.

Chikahiro: So, 2001 was when that (Ruby Conference) happened, and then in 2004, DHH came along.

Matz: Yes, in 2004 DHH developed Ruby on Rails, yes.

Chikahiro: And (Rails) became popular. It really took off when he made that 1-minute video (15-minute video), right?

Matz: Ah, yes, when he uploaded that video of making a TODO application, that was probably late 2004 or 2005.

Matz: Yes, back then, video wasn't that common, YouTube didn't exist yet.

Matz: And he uploaded a video at that time. And, well, how should I put it, an application could be made in no time.

Matz: And from nothing, to making that TODO app—was it TODO?—it finished in about 15 minutes. And it wasn't like a cooking show where they practice and say, "This is how it is," or "Here's one I prepared earlier."

Matz: He was making it while muttering to himself, like, "How do I do this again?" or something.

Matz: And being able to make a TODO app in 15 minutes like that was, well, quite shocking for us at the time.

Matz: And I think that was one of the reasons it spread so widely.

Chikahiro: That's right. That ignited it, companies actually started using it, and especially the startup boom.

Chikahiro: That ignited it, companies actually started using it, and especially the startup boom.

Chikahiro: The other day, one of the co-founders of GitHub is living in Berlin now, and...

Matz: Who? Tom (Preston-Werner)?

Chikahiro: It's Scott (Chacon).

Matz: Oh, Scott.

Chikahiro: The former CTO, I believe.

Matz: Perhaps.

Chikahiro: Tom was there too.

Matz: Oh, really?

Chikahiro: And so, they held a developer-focused conference called The Merge a few months ago.

Chikahiro: And at that time, Adam (Wiggins) from Heroku, whom I mentioned earlier, was there, GitHub folks were there, and quite a few people who were creating the trends of that era were there.

Chikahiro: And, you know, it was quite interesting. There were no corporate booths. Only OSS booths. Only projects like HomeBrew and others had booths.

Matz: Is that so.

Chikahiro: And also DOOM, the developer of DOOM, um...

Matz: I forgot his name, but yes.

Chikahiro: I forgot too (Note: It was John Romero). He gave a really core talk, like how he made it.

Chikahiro: Besides that, there was a Doom booth, and if you won, you could play against him in the end! (laughs)

Matz: Is that so? (laughs)

Chikahiro: And they were talking about things from that time. And, what was it, I was a student back then, and I really witnessed that (Ruby) boom.

Chikahiro: And besides Ruby, at that time, open-source (software) was really blossoming, I think. And startups were naturally booming too, and Rails was a prime example.

Chikahiro: Then GitHub was born, and there were stories about how GitHub brought in Rails, and they were talking about that kind of stuff too.

Chikahiro: Hmm well, as I'm talking, I'm kind of wondering what I should even be talking about in this overseas migration podcast.

Matz: These are stories that the this podcast usual audience might not often hear.

Chikahiro: Well, if I just do it freely, people might just tune out, but (laughs) as the stories and topics get deeper, they resonate with specific people, but gradually they stop appealing to everyone.

Matz: That's bound to happen.

Chikahiro: It does, that's a choice you have to make.

Chikahiro: And back to the topic, during the Merge conference, I felt that trend flow from that time, you know, it felt a bit nostalgic.

Chikahiro: When I saw it, I thought, "This is what I was seeing back then." It's not just about Ruby. Matz, you also have another face, as an OSS developer, an open-source developer, right?

Matz: That's right.

Matz: I haven't done much prominent stuff recently, but there was a long time when people didn't understand what open-source software was. Back then, as someone with experience actually creating open-source software, I often had opportunities to talk about what it is, its characteristics, and its goals.

Matz: In 2000, yes. Around the early 2000s, until about 2010, I often talked about open source in general quite a bit.

Chikahiro: I sensed that boom too.

Chikahiro: It seemed to follow that open source trend from that time, from that era.

Chikahiro: As a conference, they were talking about developer experience, but it's developer-driven, and there's quite an ideological aspect to it, isn't there? That sense of freedom.

Matz: That's right, yes.

Chikahiro: And on top of that, building it themselves. And with that, they actually changed things.

Matz: For people in modern times, those who have gotten involved in software development recently, for example, open-source software isn't anything particularly rare. It's already there.

Matz: So, for instance, instead of discussing the freedom aspect, it becomes more like, "Let's just use what's available." In that sense, a kind of succession problem tends to arise.

Matz: Meaning, including the ideology of open-source software, I do have some concern about how many young people will inherit it.

Matz: In other words, for example, Ruby was first created 30 years ago, and it's the same for Python, Java">Apache—though Java isn't strictly open source.

Matz: And among those many open-source software projects, quite a few were created 20 or 30 years ago. Some were even created earlier than that.

Matz: And many people use them because they've always been available as open-source software. But if you think about the next 10, 20, 30 years, new open-source software should be continuously emerging even now.

Matz: However, if people just take for granted things that were made 20 years ago, and end up only being consumers, then there might not be anyone to create new open-source software while inheriting its ideology. I have some anxiety about that.

Chikahiro: Especially recently, there's this trend, right? Things that were open source are being made closed again.

Matz: That's right. There are also cases where you wonder, "What exactly is open and to what extent?"

Matz: For example, AI-related stuff. They call it "open-source AI," but only a part of the source code is released, or the original data isn't released so there's no reproducibility. Can you really call that open source? There are cases like that.

Chikahiro: I see. So for you, Matz, the current trend... 10 years ago, or around the time you were just talking about, that trend was very strong, the power of open source.

Chikahiro: Is that now, perhaps, regressing?

Matz: That's right. Well, precisely because it's become commonplace, if you search the internet, there's an abundance of software available for free.

Matz: However, for each of those free-to-use software, there's someone behind the scenes creating it. And those people can't live on air, so they have to secure sponsors somewhere and maintain their livelihood simultaneously.

Matz: But that's not visible to the users, is it?

Matz: So, if people think that open-source software will always be available without any effort, it might die out somewhere along the line.

Chikahiro: I see. Do you discuss these kinds of topics, for example, with people abroad?

Matz: I don't actively bring up these topics, but when the conversation turns to open source, I sometimes do.

Chikahiro: On a completely different note, someone like Linus (Torvalds) is very much in this context.

Matz: I've hardly ever met Linus.

Chikahiro: Oh, is that so.

Matz: We just sort of passed each other and exchanged brief greetings, that's about it. I think it was when he came to Japan, we passed by each other, and I introduced myself as the Ruby developer, saying "Nice to meet you." That was about 20 years ago, just a quick greeting.

Matz: You know, Linus, regarding GitHub—well, he created Git, and then the GitHub service was built around it. In some talk, he said, "Ruby people weird(strange) people."

Chikahiro: Huh? What was that?

Matz: He said, "Ruby people weird people" (laughs).

Matz: It was meant in a positive way, a nuance of them trying new things, including various strange things. And, well, I'd be happy if we were perceived that way.

Chikahiro: Huh, interesting.

Chikahiro: The other day, when I talked to Tom from GitHub, he said Linus apparently called him an enemy.

Chikahiro: Apparently, Linus wanted Git to be deliberately complex and difficult to raise the barrier for commits. Because GitHub made it easy to use, he was told something like, "You guys are the enemy."

Matz: Hmm, because they made it easy... No, if anything, I think Linus wanted to create a peer-to-peer distributed system.

Matz: So, Git itself has individual local repositories, right? You can push to someone else's local repository, or use their local repository, and for releases, you'd access a specific repository. Just looking at the Git specification, it feels like he wanted to create a completely symmetrical peer-to-peer system. But GitHub is centralized, isn't it?

Matz: You go to the central GitHub service every time, right? He went to the trouble of creating a distributed system, but GitHub turned it back into a centralized one. So, in that sense, from Linus's ideological perspective, it might feel like an enemy.

Chikahiro: Interesting. And GitHub is closed-source, sort of.

Matz: Exactly, it's not open-source software.

Chikahiro: GitLab is, though.

Matz: GitLab is open-source software, yes.

Chikahiro: That's right. True, true.

Matz: From Linus's perspective, he probably doesn't like that aspect of GitHub, I think.

Chikahiro: I see. And speaking of open source, Martin Fowler and Thoughtworks are also quite fond of open source, aren't they?

Matz: They love it, yes. Martin Fowler has come to Ruby conferences many times.

Chikahiro: Oh, really.

Matz: You know that common slogan, MINASWAN? I think he was the first one to say that.

Chikahiro: Martin Fowler's naming skills are incredible.

Matz: He has a great talent for naming. And I think it was at a dinner during the conference held in Denmark in 2015, he said something like, "Ruby people are really nice and something," and I believe that's the basis for it.

Chikahiro: That's a bit interesting. Linus's way of complimenting with "weird" and Martin's way of complimenting with "nice."

Matz: Martin compliments by saying "nice." That means the community is acceptable and friendly.

Chikahiro: Ah, but I do feel that.

Matz: Compared to other open-source software communities, he said the Ruby community is open, nice, and friendly.

Chikahiro: Yes, I really feel that. The character of the community, or rather, as we were discussing a little earlier, the quality of a community changes depending on what kind of companies or people use the language. Matz created Ruby entirely from scratch, and, well, you often say you don't even really know why Ruby became popular.

Chikahiro: Well, you are "humble" in English, that very modest demeanor, I completely agree with Martin Fowler, I think it shapes the community. And, you know, I still really love the Ruby community. That's why I'm still here, at EuRuKo too.

Matz: Thank you.

Matz: Hmm, well, there are various factors, but I think one is that Japanese people, at least superficially, tend to be nice.

Chikahiro: You were asked about that a little earlier, right?

Matz: I don't really know the background behind why it's like that, but I think that slightly modest, humble feeling is a characteristic of Japanese people.

Matz: Another thing is, at conferences, I always give a keynote, right?

Chikahiro: That's right.

Matz: Everyone praises Ruby, but you know, it makes me feel very uncomfortable.

Matz: What that is, have you heard of Impostor Syndrome?

Chikahiro: I know it. Huh, even Matz (Matz's nickname)?!

Matz: You know, when you achieve something, you feel like, "No, I'm probably not worthy of this evaluation."

Matz: That's what they call Impostor Syndrome. So when people ask, "Why is Ruby so wonderful?" and I say, "Well, I don't know," that's really what's behind it, deep down.

Matz: Yeah, I don't remember doing anything that deserves that much praise, and its originality isn't that high either, so I wonder why. And then I answer, "It's luck."

Matz: And that, um, well, what is it, I think that might be part of the background for being seen as humble.

Chikahiro: Just hearing that now, it sounds like you lack confidence.

Matz: No, there are assertive people, right? "I'm amazing because I'm great." I can't be like that.

Chikahiro: Interesting. This might be a bit blunt, but that's a different style from DHH, for example, isn't it?

Matz: That's right, DHH is assertive.

Chikahiro: Yes, assertive.

Matz: No, I think his style, that characteristic, is important though.

Chikahiro: That's true.

Matz: Well, so with just my style, it probably wouldn't have become popular.

Matz: And I think it's very likely that because DHH pushed Rails so strongly, Ruby was pulled along with it and became what it is.

Matz: Actually, before Ruby on Rails, I think the stronger impression of Ruby was, "It might be a pretty good language, but it's not very exciting."

Matz: Hmm, I also feel that my lack of assertiveness might have been a cause.

Chikahiro: But, you know, Dave Thomas, who's here this time too, came to Japan for a workshop 10 years ago, and I went to that workshop.

Chikahiro: And then, in the evening, I went to a drinking party, but hardly anyone came, probably because people couldn't speak English, I think.

Matz: What a waste.

Chikahiro: It was a really small table, just 4 or 5 people.

Chikahiro: And what was a bit impressive about Dave Thomas was, of course, Dave Thomas knows many languages, right?

Chikahiro: But he said Ruby still feels like a friend to him, and even now he sometimes has new, fresh insights. I'm looking forward to what he'll talk about this time.

Matz: Yes, he mentioned he'd talk about various languages. He said there are some languages that even Matz doesn't know. So I'm looking forward to what kind of languages he'll introduce.

Chikahiro: you're originally a programming language enthusiast, you know a ton of different languages.

Matz: That's true. But, well, he is also the same as me!(laughs). He also tends to really love languages. He said he'd introduce a few languages that I probably don't know either.

Chikahiro: Wow!

Chikahiro: Oh, Matz, what's your favorite language?

Matz: Favorite language? hmm?

Matz: Um, as a language specification, my favorite is still Ruby, because I made it the way I like. There are some parts I can't change due to constraints, and I don't like those parts, but...

Matz: But overall, my favorite language is Ruby.

Matz: But as a programmer, the language I want to use might more often be C (language). I'm a C programmer, have been for many years. A C programmer for decades.

Matz: C++, well, I've programmed in it, but it's kind of like, "Please spare me," so I prefer C.

Matz: And, um, from a specification perspective, Lisp">SmallTalk are, well, like seniors to me. There's a lot I can reference from them. They're like a treasure trove of ideas. If anything, I often go to them, get ideas, and incorporate them into Ruby.

Chikahiro: Well, in the past, Ruby was called MatzLisp.

Matz: It was often said, yes.

Matz: Apparently, it was a joke from some event around 2005. It seems to have come up at an after-party for some event. Well, it's a parody. There used to be a LISP called Maclisp.

Matz: And apparently, MatzLisp is a play on that.

Chikahiro: Oh, is that so.

Chikahiro: Steven (Baker), the creator of RSpec, who is here this time, gave a keynote at the previous EuRuKo in Lithuania. He casually mentioned, though it wasn't his main point, something like, "There are only two perfect languages in this world: Lisp and SmallTalk.".

Chikahiro: Now, you (Matz) are saying something similar, in terms of language specification.

Matz: That's true. SmallTalk, well, I don't think it's perfect, but it's a language worthy of respect, for me.

Chikahiro: Wow, I've never touched them. I'm a Ruby child, raised on Ruby.

Chikahiro: Ah, this is great, I want to talk more about various things, unrelated to the Overseas Migration Channel (laughs).

Matz: Aha, the talk about overseas migration was only a little bit at the beginning (laughs).

Chikahiro: That's right (laughs).

Matz: We talked a bit about English, I think, but after that, it was all about Ruby.

Chikahiro: That's right. Well, let's try to force it, force it back at the end (laughs).

Matz: Okay, let's bring it back, back to the topic of English!

Chikahiro: That's right (laughs). So, so, up until now, this Ruby...


Top

Back to Home

by Chikahiro Tokoro