2012年5月11日金曜日

Japanese for Programmers

 

You too can find work as a programmer in Japan!

Programming and software development is one of the few fields where non-Japanese can find great jobs in Japan. But in order to work in Japan, it is essential to learn the Japanese language. Especially, one must know the lingo used in the field where one is working -- namely software!

For this purpose, I have gathered notes during my four years working in the Japanese mobile software industry, from real business and technical conversations, e-mails, and countless software specifications. All material on this page comes from real-world usage by Japanese native speakers. Of course, I have edited it a little to not reveal any business secrets. :)
 

Essential Japanese programming vocabulary

These words are core to our profession as software developers. Let's memorize these first before moving on to the heavier stuff.

�数 (hensū) variable

Related words:

  • 割り当てる (wariateru) to assign

Useful derivatives:

  • �境�数 (kankyō hensū) environment variable
  • 外部�数 (gaibu hensū) external variable
  • 共用�数 (kyōyō hensū) shared variable
  • 局所�数 (kyokusho hensū) local variable
  • グロ�バル�数 (gurōbaru hensū) global variable
  • 静的�数 (seiteki hensū) static variable
  • 定��み�数 (teigi-sumi hensū) built-in/predefined variable
  • �数名 (hensū-mei) variable name.
�数 (kansū) function

Related words:

  • 呼び出す (yobidasu) to call (also just 呼ぶ (yobu))
  • 引数 (insū/hikisū) argument (i.e. to a function)
  • 返却� (henkyakuchi) return value
    (Also �り� (modori-chi))

Useful derivatives:

  • 再��数 (saiki kansū) recursive function
    (再� (saiki) in itself means recursion, and 末尾再� (matsubi saiki) is tail recursion)
  • 定��み�数 (teigi-sumi kansū) predefined function
  • メンバ��数 (membā kansū) member function (in C++ or Java, for instance)
  • �数呼び出し (kansū yobidashi) function call
  • �数名 (kansū-mei) function name
  • ��する (fukki suru) to return
メモリ (memori) memory, and the stuff you can do with it

Related words:

  • �保する (kakuho suru) to allocate (memory/resource)
  • �得する (kakutoku suru) to acquire (memory/resource)
  • 解放する (kaihō suru) to release/free (memory/resoruce)
  • 漏れ (more) a leak (watch out for these!)
    (Also メモリリ�ク (memori rīku) memory leak)
