Summarized using AI

Keynote: Ruby Everywhere

Yukihiro "Matz" Matsumoto • September 29, 2011 • New Orleans, Louisiana • Keynote

In the keynote speech titled "Ruby Everywhere" at RubyConf 2011, Yukihiro "Matz" Matsumoto, the creator of the Ruby programming language, discusses the significance of Ruby in the software development landscape and its evolution. The talk highlights Ruby's impact not only on programming but also on the developer community and industry standards.

Key Points:
- Background and Introduction: Matz begins by sharing his nervousness at keynote addresses but emphasizes the importance of the event and Ruby's role in the programming world.
- Milestones in Ruby Development: He reflects on the history of Ruby conferences, marking the 2011 event as the 11th Ruby conference, celebrating a decade of the community's growth.
- Matz's New Role: Matz shares that he now holds the title of Chief Architect at Heroku, following the company’s acquisition of his previous organization. He discusses the power of Ruby as a language suited for cloud computing, stating that Salesforce views it as a fundamental technology for their operations.
- Community and Contributions: He announces the hiring of a full-time committer for Ruby development, highlighting the importance of support and contributions from the community in accelerating Ruby's evolution.
- Standardization Efforts: Matz discusses ongoing efforts to establish an official public standard for Ruby, aiming for ISO recognition. He acknowledges the challenges but believes it will increase Ruby's adoption in conservative corporate environments, particularly in Japan.
- Technological Advancements: The speech touches on Ruby's increasing presence across various domains, including mobile, cloud, and even robotics. Matz expresses enthusiasm about enhancing Ruby's applicability to new devices and environments.
- Future Directions: He concludes by emphasizing the philosophy of Ruby regarding programmer happiness and the aim to empower developers with choices in programming languages. Matz envisions a future where Ruby can be a viable option across all realms of technology development.

The overarching conclusion of the keynote is that Ruby, with its elegant syntax and supportive community, continues to influence the programming landscape positively and holds promise for broader application in emerging technologies.

Keynote: Ruby Everywhere
Yukihiro "Matz" Matsumoto • New Orleans, Louisiana • Keynote

Date: September 29, 2011
Published: December 12, 2011
Announced: unknown

Keynote speech by the creator of the Ruby (Programming Language) Yukihiro "Matz" Matsumoto.

RubyConf 2011

