Speak Ruby in Japanese

I’ve studied Japanese on and off for more than ten years – mostly “off.” I took a year of language when I was in college, but since then it’s just been periodic classes at Soko Gakuen in San Francisco.

I managed to pass the JLPT level 3 a few years ago, so in Japan last month, I was decent at ordering food and navigating the subway. But I quickly discovered that I couldn’t really talk to another programmer. None of my classes even taught me how to say “programmer,” let alone “code,” “object,” “method,” “development environment”…

@sarahmei, @t_wada, @sakuro (photo by Lee Lundrigan)

Dictionaries would normally be my next recourse, but it’s pretty hard to look this stuff up. As in the US, programmer culture in Japan has its own slang. But I had a chance to pair with some Japanese devs at the Pair Programming Cultural Exchange that @t_wada and I ran at RubyKaigi (see left), so I picked up a little bit. And since I’ve been back, I’ve been translating technical articles for fun. (What else would you do on a 12-hour flight?)

As a result, a lot of this list comes from my notes. I also added words I found in the RubyKaigi Twitter stream, Sarah Allen’s blog, and Mightyverse’s pair programming phrases, among other locations. Any errors are, of course, my own.

The list is short – there are many more things I’d like to know how to say. And I guessed at the right katakana for some of the loan words. So: please send additions and corrections[*], kkthx! I’ll add anything vaguely technical to the list.

I hope it provokes more cross-language Ruby discussion.

English Kanji Kana Romaji
block ブロック burokku
blog ブログ burogu
cache キャッシュ kyasshu
character 文字 もじ moji
code コード koudo
core library コアライブラリ koa raiburari
developer 開発者 かいはつしゃ kaihatsusha
development 開発 かいはつ kaihatsu
development environment 開発環境 かいはつかんきょう kaihatsu kankyou
diary (often used in place of blog) 日記 にっき nikki
digit 数字 すうじ suuji
dot (as in foo.bar) ドット dotto
expected failure (of a test) 予想通りの失敗 よそうどおりのしっぱい yosoudoori no shippai
feature 機能 きのう kinou
flexible 柔軟 じゅうなん juunan
full-width (as in character) 全角 ぜんかく zenkaku
global (as in variable) グローバル guroubaru
hashrocket ハッシュロ ケット hasshuroketto
implementation 実装 じっそう jissou
internal structure 内部構造 ないぶこうぞう naibu kouzou
latest 最新 さいしん saishin
method (on an object) メソッド mesoddo
modification 変更 へんこう henkou
multibyte (as in character) 多バイト たバイト tabaito
multibyte (as in character) マルチバイト maruchibaito
object オブジェクト obujekuto
plugin プラグイン puraguin
programmer プローグラーマ purouguraama
refactoring リファクタリング rifakutaringu
refactoring 改善 かいぜん kaizen
runtime ランタイム rantaimu
spec スペック supekku
statement ステートメント suteetomento
string 文字列 もじれつ mojiretsu
test テスト tesuto
test framework テストフレームワーク tesuto fureemuwaaku
threadsafe スレッドセーフ sureddoseefu
tool ツール tsuuru
tutorial チュートリアル chuutoriaru
ugly (as in code) かっこ悪い かっこわるい kakko warui
usage 使い つかい tsukai
variable 変数 へんすう hensuu

[*] ありがとう:

  • @threedaymonk for a correction to multibyte digit.
  • Nobuyoshi Nakada for corrections to variable and multibyte character/digit, and addition of full-width character/digit.
  • @boblet and karmag for a correction to development environment.

16 comments to Speak Ruby in Japanese

  • Wow, impressed by some english to japanese word translations like the word Kaizen for Refactoring.

    Wikipedia:
    http://en.wikipedia.org/wiki/Kaizen
    http://en.wikipedia.org/wiki/Refactoring

    So keep-it-dry it’s the japanese programmer Kaizen? fun! :)

  • Erm I should’ve said:
    keep-it-dry it’s one of japanese programmer Kaizens? could you say that?

  • Nobuyoshi Nakada

    “multibyte” is “多バイト/ta baito” or “マルチバイト/maruti baito”, and “全角/zenkaku” is “fullwidth”.
    These two words are different concepts.
    And “variable” is “hensuu”, not “hensou”, which means “disguise”.

    BTW, “r” in Japanese differs from “r” and “l” in English,
    and the vowel at the end of a word often is not pronounced clearly.

  • @Francesco, I didn’t know kaizen was also a business concept in English! Thanks. Maybe you could say keep-it-dry is part of kaizen. I think of it as “always improving.”

    @Nobuyoshi, thanks! I’ve added your corrections.

  • Thanks for the mini-tech-dic!! As you said It’s kind of difficult to find this words and most japanese teachers don’t know tech-related words.

  • Oh, this is neat. But unless the WWWJDIC is lying to me, there seems to be a typo in “development environment”; it should say “kankyou” and not “kenkyou” for 環境.

  • @Hiro If you hear of any more, let me know and I’ll add them. :)
    @karmag Thank you! Updated.

  • Patrick McKenzue

    Digit is usually 桁 (けた), typically as a counter. 数字 is a number. Programmer is written a few ways but I think プログラマー is more common than your alternative, My favorite not on the list is bug 不具合 (ふぐあい)

  • Fred Almeida

    Nice post. I use this everyday but never thought about it before this. I wonder how I can add to this.
    Why not put this list on Github?

  • I have heard about that before, about “refactoring” meaning “kaizen” in Japanese, which makes perfect sense to me as “kaizen” means simply “continuous improvement”. And at the same time it is a Lean concept, derived from Dr. W. Edward Deming’s PDCA cycle (Plan, Do, Check, Act) . Every modern process we know today that contains a PDCA-like cycle (such as Scrum’s sprints, for instance) derives from the same concept of continuous improvement.

  • Excellent list Sarah! Here’s a few from my stash:

    統合開発環境 – とうごうかいはつかんきょう – Integrated Development Environment
    ベンチマーク – Benchmark
    動的再コンパイル – どうてきさいコンパイル – Dynamically Recompile
    出力 – しゅつりょく – Output
    入力 – にゅうりょく – Input

  • Haha that is a bit funny. I really like japanese culture. I hope someday I’ll visit that beautiful country.

  • sagara

    A bit late, but a few others:

    kanji kana meaning
    半角 はんかく half-width char (compare with 全角)
    名前空間 なまえくうかん namespace
    関数 かんすう a function
    関数型 かんすうがた functional (as in a functional programming language)
    言語 げんご a (programming) language: eg 関数型言語: a function programming language
    配列 はいれつ an array

    Disclaimer: I’ve picked these up in random places, so I’m not sure if they’re the “preferred” words for some of these things. I think I first saw some words in the title for the japanese ed of Real World Haskell and ended up finding a few more afterwards. Some of these have other meanings but I’ve stuck to the programming-related ones.

  • Nick Palevsky

    Great list, and the columns for Kanji, Kana and Romaji are very useful. But I’d actually like to see the list further divided into those terms that end up as katakana and those that end up as either kanji or hiragana.

  • Cool indeed. Need to learn some of these words. It could be useful in future.