プログラミング言語の超効果的な『覚え方・学習方法』

   

読者の方からの相談メールでよく来るのが、

「プログラミング言語ってどうやって覚えたらいいですか?」

というものです。

その時私が答えているのは

「覚えるというよりは、気づいてた覚えてたとなるのが理想です」

というものです。詳しく説明します。

プログラミング言語は言葉である

言葉というと、日本語や英語を思い浮かべますよね。

プログラミング言語も言葉です。

自然言語とプログラミング言語の違いはありますが、基本的には言葉であることに違いはありません。

ですから、自然言語を学ぶプロセスはプログラミング言語を学ぶ際にも参考になります。

自然言語を学ぶプロセスを参考にしよう

私達が母国語である日本語を覚えたのは、日本語の勉強をしたわけではなく、自然と使ってるうちに気づいたら覚えてたというものですよね。

英語などの外国語学習においてもエマルジョン方式という母国語を介さずに英語を直接使っていくことで学ぶ方法があります。

海外ドラマのDVDをひたする見続けていると、ドラマのシチュエーションとセリフの組み合わせから自然と言葉の意味が理解できるようになるというものです。

私はこのエマルジョン方式の英語学習もやっていたのですが、特に英語力が伸びたのは、一人で海外旅行をするようになってからです。

「日本の英語教育はダメ」だとよく言われていますが、実際はかなり頭の中に「英単語の知識」や「文法の知識」は入っています。実際使う機会がないから使えるようになってないだけなんです。

一人で海外旅行に行くと、飛行機やホテルのチェックイン、電車に乗る時にどうやってチケットを買うかを聞いたりと、全部自分でやらなければなりません。

その時にはじめて、本気の英語を話すようになるんです。英語の授業だと

「ジス・イズ・ア・ペン(This is a pen.)」

みたく、日本語発音で英語を発音していましたが、一人で海外旅行すると、本気の英語発音になります。そうしないと通じないからです。

本気になると、私達の英語は結構通じます。よく「単語を並べてジェスチャーしてれば通じる」とかいいますが、実際本気になると、本気で記憶を辿って正しい文法で話そうとします。単語をメチャクチャな順で並べてもなかなか伝わりませんからね。本気になった時に引き出せるくらい知識としてはしっかり身についているわけです。

プログラミング言語も同じです。使うことによって覚えられます。

基礎知識を身につけたら、すぐ実践する

教科書を読んで知識を暗記するのではなく、自分が作りたいプログラムを作るための知識を身に着けていくというやり方です。

とはいえ、全く何も知識がない状態からやるのも非効率です。

例えば、プログラミングの基礎知識が全くない状態で「GPSを使ったスマホアプリを作りたい」と考えても、どこから手を付けていいかわかりませんよね。

なので、最初の取っ掛かりとしてはプログラミングの入門書を読むというのはあっていいと思います。

勉強のための勉強というのはよくないんですけど、最初の本当の基礎の部分を勉強するのはいいでしょう。

英語を学ぶときで考えるとわかりやすいのですが、海外ドラマをひたすら見る時にも英語の知識が全くない状態で見続けるよりも、「This is a pen.」「I am Japanese.」「What is this?」などのような基礎的な知識があった方が理解が早いですよね。

プログラミングも同じです。入門書を読んでプログラミング言語の文法や基礎がなんとなく頭に入ったところで、自分が作りたいソフトウェアの制作に取り掛かります。

作り始めてく中で足りない部分を調べて覚えていくと効率よく身につくと思います。私が新たにプログラミング言語を覚える時はそうしています。

私が新たなプログラミング言語を覚える時の手順

私は仕事ではJavaを使うことが多くて10年位Javaをやってました。その後趣味でPHP, Ruby, Node.js, UnityのC#を覚えました。趣味で覚えたUnityはその後仕事でも使いました。独学で学んで仕事で使えるレベルにも持ってけるんです。

PHPを学んだ時には、「WebAPIを使った簡単なWebサービスを作ってレンタルサーバで公開したいな」というのが目的でした。

はじめはPHPの入門書を何冊か読みました。図書館で借りれるものでも十分だと思います。プログラミング言語の本って新しいものの方が良いのは確かです。新しく出版された本の方が新しい言語仕様・技術に対応している場合が多いからです。ただ、基礎的な部分はそんなに変わるものではないので、少し古い本であっても全然かまわないと思います。

そうやって、入門書を時間をあまり掛けずにざっと読んでみると、その言語の文法や基礎知識が身につきます。

「PHPは変数の前に$をつけるんだな。」とか「グローバル変数はglobalっていう宣言をするんだな」というようなことが知識として頭に入ります。

その状態で作りたいものを作り始めます。

私の場合「WebAPIを使った簡単なWebサービスを作る」のが目的なので、WebAPIについて調べます。

Amazonや楽天、GoogleなどのWebAPIを調べてどんな機能があるのかを把握します。その後、どうやってそれを呼び出すかを調べます。

PHP WebAPI 呼び出す方法 のような検索ワードで検索してみると、file_get_contentsという関数をつかうとWebAPIを呼び出せることがわかります。

レスポンスのフォーマットがJSONで返ってくる場合とXMLの場合があるので、じゃあレスポンスの文字列をパースしてJSON文字列、XML文字列をPHPのオブジェクトに変換する方法を調べます。

PHP JSON 変換 とかで検索するとjson_decodeという関数を使えばいいことがわかります。

こうやって、目的に対して、自分が足りない知識をその都度調べて身につけていきます。

こうすることでとても効率的に知識を身につけていく事ができます。自分が作りたいものを作る技術が身につくからです。

自分の作りたいものを作るので、自分のやる気も引き出せるし、必要な分野の知識に絞って学習することが出来るので、最も効率的だと思います。

ぜひ参考にしてください。

エージェントを使った方が転職活動は楽です

東京・大阪近郊のイケてるIT企業に転職したい人には『レバテックキャリア』

 東京・大阪近郊のエンジニア経験者向け転職サービスです。

このサービスを運営しているレバレジーズという会社はシステム開発もやっているので、現場の仕事をよくわかってくれてますし、ヒカ☆ラボというIT系の勉強会なども主催していたりteratailというプログラマー専用の質問サイトを運営してて好感が持てます。求人案件もWebやスマホの面白い仕事が多いのでいいと思います。

あとホームページ見ると分かるんですが、若くて美人の担当者が多いのもナイスなんです!私の場合(たぶんあなたも)、担当者が美人だと転職活動のモチベーションめちゃ上がりますからね笑

エンジニア未経験の方や地方在住の方にはDODAというエージェントをおすすめします。

エンジニア未経験の方や地方在住の方には『DODA』

全国の求人を扱っていて、しかもITエンジニア未経験の人にも転職支援をしてくれるエージェントです。

未経験の人はサポート対象外のエージェントが多い中、DODAは未経験者を支援し転職を成功させています。未経験の方こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいきます。

フリーランスになりたい人には『ギークスジョブ』

フリーランスエンジニアになるには人脈が必要と思われがちですが、ギークスジョブに登録して希望条件を伝えれば、自分に合った案件を紹介してもらえるんですよ!思ってるより全然簡単にフリーランスってなれるもんなんです。

東京・大阪・名古屋・福岡の案件を紹介してもらえます。

 - 勉強法 ,