今回は現役バリバリでPHPでシステムの開発をされている36歳男性のこれまの経験に基づくアドバイスを紹介します。初心者が最初につまづくポイントについて解決方法を指南してくださいました。ネット上の無料サービスを活用するコツも教えてくださいました。ぜひあなたのプログラミング学習の参考にしてみてくださいね。
この記事の内容は?
あなたが学習したプログラミング言語を教えてください
PHPです。
現在の職業は?
プログラマーです。PHPでシステムの開発をしています。ネットショップのシステムを作ることが多いです。
性別は?
男性です。
現在の年齢は?
36歳です。
これからプログラミングを始める初心者はどの言語を学べば良いと思われますか?
ネットを利用している人なら、一度くらいは大手サイトの使いづらいところを目の当たりにしたことがあるのではないでしょうか。「自分ならこうするのに」や「この画面は要らない」という改善点まで考えて、プログラミングに興味を持つ人もいるかも知れません。
今、プログラミングを身に付けるならやはり利用例の多い『PHP』ではないでしょうか。でも、そのためにはどうすれば良いのでしょう?プログラミング初学者の方にはまず「写経」をと「検索」をおすすめします。
”初心者がぶち当たる2つの壁”とは何ですか?
プログラミングを学び始めた人がぶち当たる壁は、だいたい2つあります。
1. 文字の打ち間違い
2. どういった命令を使えばいいのか分からない
この2つの壁を乗り越える方法を教えてください
学びの基本は「真似」です。「習う」とは真似をすることでもありますよね。ではプログラミングにおける「真似」とは何でしょうか? それは「他人の書いたコードを自分も真似て書いてみること」です。
1.打ち間違いは「写経」で乗り越える
打ち間違いについて有効なのが俗に「写経」と呼ばれる書き写し作業です。とは言ってもキーボードなので「打ち写し」と言ったところでしょうか。写経をするときは長いプログラムを選ばず、短いものにしましょう。そしてなるべく色々な人のプログラムを参考にして、その共通点を意識しましょう。なぜならどんな人でも共通している書き方こそが、外してはいけないプログラムの書き方だからです。それさえ身に付ければ “syntax error”(学び始めの人が最もよく見るエラー)に悩まされることは無くなります。
GitHubというプログラムの共有サイトがあります。ここで興味のある事柄(配列操作、認証、ファイルなど)を、やはりPHPなどの言語名と一緒に検索してみましょう(左側サイドメニューで”Code”を選ぶのがポイント)。日本語で説明されたプログラムがいくつも見つかるはずです。適当に選んで(あるいは片っ端から)プログラムを写経していきましょう。
2.分からない点は検索で乗り越える
「何を使えばいいか分からない」については、Googleが手助けしてくれます。日本語でそれらしい言葉を検索してみましょう。ただし言語(PHPなど)は必ず含めるようにしてください。検索している内にどんな用語がよく使われているか分かってくるはずです。あなたが将来プログラマーになることを目指しているのなら、それは仲間内で使える共通言語となる言葉なので、ぜひ覚えておきましょう。そうでない人にとっても知っておけば検索効率が向上するはずです。
また、teratail(テラテイル)のようなプログラミングに特化したQ&Aサイトもありますので、どうしても分からないことは思い切って人にたずねてみるのも良策です。その際はできるだけ余計な部分を削ったコンパクトなプログラムも付けて質問するのが、的確な回答をもらうコツです。
※ぽんぽこ注釈
terateil(テラテイル)の活用についてはぽんぽこも賛成です。詳しくはこちらの記事をご覧ください。
壁を乗り越えた先にある「創造」
何かしらのプログラムを書けるようになったら(なる一歩前でもいいのですが)自分の作りたいものを考えてみましょう。身につけた技術を応用して、「創造」をなす段階です。プログラミングはときどき「0を1にする仕事」とも言われますが、これは「新しいものを創造する仕事」という意味になります。初学者の壁を乗り越えたことは、その仕事になる段階に一歩足を踏み入れたということでもあります。自分のプログラムに「自分で考えた部分」が増えていくのを実感しながら、プログラミングによる創造に邁進(まいしん)していきましょう。
ありがとうございました!
いかがでしたでしょうか。現役バリバリのプログラマーのCさんからのアドバイスでした。写経と検索、勉強になります。GitHubでのサンプルプログラムの検索や、teratail(テラテイル)を活用した学習の進め方は参考になる方も多いのではないでしょうか。Cさんのアドバイスはお金がかからない学習方法ですね。あなたのプログラミング学習の参考になれば嬉しいです。