僕がプログラミングを教える時には5つの『ない』を大切にしてシンプルなプログラミング学習を推奨しています。
IT業界に限った話ではありませんが、技術者は初心者の目線で教えるのが苦手なんです。
だから「やさしい○○入門」でも難しい内容が出てくる。
僕もそういう入門書で挫折していたので、挫折しないように僕が大切にしていることを書いていきたいと思います。
目次
最初から大きいプログラムは作らない
プログラミングを学ぶからにはFacebookやTwitterみたいなアプリを作りたくなりますよね。
僕も例に漏れず初心者の頃から完成系を目指していきなり長いコードを書いてました。
けど、挫折するんですよ。エラーが何十行も出て嫌になるんです。
ここはすごいプログラムを書くことを我慢してHello Worldを出力する処理から始めることで少しずつ理解できるようになってきます。
僕は段階思考プログラミングと呼んでいます。
オプジェクト指向は使わない
オブジェクト指向という言葉を聞いたことがありますか?なんか難しそうですね。
オブジェクト指向で挫折したあなたは全く気にすることはないのですよ。
僕も独学でオブジェクト指向にチャレンジしましたが、専門用語がいっぱい出てきたり、プログラムの流れが読みにくかったりして挫折してます。
僕がプログラミングを身につけることができたのはPHPでオブジェクト指向を使わずにプログラムを組んだからなんです。
オブジェクト指向についての所感
難しい用語は使わない
プログラミングを勉強したことがない人は、すでにこの記事で知らない用語がいくつか出てきていると思います。
そうするとプログラムのコードを書く前に用語の勉強もしなければいけません。
ただでもプログラミングの文法等、覚えることが多いのに用語まで覚えてられないですよね?
でも教える方は専門用語をわかりやすい日本語に変換する努力はできます。僕はプログラミング初心者に負担をかけないようにわかりやすい日本語を心がけてますよ。
ローカル開発環境は構築しない
僕が思う最も挫折しやすいポイントはココ。
だから僕はローカル開発環境の構築は後回しにして、クラウド開発環境(インターネットブラウザで開発環境を作る)サービスを使って、進めることにしてます。
プログラムを書く準備にあたるのが、ローカル開発環境の構築ですが、簡単そうなイメージがありますよね?
それが故に案外難しく、つまらないのでここで嫌になってしまう人が多いんです。
そのため、開発環境の構築も大切ですが、僕はプログラムを書いてプログラミングの面白さを知ってもらうことを最優先にしています。
1人で考え込まない
15分以上考えたところで解決する可能性は変わらないんですね。
それなのに時間だけが過ぎるのは非常にもったいない。
その時間を無駄に過ごすならStack Over Flowやテラテイルで質問するか、直接人に聞いた方が絶対にいいんですよ。
あまりにもハマり過ぎているとプログラミングを嫌いになってしまいますからね。
15分エラーが続いたら人に聞こう!僕のLINE@でもいいので質問歓迎です!
だからPHPを採用している
僕が大切にしていることを実現しながら学べるのがPHPなのです。
その根拠として
- オブジェクト指向の有無を選べる
- 小さいプログラムから試せる
- クラウド開発環境で実行できる
- エラーに対して寛容
と初心者、独学者にやさしい言語なんです!
それでもIT企業で通用する
と言われそうですが、現に僕はPHPをはじめて1年ちょっとで受託開発をしていますし、新卒でIT企業のエンジニアを狙うなら簡単なプログラムでも見せられれば十分合格点ですよ。
最初から難しい言語や手法にこだわり、挫折するよりも小さな1を積み重ねよう!