昨年の秋ごろから半年ほどプログラミングを学んでみて気づいたことがあります。
それが何かというと、プログラミングを身につけるために必要になってくる力がどういうものなのかがわかったような気がしているのですね。
せっかくなのでこれについて書いておこうと思います。
私は、プログラミングを身につけるために最も必要な力は「最適を自ら判断し受け入れた上で即実践する力」だと感じています。
これを3つに分解してさらに具体化すると以下のようになるかと思います。
構造化プログラミングとアプリケーション構成の基本事項を忠実に守り、その前提を完璧にクリアした上で「自由」に組み立てる力
- 逐次実行、条件分岐、繰返しの概念
- クラス、インスタンス、オブジェクト指向
- モデル、ビュー、コントローラーの概念
それが最適ならどれだけ多くても小分けにして「全て」試しきる粘り強さ
- タイプミスエラーの特定
- ライブラリやフレームワークの衝突の解消
- 環境構築で詰まった時に必要な再インストール
簡易的なアプリケーションの再構成を最低限の量経験し、それを踏まえて自分で作るアプリに最適な全体設計を帰納的に導く力
- データベースの設計
- ページのレイアウト構成
- 使うライブラリやフレームワークの選定
プログラミングをやる上で鉄の掟を守って自由にいろいろ創ること
守るべきことを守った上で攻める、というのは、マナーやブランドイメージを守った上でバリバリ働くとか、「お行儀よくすること」が求められる状況ではそれを守った上でそれが必要ないところでは好奇心の赴くまま自由に振る舞うとか、そういうのに近いですね。
『あらかじめルールを決めておきそれを守ることで、あとで不都合を出さずにうまくやっていくことができる』
プログラミングを学ぶと、論理的な思考ができるようになる
ということを最近よく聞くようになりましたが、上記のようなことを考える中で、プログラミングを通して論理力よりも大切なことが学べるような気がしたのでした。