I attended RubyConf in San Francisco last month,
which is an annual conference about the Ruby programming language. Yukihiro Matsumoto
(“Matz”), the creator of the Ruby language, gave the keynote
about the 0.8 true language: a language can’t be good for everyone and every
purpose, but we can strive to make it good for 80% of what is needed in a programming
language. He talked about domain-specific languages (DSLs) and, while he was talking
about programming DSLs, it struck me that we, as humans, commonly invent domain-specific
languages that transcend our social cultures, instead encoding a culture that crosses
national and linguistic boundaries.
Yuki Sonoda organized a series of talks called East meets West with
presentations by Japanese Rubyists. In her talk description, she makes the case for our
bridging the Japanese-English language gap between Ruby programmers:
Ruby needs your help. There are many issues. But there are too few developers. 92% of
Ruby’s development in this 3 years were done by only 10 developers. 73% were
done by only 5 developers. Ruby seems to be a cathedral project rather than a bazaar
project.
There must be many reasons for this situation. I think a large reason is the
language barrier between English-speaking Ruby world and Japanese-speaking Ruby
world. So I will talk about how to solve this problem.
All of the top 10 committers speak Japanese and live in Japan. So they discuss in
Japanese. Some of the most important decisions are done in these discussions. But
this means that most of Rubyists, who do not speak Japanese, can not understand the
discussions. For non-Japanese speakers, there has been no way to understand the most
important issues in the development of Ruby.
I want to share the current issues of Ruby. I also want to request help from
Rubyists who don’t speak Japanese.
There were two “lightning” tech talks given by Japanese Rubyist who each said
that it was their first English language presentation. I started to think about what
kind of vocabulary I would need to give a tech talk in Japanese or even just to
understand one.
I approached Matz after his keynote to ask if he would record some phrases about the Ruby
language in Japanese. He agreed, and I set out to capture a dozen or so phrases that
would never appear in a phrasebook and might be interesting to say to a Japanese Rubyist
at a conference.
I approached random people in the hallways and during lunch and asked questions like: if
you would to use the word “closure” in a sentence, what would it be? Jim
Weirich came up with my favorite:
“Closures may be used to implement objects, and object may be used to implement
closures.” Sarah Mei wondered how to
read code aloud in Japanese — when would you use a Japanese word and when is the
code pronounced phonetically. She guessed correctly that you would say
“object.method” phonetically as obujekuto
dotto mesoddo. I was intrigued that what Ruby calls the “shovel”
operator (<<) is phonetically derived from the bitshift operator which has the
same symbolic representation in C and Java, and is thus translated as bitto
shifuto.
You can see all of the phrases that Matz recorded on the home page. One of these days, I will
make it so there is a direct link. If you program in Ruby and speak English or Japanese,
I’d be interested in knowing if there domain-specific phrases you would like to be
able to say. I wonder if I learned enough “code” words along with some basic
Japanese whether I could actually understand a Ruby Kaigi talk even before learning how
to converse in Japanese.
I wish I remembered everyone’s names who suggested phrases. If you read this,
please comment so that I can say thanks! and many thanks to the Japanese engineer who
translated the phrases for me and her colleagues who helped! In my zealous pursuit of my
goal, I neglected to keep track of everyone who helped me along the way. Thank you all.