More useful Japanese programming words

  • 列� (rekkyo) enumeration
  • 配列 (hairetsu) array
  • 文字配列 (moji hairetsu) (character) string
  • �述(子) (kijutsu(shi)) descriptor (e.g. file descriptor/handle)
  • 演算 (enzan) operation (e.g. 浮�小数点演算 (fudōshōsūten'enzan) floating point operation)
  • 差分 (sabun) a diff
  • 例外 (reigai) exception
    (例外を投げる (reigai o nageru) throw an exception)
  • ホゲ (hoge) foobar

Improve your business Japanese!

Gain an advantage by knowing essential business lingo before you're put in front of the customer. This is the best book I know for studying the language used in sales/technical negotiation situations.

Expressions for communicating technical issues

This is a collection of useful expressions for communication technical issues in Japanese to clients, customers, and superiors. Memorize these expressions and then adapt them to the situation you're in, and you will be able to communicate effectively.

Bugs and corrections

  • 本修正は、次回リリ�スに含まれる予定です。
    (Hon-shūsei wa jikai-rirīsu ni fukumareru yotei desu.)
    This modification/fix will be included in next release.

  • 技�的には可能ですが、かなりのリスクを伴う仕��更となりますので、スケジュ�ルの�点からは�理だと思います。
    (Gijutsu-teki ni wa kanō desu ga, kanari no risuku wo tomonau shiyō-henkō to narimasu node, sukejūru no shitek kara wa muri da to omoimasu.)
    This is technically possible, but it would mean a change to the specification that involves quite a risk, so from a scheduling viewpoint it is not possible.

  • ��の原因が特定できました。弊社�にて修正いたします。
    (Mondai no gen'in ga tokutei dekimashita. Heisha-gawa ni te shūsei itashimasu.)
    The cause of the problem has been determined. We will fix it on our side.

  • 本件、弊社�品の仕�となります。
    (Honken, heisha seihin no shiyō to narimasu.)
    This issue is according to our specification.

Software releases

  • 追加された�能、既知の不具合、未�装の�能につきましては、同�のrelease-note.txtをご参照ください。
    (Tsuika sareta kinō, kichi no fuguai, mi-jissō no kinō ni tsukimashite wa, dōkon no release-note.txt o go-sanshō kudasai.)
    Please refer to the included release-note.txt regarding added features, known bugs, and not yet implemented features.

  • ZIPファイルには次のものが含まれています。
    (Zip-fairu ni wa tsugi no mono ga fukumareteimasu.)
    The following items are included in the zip file.

  • ご不明点などありましたらお手数ですがご��ください。
    (Go-fumeiten nado arimashitara, o-tesū desu ga go-renraku kudasai.)
    If there are any points that are not clear, sorry to bother you but please get in contact.

  • 弊社にてこちらをサポ�トするにはかなり��を要するため、今回のリリ�スにて��することは�しい状�です。
    (Heisha ni te kochira o sapōto suru ni ha kanari jikan o yō suru tame, konkai no rirīsu ni te taiō suru koto ha muzukashii jōkyō desu.)
    Since supporting this requires quite some time, the circumstances are such that supporting it in this release would be hard.

Need to improve your kaisha communication?

This is absolutely essential if you're working in a Japanese company (kaisha), but even if you're in a foreign-held business (gaishikei) you'll often have to deal with everyday Japanese office dues, such as answering and forwarding the phone, setting up meetings, and all the other practical ordeals. (Yeah, all we really wanna do is program, right? But sometimes stuff gets in the way...)

More useful Japanese expressions

These expressions come in handy especially when communicating with customers. In Japanese, you can essentially never be too polite!

Expressing thanks, courtesy, and apology

  • お忙しい中�料を送付いただきましてありがとうございます。
    (O-isogashii naka shiryō o sōfu itadakimashite arigatō gozaimasu.)
    Thank you for sending the materials while we know you are busy.

  • 初めてご��させていただきます。よろしくお�いたします。
    (Hajimete no go-renraku sasete itadakimasu. Yoroshiku onegai itashimasu.)
    This is the first time I contact you. I look forward to working with you.

  • お忙しい中ご回答いただきましてありがとうございます。
    (O-isogashii naka go-kaitō itadakimashite arigatō gozaimasu.)
    Thank you for providing us with an answer while you're surely busy.

  • お�束していたご��が�くなり大�申し�ございません。
    (O-yakusoku shite ita go-renraku ga osoku nari taihen mōshiwake gozaimasen.)
    I am terribly sorry for the delay in the promised communication.

  • ご了承�き、ありがとうございます。
    (Go-ryōshō itadaki, arigatō gozaimasu.)
    Thank you for understanding.

Asking for or providing follow-up

  • またご���き、こちらで��がないかご���けますでしょうか?

    (Mata go-kakunin itadaki, kochira de mondai ga nai ka go-renraku itadakemasu deshō ka?)
    Could we ask you to reconfirm and then inform us whether there are no problems here?

  • �明が不十分でしたら、ご指摘お�いいたします。
    (Fumei ka fujūbun deshitara, go-shiteki onegai itashimasu.)
    If there's anything unclear or unsatisfactory, please indicate it to us.

  • 差分情�がいただけるのであれば�きたいという要望を以前から致しておりますが、ご��をお�い致します。
    (Sabun jōhō ga itadakeru no de areba itadakitai to iu yōbō o izen kara itashite orimasu ga, go-kento o onegai itashimasu.)
    We have made the request before to receive information regarding changes, so please consider it.

  • �在弊社内で解析を行っておりますが、まだ��に至っておりません。アップデ�トあり次第、ご��させていただきます。
    (Genzai heisha-nai de kaiseki o okonatte orimasu ga, mada ketsuron ni itatte orimasen. Appudēto ari shidai, go-renraku sasete itadakimasu.)
    An analysis is currently being conducted in our company, but we have not yet arrived at a conclusion. We will contact you as soon as there is an update.

Expressing cooperation

  • ご提案いただいた日程で�めたいと思います。
    (Go-teian itadaita nittei de susumetai to omoimasu.)
    We would like to proceed according to your suggested schedule.

  • ただ今��中でございますが、いつごろまでに回答ができそうか��、ご��差し上げます。
    (Tada ima chōsa-chū de gozaimasu ga, itsu-goro made ni kaitō ga dekisō ka kakunin, go-renraku sashiagemasu.)
    We are currently investigating it, and we will contact you regarding when it looks like we can provide an answer.

  • 弊社都合ばかりで申し�ございません。
    (Heisha tsugō bakari de mōshiwake gozaimasen.)
    I am sorry for being selfish all the time.

  • ご多忙中とは思いますが、��をよろしくお�いいたします。
    (Go-tabō-chū to wa omoimasu ga, chōsa o yoroshiku onegai itashimasu.)
    I think you are very busy right now, but please investigate it.

Kanji literacy is essential

Not being able to read is called illiteracy - and it's not for you!

Literacy is an absolutely essential part of being fluent in any language. And guess what -literacy in Japanese means knowing your kanji! I know that some people think learning kanji is painfully boring, but for me it's always been a fun and interesting challenge. Learning kanji thoroughly really pays off in advancing your knowledge of Japanese. Fortunately, there are some simple tips and tricks you can utilize to learn kanji quickly, and of course some really great books:
 

A look at a software specification

This is an excerpt from a real Japanese software specification, just somewhat anonymized, but the wording is untouched. Have a look and see how much you understand. Below is an explanation of the content.



A file read interface specification

So this is a specification for the function IFile_read, part of the IFile interface. There are 5 subheaders: �明 (setsumei) - explanation, プロトタイプ (purototaipu) - prototype, i.e. the C declaration for the function, パラメ�タ (paramēta) - parameters to the function, �り� (modori-chi) - return values, and コメント (komento) - comments. Pretty straight-forward stuff, huh?

The description says that this function reads out data from a file pointer to the target file. It also adds that if the this function (本�数) returns EWOULDBLOCK, then the device should be activated by running IFile_acquire.

The comment section

The comment section begins with a note on the buffer size. It says that when this function is executed (本�数�行� (hon-kansū jikkō-ji)), the application (アプリ (apuri)) must specify the size of pBuf in pBufSize. When the function returns (�数��� (kansū fukki-ji)), the size of data actually read in (��に�み�まれたサイズ (jissai ni yomikomareta saizu)) is stored (格� (kakunō)) in pBufSize.

The last bit of the comment section deals with how to detect that the end of file has been reached (ファイル�端まで�みきったかどうかの判断方法 (fairu-shūtan made yomikitta ka dō ka no handan-hōhō)). When this is the case, the following requirement/condition (条件 (jōken)) holds: The return value of this function (本�数の�り� (hon-kansū no modori-chi)) is SUCCESS, and pBufSize is 0. The comment section ends with a note that not being able to read the whole specified buffer size (指定したバッファサイズ未�しか�み�めなかったこと (shitei shita baffa-saizu miman shika yomikomenakatta koto)) and having read until the end of the file are not equivalent (等� (tōka)). The last sentense says that this is for performance reasons (パフォ�マンス等の理由から (pafōmansu nado no riyū kara)), after a fixed time (一定��後 (ittei jikan-go)), the function may return.

New technical vocabulary used

  • �象 (taishō) target, object (of something), subject (of something)
  • �み出す (yomidasu) to read out (data)
  • 有�化 (yūkō-ka) to make effective/available
  • �み取る (yomitoru) to read in (data)
  • 格� (kakunō) storage (especially in computer memory)
  • �行 (jikkō) execute (function, program, etc)
  • 不正 (fusei) invalid (parameter, etc)
  • 指定する (shitei suru) to specify (a value, parameter, setting, etc)
  • 状� (jōtai) state (of things)
  • 外部メモリ (gaibu memori) external memory
  • 未�入 (mi-sōnyū) not inserted
  • アプリ (apuri) application (short for of アプリケ�ション (apurikēshon))

0 件のコメント:

コメントを投稿