私はフリーランスのシステムエンジニアとして、毎日のようにプログラムを書いています。
今では実績はかなりのものになっていると思いますが以前は経験0のド素人でした。そのような私がどのような経緯でプログラムを覚えていったのか、プログラムの勉強方法を記載していこうと思います。
プログラムはなんとなくやってみて覚える
1つ断言させてください。マニュアル読んで頭に叩き込んでもさほど意味はありません。
だって、読んでも意味が分からなすぎるからです。
私が実践した方法は、「超初心者用のマニュアルを実際にプログラムを書きながらやる!」という方法をとりました。
この方法は、いきなり実践ができるため必ず最後までマニュアルを読んでからではなく、読みながらやることが大切になってきます。
やっているうちにこんなふうにやるんだなとなんとなく解ってきます。最初は1から10まで全部頭にたたきこむ必要は全くありません。むしろ、わからない用語だらけの本を頭に入れるのはかなり時間がかかりますし、実際頭の中に何も残りません。
マニュアルはなんとなくを理解してから後で納得していくほうが効率的です。
電卓を作ってみる
超基礎的なマニュアルを一通り終えたら次は電卓のソフトを作ってみましょう。
最初はソースコードはぐちゃぐちゃでも全くありません。正しく動けばいいのです。
電卓には足し算、引き算、掛け算、割り算などの演算や、文字の入力、変数の保持やクリアなどたくさんの基礎的なことが組み込まれており、難易度もさほど高くありません。
平方根や消費税計算ができるような複雑化された電卓を作る必要は全くありません。
電卓として最低限の機能を有した電卓を作ってみましょう。
プログラムを書いてわからないことがでてきたら
プログラムを書いていると必ずわからないことがでてきます。
そのときもマニュアルを読み直すよりもGoogleで検索するほうが的確な答えを導きだすことが可能です。なぜならマニュアルは難しい言葉で書かれすぎており、理解するまでに時間も体力も消耗してしまうからです。
どんなに優れたプログラマでもわからないことはでてきます。現代は必ずと言っていいほどネットによる検索で答えを導きだしています。
そして、これだなと思ったサンプルソースを自分のソースコードにコピーして、自分なりにアレンジするだけで完成します。
自分でも作れそうだと思うソフトを真似て作ってみる
電卓ソフトを完成させたら、次はフリーソフトとして無料で配布されているソフトで、「このソフトと同じものは自分でも作れるな」と思ったものを実際作っていってみましょう。
ハードルが高すぎるもの挫折に繋がるので、簡単なソフトをオススメします。
また、最初からソースコードも付属されているものではなく、ソースがないものを自分なりに作っていってみましょう。
このときも絶対にわからないことがでてくると思いますが、サンプルソースをコピーして改造して自分のソースとして扱って問題ありません。
繰り返しがとても重要
プログラムを書けると自信を持つためにはプログラムを書き続ける必要があります。1日1時間程度毎日プログラムを書いていくと気付いたら自信がつき、胸を張って「プログラムを書ける」と豪語することが可能になってくるのです。
慣れてくるとわからないことでもだいたいこんな感じかなと、経験による憶測で問題を解決することもできるようになってきます。このくらいのプログラミングのレベルなるためにはやはり毎日の繰り返しがなければ到達できません。
プログラムのスキルは毎日の積み重ねは必須です。それができないのであればプログラムのスキルは身に付くことはありません。
人を頼るのもとても大切
私は全く実績がない状態でソフト開発会社に入り、誰にも教わらずプログラムを書けるようになりました。
しかし、ソースの中身は我流です。
有識者から書いたソースコードに対しこれでもかというくらいの数の指摘を受けました。
変数の名前がダメだとか、インデントの付け方がダメだとか・・・。
いっぱしのプログラマになるためには指摘されて、それを直していくことで成長していきます。
綺麗なソースコードは誰が見ても理解できるソースコードを意味しています。我流で書いた本人しか理解できないソースコードは綺麗なソースコードとは言えません。
できるだけ綺麗なソースにしていくためにはしっかり有識者に確認してもらい、指摘を直していくことでさらにプログラミングのスキルを高めていきましょう。
まとめ
プログラムは中学レベルの英語力と数学の知識さえあれば誰でも作ることができます。
内容によっては「おもちゃ」と感じる場合もあるかもしれません。
プログラムを学ぶことで、
- 論理的な考え方
- わからないことを調べるスキル
もオマケでついてきます。
またプログラムを仕事にすることによって
顧客とのコミュニケーションや顧客が使いやすいソフトを意識できるようになってきます。
プログラムは数日でマスターできるような生半可なものではりません。地を足につけて継続して作り続けていくことが遠回りのようで一番の近道です。
生半可な覚悟では何も達成することはできません