1
/
5

-Qiita記事Part.36-外国人エンジニアが日本語でプログラミングを勉強して困ったこと、「変数」から「糖衣構文」まで

こんにちは!ナイトレイインターン生の鈴木です。

こちらではナイトレイのエンジニアがどのようなことをしているか知っていただきたく、Qiitaに公開している記事をストーリーに載せています。

今回も前回に引き続きエンジニア アレックスさんの記事です!

デンマーク出身のエンジニアが日本でのプログラミングで困ること、言語の違いならではのエピソードが記されています。

少しでも私たちに興味を持ってくださった方は下に表示される募集記事もご覧ください↓↓

はじめに

ナイトレイに入社する前はほとんど英語でしかプログラミングの情報収集をしてきませんでした。今は日本語でプログラミングの勉強を続けており、プログラミング言語ではなく自然言語において予期しなかったトラブルに遭いました。

糖衣構文について

この間、会社の人とランチに行った時に、プログラミングすることにおいて英語と日本語の違いについてお話ししました。ある言葉は直訳として使われていて、ある言葉は英語のカタカナとして使われているのはなぜか、という話をしている時に「糖衣構文」という言葉が出てきました。

糖衣構文は、複雑な構文を読み書きやすくするためにプログラミング言語に導入されるものです。簡単な例を挙げますと、Python言語では「Method Chaining」(メソッドチェーン)という機能があります。

# メソッドチェーン無し
person.set_name("Alex")
person.set_age("29")
person.set_interest("Programming")

# メソッドチェーン有り
person.set_name("Alex").set_age("29").set_interest("Programming")

「Variable」が「変数」と、「Function」が「関数」と訳されるため、「Syntactic Sugar」が「糖衣構文」に直訳されることはおかしくないですね。

しかし、会社の人とこの話をしたところ、「糖衣構文」が前述の「変数」と「関数」と同じようにピンとこないらしくて、私はそれを少し不思議に思いました。私からしたら、「変数」と「糖衣構文」は同じぐらい複雑な言葉で、どっちかというと「糖衣構文」の方がピンと来ます。

でも、会社の人の理由を聞いたら、『「糖衣」という言葉だと聞いたことが無いため、「甘い」のイメージよりも先に「糖の衣とは?」みたいになってしまい「甘い」イメージとは結びつきづらくて、「簡単」「楽」な印象をあまり受けません。』とのことでした。

それを聞いて納得しました!糖衣構文の表す意味は砂糖のように甘くて「楽」なのに、「糖衣構文」という言葉自体は全く「楽」じゃありません!

問題例1:パス事件

パスという言葉を初めて耳にした時は直感的に「Pass」という意味で捉えました。それで5分間ぐらい混乱していたら、最終的にパスの表している意味が「Path」だと分かった瞬間、自分の頭が大丈夫かなと思いました。

開発用語では「Path」がウェブサイトのURLや、ファイルの場所を表します。その反面、「Pass」は「Pass an argument」という文脈で使われることが多いです。要するに、「関数に引数を渡す」の「渡す」に当たります。英語だと「Pass an argument to a function (method)」になります。

こういうふうに、英語の言葉がカタカナになると使い分けが難しくなることもあると個人的に感じます。慣れるしかないですね!

問題例2:どっちを使う?

日本語でプログラミングについて話す時は、日本語の直訳を使うか、元々英語のカタカナ化された言葉を使うかとなると、困ることになります。

「Return」という単語は日本語でそのまま「リターン」として使われていることもあれば、「Return」により返ってくる値を「返り値」と「戻り値」と言うこともあるよう。カタカナを使う時と日本語を使う時、しかも日本語の時は二つの言葉もあり、たまにconfusedになりがちです!ある意味、日本語でプログラミングについて話す時は英語と比較したら、よりカラフルに表現できるのではないかと思います(もし日本語と英語の使い分けが出来るようになりましたら…)。

逆に、英語の略語は覚えにくい?

上記は全て私の個人的の経験と考えを元にした話です。しかし、プログラミング言語のシンタックスは英語がベースとなっているので、日本語が母国語のエンジニアの同僚の視点を考えてみると、尊敬しかありません。

「char(character)」とか「env(environment)」など、プログラミング言語で英語の単語が略語として使われていることは少なくはないです。このGitHubページをご覧いただくとプログラミングの略語が非常に多く、英語話者からしても難しいです。

最後に

なるほど、一人で苦労しているわけではないようですね。私は日本語を覚えながらプログラミングも勉強していますが、同僚もプログラミング言語の英単語の学習や英語のドキュメントに取り組んでいるので、もっと頑張ろうと思いました!

採用から

私たちの会社、ナイトレイでは一緒に事業を盛り上げてくれるエンジニアを募集しています!
Web開発メンバー、GISエンジニア、サーバーサイドエンジニアなど複数ポジションで募集しているため、
「専攻分野を活かしたい」「横断的に様々な業務にチャレンジしてみたい」と言ったご要望も相談可能です!

✔︎ GISの使用経験があり、観光・まちづくり・交通・防災系などの分野でスキルを活かしてみたい
✔︎ ビッグデータの処理が好き!(達成感を感じられる)
✔︎ データベース構築、サーバー周りを触るのが好き
✔︎ 社内メンバーだけではなく顧客とのやり取りも実はけっこう好き
✔︎ 自社Webサービスの開発で事業の発展に携わってみたい
✔︎ 地理や地図が好きで、位置情報データにも興味を持っている

一つでも当てはまる方は是非お気軽に「話を聞きに行きたい」ボタンを押してください!

株式会社ナイトレイ's job postings

Weekly ranking

Show other rankings
Invitation from 株式会社ナイトレイ
If this story triggered your interest, have a chat with the team?