netで学ぶ英語
DESCRIPTION
Hokuriku.NET Vol.11 (2013-01-26) http://atnd.org/events/33042TRANSCRIPT
『 .NET で学ぶ英語』Learning English on .NET
Fujio Kojima
マイブーム
英語の勉強“learning English”
IT 関連のマイブーム
美しいソース コードBeautiful Code
美しいソース コード
• わかりやすいコードは美しい
日本語で書くとわかりやすい ?
ソースコードにおける日本語の名前に付いての
私の意見
•より伝わるのであれば良い。• でも、「地の文」が英語なので、
日本語が混ざるのは「美しくない」。
なんだか「重箱読み」っぽい ( 謎 )
じゅうばこよ
ソースコードにおける日本語の名前に付いての
私の意見
でも、分析・設計時に日本語で呼ばれるべき概念が、実装時に日本語の名前になるのは
仕方がない、とも思う。
ソースコードにおける日本語の名前に付いての
私の意見
「だって、分析時・設計時・実装時の
同じ概念に違う名前を付けるのは
美しくない」
だったら、
「同じ意味の英語」に置き換えるんなら OK?
「同じ意味の英語」なんて有るの ?
「同じ意味の英語」に置き換え ?
• 例えば、「原料」という言葉を
→「資材」、「材料」、「素材」へ変えただけでも…–ニュアンスが変わってしまう–ドメインの用語を採用し、コミュニ
ケーション エラーを防ぐべき
「同じ意味の英語」に置き換え ?
それなのに• 「原料」→「 materials 」–ごめん。ちょっと何言ってるかわかんない。
→ ニュアンス変え過ぎ
ソースコードでは“ニュアンス”も伝わることが大切
もしかして、
英語が得意な人の場合だと英語のままで
ニュアンスも分かる ?
英語が得意になれば ( 仮定 )
ソースコードの
細かなニュアンスまで分かるのでは
ソースコードでニュアンスが伝わることが重要
• ソースコードは
–「人と人」とのコミュニケーション ツール–「人とマシン」ではない
プログラマーは英語を学ぼう !
まあ、とりあえず、プログラミング言語の
英語のニュアンスを知ろう
( 取り敢えずメソッド )
プログラミング言語の英語のニュアンス
. NET 編(C# に偏ってます )
※ ここから本題だけど、もう余り時間が無いはず
.NET のプログラミングの用語の英語での意味を
英英辞書で調べてみました。
ネイティブにもきいてみました。
Content• class• object• managed• enumerate (enum, IEnumerable)• generic (Generics)• dispose• yield• delegate• interface• override
class• “a set of people or things that share characteristics”
•「性質を共有する人やものの集合」
object•“something solid that can be seen or touched”•「見たり触ったりできる固体」
… 何か違うような ?
object• “a person or thing to which
an action or feeling is detected”
•「振る舞いや感じが感知される人やもの」
なるほど。これってつまり、
object•Subject ( 主語 )– transitive Verb ( 他動詞 )
– Object ( 目的語 )–英語の文型でいう SVO
managed•“under control”“controlled to work”•「制御の下にある」「うまくいくように制御された」
enumerate(enum, IEnumerable)
•“to name a list of things one by one”•「羅列されたものを一つずつ挙げていく」
generic(Generics)
•“relating to a whole group of things rather than to one thing”•「一つのものでなく全ての集団との関わり」
dispose
•“get rid of”•「始末する」
yield
•“provide a product”•「できたものを供給する」
delegate•“entrust a task to someone”•「任務を誰かに ( 信頼して ) 任せる」
interface
• “the surface where two things touch each other”•「二つのものが互いに接する面」
override
•“to use your power to change someone else's decision”•「力や権力を用いて、他の者の決定を変えること」
Thank you for your attention.