プログラマー初心者必見!プログラミングが上達する10のポイント
今回は「ものすごい速度でプログラミングが上達するのではないかと思う10のポイント」を考えます。
上達する方法は
プログラミングが上達する方法の結論として「1秒でも1行でも多く、プログラムのコードを自分自身で書くこと」です。
すみません。コツとかではなく、なんか当たり前の事を言ってしまいましたが。。とても重要な事なのです。
プログラミングを作成していると、サンプルコードをそのまま流用したり、誰かが作成したコードを流用したり、もしかしたら隣の人に作ってもらうという事も。。中にはあるかも知れません。
プログラミングの生産性を上げる為には必要なのですが、技術力を上げるという点ではあまり良くありません。
※だからといって、技術力を上げる為にArrayやList、Dictionaryライブラリを1から作成したいと上司に進言しても、却下されてしまいますが。。
さて、ここからはどのようにすればプログラミングが上達するのか、考えてみます。
1.言語の違いは重要ではない
基本、どんな言語を利用しても良いと考えています。
言語によって、計算が得意だったりWebシステムが得意だったりスマートフォンのアプリが得意だったりしますがプログラミングが上達するという点については、どのような言語でもあまり違いはないと考えています。
2.自分が得意とする言語をもつ
言語の違いは重要ではないのですが、得意な言語を1つ持つことは大切だと考えています。あまり経験がない言語でも、「得意な言語ではこうだったから」という応用が自然と出来てしまいます。
※これから言語を選択するのならば、良く利用されている(ニーズが多い)言語を選択した方が良いです。
今ですと、C++、C#、Python、JavaScript、Swift、Javaあたりでしょうか。
3.プログラミングの基本を理解しているか
プログラミングで行うことの大きなくくりは、単純です。「順次」「分岐」「繰り返し」の3つしかありません。
コンピュータ上で実行したい機能を、この3つの手続きで実現するだけです。
このプログラミングの基本を理解していることは、とても大切です。
4.フローチャートを理解しているか
フローチャートの重要性を理解する必要があります。わざわざExcel等でフローチャートを作成する必要はありませんが、作成したい機能に対してどのような順番で処理を記述し、どのような分岐や繰り返しの処理を組むのか頭の中で整理した後、プログラムを作成する必要があります。
これができていないと、処理が複雑になったり、また不必要な処理を組んでしまった、なんてことが良くあります。
5.メソッド化、クラス化を理解しているか
処理を考えることを理解したら、その処理を適切に分割することの重要性も理解する必要があります。
機能や役割によってクラス化し、適切に処理をメソッド化しないと保守性が低下した難解なプログラムが出来上がってしまいます。
6.どのようなライブラリがあるか知っているか
今のプログラミングは、全ての処理を作成する必要がなく、ライブラリを利用することが多いです。
どのようなライブラリがあるのか、またライブラリを利用する方法を知っていると、プログラムを作成する速度が全然違ってきます。
7.1からアプリを作成したことがあるか
自分の担当が1つのクラスや1つの機能だったり、既存システムを変更するようなプログラミングも大切なのですが、1からアプリケーションを作成することは、とても大切だと考えています。
スマホアプリなどを1から全部自分で作成してみてください。自分の技術レベルが向上している事を実感できるでしょう。
8.デバッグのやり方を理解しているか
どんなにわかりやすく洗練されたプログラムが作成できても、デバッグができないと問題が解決できずにプログラムは完成しません。
ステップ実行やコンソールログ、メモリの見方を理解して、問題の原因を突き止められるようになることが大切です。
9.詳しい人にアドバイスしてもらう
自分で調べて3日かかるところを、詳しい人に聞くと5分で解決することが、結構よくあります。
人にお願いするのではなく「自分が解決する為のヒントを教えてくれる人が近くにいる」ということも大切です。
10.プログラミングが楽しいと思う
「好きこそものの上手なれ」ということわざがあるように、好きなことは上達が早いです。
プログラムを作成する前に、「プログラミングが大好きだ!」と心の中で唱えれば、もしかしたらプログラミングが上達するかも知れません。
まとめ
プログラミングが上達する方法はこれだけではないと思いますが、上達のために大切であると考えられることを挙げてみましたが、いかがでしたか。
あなたの技術力が向上するきっかけになれば、幸いです。
▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!
建設・土木業界向け 5分でわかるCAD・BIM・CIMの ホワイトペーパー配布中!
CAD・BIM・CIMの
❶データ活用方法
❷主要ソフトウェア
❸カスタマイズ
❹プログラミング
についてまとめたホワイトペーパーを配布中
デジタルツインと i-Constructionについての ホワイトペーパー配布中!
❶デジタルツインの定義
❷デジタルツインが建設業界にもたらすもの
❸i-Constructionの概要
❹i-Constructionのトップランナー施策