00:00:17.080 I would like to introduce the creator of the Ruby language
00:00:24.960 mattz good morning yeah every year I got
00:00:32.559 nervous okay it said that popo is very
00:00:40.640 important and TPO in TPO is occasion here's
00:00:47.079 keynote the according to the dictionary the definition of the keynote is a speech as a the political convention
00:00:54.440 that present important issues principles policies Etc
00:01:01.239 give me a break uh I am a m
00:01:08.159 programmer who invented the language actually it's a great
00:01:15.080 language but
00:01:20.520 accidentally but but that Li so let's start the
00:01:26.840 keynote so keynote has several aspect good good part in bcast the good part of
00:01:33.119 the keynote is the first at the conference I can enjoy rest of the
00:01:38.960 conference yeah the bad part is the first of the
00:01:45.000 conference I have less time to prepare so you have to
00:01:50.320 endure okay the p in the TPO is place here in New Orleans and I came
00:01:58.640 from the city named which is in Japan of course my hometown and you know that New
00:02:07.600 Orleans and city of Matsu is sister cities what a
00:02:13.440 coincidence and any locals among you okay thank you okay next week mayor
00:02:21.760 of m city is visiting this the New Orleans so I I asked him from him to say
00:02:28.280 hi from him so say good
00:02:35.120 rigor okay T and TPO is time in the year
00:02:42.000 20111 20 2011 and then we have we are having the
00:02:49.400 11th Ruby conference the first Ruby Conference was held and October 12 from
00:02:56.080 October 12 to 14th in 2011 right after 91 in Tampa Florida and who among you
00:03:05.200 guys attended first count here there of course
00:03:10.319 me and so it's 11th Ruby conference we have
00:03:16.680 11 and uh it's first Ruby comp in the second decade or you can say that it's
00:03:24.799 10th anniversary of Ru history of the Ruby conference so it's a good has to be
00:03:30.280 be the world and uh year 2011 this year I got a
00:03:40.239 new position in
00:03:49.280 her do you see that did see that my position Chief Architect
00:03:56.280 Ruby okay let me explain the background of this new
00:04:01.319 position and uh the end of the last year the salesforce.com acquires her.com
00:04:09.439 what salesforce.com I've heard that company but you know it's kind of like a uh
00:04:17.239 Enterprise something so I considered that company
00:04:23.160 was not nothing related to us the open souls
00:04:28.400 and the the web and uh yeah
00:04:33.600 Ruby but but in the announcement of the AC
00:04:39.080 acquis acquisition the mark Beno was who is the the CEO of the the Salesforce
00:04:44.840 company.com salesforce.com and he said Ruby is the langage the Cloud 2 by by his definition
00:04:52.639 Cloud 2 is the next Generation cloud or something like
00:04:57.680 that well yeah it's I feel very I I felt very good with
00:05:04.560 you know get you know to be said good about my language
00:05:12.400 and then six months later the salesforce.com made a the alliance with
00:05:18.720 the Toyota company it is called the project is named Toyota friend which is
00:05:24.600 kind of like a the socialized the
00:05:30.400 uh automated car or something like that and then he visit Japan to announce
00:05:37.240 that kind of that Alliance and in last May and I met him in
00:05:45.840 person and he he invite they invited uh me to to attend attend and the guest
00:05:55.360 speaker for the the development conference and uh when we when we met
00:06:01.720 the mark Ben said Ru is great yeah I know of
00:06:10.199 course and he said it's kind of surprising for me but I wanted to help
00:06:16.039 Ruby just because you know the Ruby the Salesforce is the the company highly
00:06:21.520 depends on cloud and the Ruby is very good at the web stuff and said crowd so
00:06:28.800 he wanted to to help Ruby to to encourage and enhance the the industry
00:06:35.759 of the cloud so so they wanted to help me as the
00:06:42.080 language of cloud age so that's good things and and he
00:06:48.000 said I want to hire you
00:06:54.840 what and I I consider that that it's kind of the joke or the fling or
00:07:00.319 something like that but you know the next week the the guy guy in the
00:07:07.240 salesforce.com contact me and the pro proven there is very serious and then I
00:07:14.120 got a title from Heroku and a payment from sales.com
00:07:21.560 I chose the the title of the chief Artic ruie as the least business is title you
00:07:29.120 know they they offered me as some kind of that Chief technology officer or something like that
00:07:35.440 but okay give me a break I don't want do any business
00:07:41.720 stuff so as a chief active Ruby in her.com I will keep working on rovie
00:07:48.240 call devopment as I have done for a long time
00:07:53.759 and didn't ask me anything new ex attending their dream Force conference
00:08:02.479 and I'm sorry last month I attend the dream Force conference in the mosone
00:08:08.440 center and 40,000 attendees it is quite
00:08:14.120 different world I saw quite different world in the the software industry but it's quite
00:08:20.039 impressive but but you know I have been working full-time for a long time last
00:08:26.159 this for more than 10 years I was hired by the company named NCL with the the
00:08:34.080 official name is a network applied communication laboratory which is so long we call it NCL or n
00:08:42.959 love and so my financial situation have been
00:08:49.519 improved by dual income but hiring me do not accelerate development that much you
00:08:57.640 know I'm I'm working full time I I I don't I don't have any more than 24 hours per day
00:09:04.720 so but we want to accelerate with development
00:09:11.320 we want to so we are going to form a team of
00:09:17.360 fulltime communities so as a as beginning I hired
00:09:24.040 we hired a fulltime committer nooshi nakara which is which we call
00:09:29.880 KN and uh also known as cast
00:09:47.360 monster and yeah he has worked for Ruby so so
00:09:54.399 much in the past history for last five six six years and the as a fance
00:10:01.399 programmer he works his day job he he had worked his job and he work he
00:10:09.120 contributed Ruby for a long time and actually he you know sometimes he you
00:10:16.399 know emphasize too much on Ruby development and you know his situation
00:10:23.560 might be sometimes trouish trouish so the being high tired by the Heroku his
00:10:32.600 the situation become much better I believe and I I think he does not need to worry
00:10:41.120 about and especially his family lovely wife and daughters do not
00:10:47.760 have to worry about the financial situation any longer and then he's been
00:10:53.279 the number one committer for a long time see that glove the black one is mine my
00:10:58.480 contribution a number of PES but in the year
00:11:04.040 2008 or something he sured
00:11:09.079 me so he he contributed more than more than
00:11:14.680 myself and the recent months the red line on the top is is his contribution
00:11:22.360 and mine is somewhere in the bottom so yeah his contribution is so
00:11:30.639 great so he's he's number one so I think you you can expect more passes from now
00:11:37.399 so he fixed every bug in one night he uh he must be here could you stand
00:11:45.480 could you stand up where where he is he's
00:11:54.760 sleeping he's late
00:12:19.560 hand and I think more to come if budget allows okay that
00:12:24.959 business but I welcome more companies to hire Co commun just because you know I I
00:12:30.480 don't want to hero.com to give impression that the the company is
00:12:36.320 taking over the community of development but every other player like
00:12:42.399 a many Ruby there are so many Ruby companies and they if the budget allows
00:12:49.279 if budget allows so many companies including herok or other
00:12:57.160 companies higher uh Coors and then then if possible allow them to work full-time
00:13:04.600 on the Ruby development to accelate development and the uh evolution of the
00:13:12.720 language I've already contacted engineer and then yeah and and they they
00:13:21.079 said they they considered it very positively so I'm expecting
00:13:29.240 okay next Topic in the year
00:13:34.680 2011 uh we have been working for on the standard of the language for last three
00:13:40.800 years and this year we formed the resubmitted and then we established the
00:13:46.760 the public open public standard in J Japanese industry standard which is
00:13:53.079 named the jsx 3 17 which is officially
00:13:59.639 publicly available standard of the language and then since the J is the the
00:14:05.959 fast track Organization for the the iso so we submit we we have already
00:14:11.199 submitted it and then recently we had a board in the iso and then the the result
00:14:18.680 was the 20 versus zero 24 and zero against
00:14:24.279 who and then but we got few comments so we have to update this
00:14:29.560 update the stand the description and then resubmitted so if everything works
00:14:36.160 fine you know it's kind of political in know in know standard definition but if
00:14:41.880 everything goes goes right so in in the year 2012 we
00:14:50.199 will have the iso ring you know that whoa
00:15:01.920 yet the the standard describes the subset of the language just because you know the that the when we start the the
00:15:10.959 definition of the the language as a standard so we have the we we were still
00:15:16.720 in the the 18 H one8 H so it's
00:15:22.079 quite difficult for us to choose one nine as a standard body so so it should
00:15:28.079 be the 18 compatible to both 18 and one n the
00:15:35.040 but you know the difference between 18 and one is so huge so we in in the
00:15:41.199 standard description we we have have to lead so many uh implementation defin
00:15:50.519 things but but you know it's just a beginning and the the standard definition should
00:15:58.519 be the platform independent so we we don't describe we
00:16:03.639 don't Define we didn't Define any fork or threads or something so so J Ruby
00:16:10.480 rubinus Ruby sh Ruby can so that can conform the the standard but it's still
00:16:18.800 incomplete so we are working on the newer version of the the standard so and
00:16:26.040 then we expect better coverage of the the specification and uh we we are
00:16:32.160 planning to move to 1 n or 20 whatever it we
00:16:38.800 call and then the reason behind the standard is that the mostly the business
00:16:44.759 reliability you know recent years the Japanese companies started accepting Ruby finally but you know the Japanese
00:16:53.800 IT industry is very conservative comparing to the you know the startup company in in the
00:17:00.959 states that they are dominated by the huge companies like the NTI or fu2 or
00:17:08.720 many big companies but they are very conservative and very late to take
00:17:17.559 risk but after seeing the huge success and Ruby and rubyan rails so they are
00:17:25.079 gradually accepting rubyan rails in Japanese ID Industries but since they
00:17:30.480 are very conservative they very nervous about choosing uh using new technology
00:17:37.200 so so it's the standard the the original motivation of the defining standard is
00:17:43.440 the reducing that kind the the anxiety for the executives in the huge companies
00:17:50.919 especially in Japan but but also it helps the autonom
00:17:57.440 implementations like Ruby J Ruby and Venus and M so many other the
00:18:04.200 alternative implementations we have Ruby spec as a the executable spec and and a
00:18:10.880 standard Ruby ISO Ruby for human reable spec so we we can work together to make
00:18:17.000 them better in in both ways okay next
00:18:23.960 topic the year 2011 the world has been take over the
00:18:35.679 machines it's it's kind joke but we have a lot of PCS among the world we have lot
00:18:42.240 of superc computers we have mobile phones we have game consoles everywhere and the recent
00:18:50.400 days the vehicles uh full of computers like a the modest vehicle has I don't
00:18:58.559 know five six the controllers in it and the pros which is you know this is
00:19:04.960 totally controlled by the computers and uh in the factories we are
00:19:10.039 the computer control the the the vehicles
00:19:15.400 uh the com combin with the the computer control
00:19:21.640 robots and uh we see robots in
00:19:26.720 home and we see human robots or even human more
00:19:34.480 humanik this this robot is developed by the the Japanese uh laboratory and to
00:19:40.960 look like to act as a super model computer Rob they are very
00:19:50.960 serious anyway it's all driven they are all driven by computers and the
00:19:56.520 computers need software the software ratio in systems increasing
00:20:02.640 very drastically and the software should be bu by us humans in programming
00:20:10.120 language there are so many programming language in the world but what we love most
00:20:16.799 is you know that
00:20:22.039 Ruby but what is Ruby what do
00:20:27.640 Ruby the Ruby is yeah Ruby not not the D je Ruby but this Ruby our Ruby is has
00:20:37.039 kind of M multiple definition the
00:20:42.640 Ruby has good in the syntax yeah it has good nice syntax the the program uh
00:20:51.400 appears simpler in Ruby but in fact the Ruby syntax is very complex though but
00:20:57.440 you know it does nice syntax but syntax is not the only part of the good aspect
00:21:02.559 of the Ruby language the Ruby the philosophy the ru philosophy is very
00:21:07.880 important so making programmers happier this is very fundamental philosophy and
00:21:15.240 this is very important for us this this is one of the reasons I we love Ruby but
00:21:22.120 it's not the only reason rby the library com along with
00:21:29.039 Ruby or gems so few years back we had
00:21:34.799 the we had been comp we we complained about the lack of libraries for the
00:21:41.720 language you know the PHP has that Library python has that Library PE has a
00:21:47.120 cpan but in these days we have Ruby jams we have I don't know
00:21:54.600 20,000 so many ruby gems so we don't have to worry about the lack of
00:21:59.799 libraries any longer and then last but not least it will be the
00:22:06.080 community the Ruby Community is so great so great I believe in you the community
00:22:12.600 I believe in you you I I believe in you to choose the best
00:22:18.679 technology I believe you to focus on the the effectiveness in programming or the
00:22:25.799 productivity in programming so as a whole
00:22:32.320 Ruby would like to help more developers so for example J Ruby yeah J
00:22:39.400 Ru is great just because you the Ruby for jav jbm platform so the
00:22:46.679 always if there were only C the there's
00:22:51.919 no way to reach the Java world but with jby the the Java people can use the
00:23:00.760 effectiveness or the productivity of the language or
00:23:06.520 robot Roboto is the the J report to the the Android platform so the you can run
00:23:15.360 the J Ruby on Android phones or Rose you know that Rose is the
00:23:22.600 platform to to build a the mobile phone application which is the kind of based
00:23:29.400 on the MDC model and very easy to write the the simple
00:23:35.600 uh not game but simp the simpler the mobile application on Android and iPhone
00:23:43.880 and iPad the black or other other devices so if if you write the the
00:23:54.480 application on one device you can Port it to the the other device very easily
00:24:00.400 so the they allow Ruby to to work on
00:24:05.840 mobile phones and uh yeah we of course we have original t then leading the community
00:24:12.760 and leading the technology and then we are soon to have the Ruby 193 the we the
00:24:20.080 we recently released the 193 release candidate one which is done by the yugui
00:24:26.440 she's a tremendous work for the the make the
00:24:31.799 193 it to to be the best release in the
00:24:38.679 the history of the Ruby
00:24:44.440 release well and uh I believe the key words for the future is the cloud and
00:24:50.279 mobile for croud we have many Technologies on top of Ruby like like
00:24:56.840 Heroku or engine so Engineers is so successful to to see
00:25:04.000 the BM in the in the office see Dr Nick's
00:25:10.919 face he's very glad to have her in their office but for
00:25:17.399 mobile like a small devices the digital appliances mobile phones Vehicles robots
00:25:25.840 so it's Ruby is not available for for
00:25:31.320 them so I'd like to address these fields yeah as Lua does now Lu is a
00:25:39.320 language from Brazil it's quite interesting programming language and
00:25:44.919 it's very strong in some some kind of eding field and the gaming field
00:25:51.399 so yeah I confess that I'm so Envy to the language
00:26:00.080 so so I started the M MB stands for the mass embeddable
00:26:05.919 minimal
00:26:11.919 implementation and the right BM as a call right VM I we uh I explained about
00:26:18.039 right VM last year and with minimum standard libraries embeddable cap
00:26:24.760 apis incremental zc which allows the soft times and it it has the F to generate
00:26:33.320 abstract syntax Tree in separately and the and Cent the module
00:26:40.559 to to convert the abstra syntax tree to bite code and the right VM to run by
00:26:48.640 code it has the 32bit instructions and the instructions are C
00:26:54.399 seizable so so that you can write the the uh converted compiled instructions
00:27:01.600 to binary files or C files I don't I don't I don't mean that it the compiles
00:27:08.360 the program to C but compiles the instructions in the C array in a
00:27:15.279 sequence of the numbers and it's inter WR in C+ C9
00:27:22.200 99 for all platform like Linux Windows
00:27:27.919 Mac OS Android iOS VX workx which The
00:27:33.039 Many Robots run iton or even non OS
00:27:41.000 platform as I explained last year the
00:27:46.519 difference this year it works
00:27:59.679 so I got to show you little quick demo uh yeah simple mod World
00:28:07.360 culation goes like this okay what is the most PO
00:28:20.399 is uh I got a small program to calculate the multiable
00:28:26.760 set and run on 1 a one n and
00:28:36.320 Emeral uh yeah but you know you don't have to read them they they I I'm going
00:28:42.159 to show you the the character the graph you re
00:28:50.760 see you want eight one is a little bit postive see that
00:28:58.159 see that okay uby goes like
00:29:13.559 again one n and mov oh look great
00:29:30.039 but I don't claim that M Ruby runs faster than 18 One n it's this in this
00:29:36.480 particular program the EM runs faster than one night but anyway it it
00:29:42.480 runs em is very young and it's very
00:29:47.880 small and it's weak yeah this program runs but the many
00:29:55.840 other program don't don't run just because it has so many
00:30:02.000 bugs but M has possibility huge possibility can you imagine that that we
00:30:10.679 can have the small Ruby interpreter in mobile devices or
00:30:16.960 robots the the Ruby to control robots or factory robots
00:30:22.840 for 10 with this Appliance these days digal
00:30:29.440 like high def TV is kind of like a PC it is CPU memory operating system AIO drive
00:30:36.320 and the g menu it's it's totally driven by software so the people in the the
00:30:45.600 appliance company the invest so much on developing
00:30:51.640 software in C or C++ but the the programmers in that in
00:30:58.360 the company hate to program C
00:31:04.000 C++ just just because you know they are so huge and they so complex but if they
00:31:11.440 can program in Ruby their life is should should be much
00:31:18.600 happier or games the gaming industry has
00:31:23.679 using lure or they sometimes create their own programming l language in half
00:31:30.720 big uh uh home blue programming language but
00:31:37.159 if the the real programming language or better programming language is available
00:31:43.120 they they should be very happy like they can use Ruby instead of
00:31:51.880 Rua what Ser side so in the Ser side if
00:31:59.279 the the the Ruby interpreter that uses less memory so it would allow allow the
00:32:07.360 more programs learned on server side so you can use the the Ruby you can use
00:32:13.320 Ruby in said NOS or JavaScript so it should be one big step
00:32:20.080 to rule the world so there's no perfect programming
00:32:27.360 language so I don't clim that Ruby is perfect but you know we like to provide
00:32:36.200 choices so I'm not expecting the the the the world to have the only two
00:32:43.639 programming language you know R but there
00:32:49.880 there they should be there should be uh programming language like Java Java
00:32:56.279 would not be vanished or okay they C++ would would not be
00:33:03.480 vanished and then okay even PHP would not be vanished but we like we like to provide
00:33:11.279 choices if they want it they can choose Ruby I'd like to have a world like
00:33:17.519 that so the in the real world or Cloud world we we have choices that everyone
00:33:25.159 in the world can choose Ruby if they wanted to if they really wanted to
00:33:30.519 unless uh some kind of pointy headed here pointy head boss force them to use
00:33:38.000 Java but you know but yeah they are free to
00:33:43.279 quit and but in the the mobile world or the
00:33:49.480 the client side or the some other field gaming field so so many pro programmers
00:33:56.919 has no ch Choice even if even when they
00:34:02.600 want they they have no freedom to choose Ruby so I'd like to provide them a
00:34:09.839 freedom to choose Ruby if they really want to and make the world
00:34:17.079 happier so and uh I I want to make them make
00:34:24.119 them make every programmer feels H feels happy I'll feel right
Explore all talks recorded at RubyConf 2011
+55