2019年1月28日月曜日

誰も言わないプログラミングのコツ教えるよ。

誰も言わないプログラミングのコツを教えます。

目新しい英単語をみたらすぐググること。

マイクロソフトのエバンジェリストの牛尾さんのブログに書いてあったのですが、英語ネイティブのプログラマーは優秀で日本人エンジニアよりも早く書けることが多いとのことです。

この理由はなにかというと英語の理解力の差が大きいとのこと。
例えばcontextという単語がよく出てきます。
この意味を調べると「文脈」「背景」だそうです。

プログラムではちょくちょく参照するデータなどを入れておくことが多いですが、処理の背景となるデータを入れてあるという印象でしょうか?

これが英語ネイティブの人にとっては日本人では理解することが難しい微妙なニュアンスまでしっかり把握できているのでその差が出てくるということです。

牛尾さんの場合、英英辞典という英語の単語を英語で解説している辞書などを使うようにして英語ネイティブの理解力に追いつく努力をしているそうです。
すごいですね。

例えばjavaの最初のメインメソッドを見てみましょう。
public static void main
これがいきなり出てきますよね。

publicあたりは結構なじみがあると思いますがstaticがなじみがないんじゃないでしょうか?

これをstaticの意味を知らないで進めていくよりも、いったん「static 意味」で調べてstaticが何なのかを理解してから先に進んだほうが圧倒的によいということです。

ちなみにstaticは「静的」という意味です。
「静的」といわれても何のことかわからないと思いますが、ちょっとプログラミングに慣れてくれば「なるほどstaticなメソッドだからインスタンスをnewしなくても実行できるのね」と理解できる日がきっと来ます。

staticの意味を調べない人はその時点でその理解が得られないのです。
それよりもずっとずっと後、2年も3年もたってから理解できるかもしれないって感じです。

voidは「無効の」という意味だそうです。
プログラム的には戻り値がないということになりますが、ただおまじないとしてvoidを使っていくより、voidの意味を調べておく習慣があるほうが成長の速度が全然違うことになるでしょう。

目新しい英単語をみたらすぐググること。

これ結構効果があると思うのですが、まあ人から教えてもらったことはないです。
qiitaなどのプログラミングのコツなどでも見たことないですね。

結構コンストラクタの意味をしらないエンジニアってごまんといると思います。

コンストラクタの意味は「構築するもの」という意味だそうです。
だからクラスを初期化するためにコンストラクタを定義するのです。





0 件のコメント: