programming woman

プログラミングをはじめて3カ月もしくは半年以上経つけど一向に上達していない。

一緒にはじめた同期や知り合いはアプリやwebページを作ったりしている。

 

こんなに努力しているのにプログラミングの素質がないのかな?
やっぱりプログラミングは難しいのかな?
というように思っていませんか?
人によっては、

継続していればいつかはプログラミングスキルが身に付くよ

プログラミングスクールに行けば教えてくれるよ
という声も聞こえてきます。確かに、何事においても継続しなければスキルは身に付きません。

しかし、継続していてもなかなかスキルが上がらない人もいるのです。

 

勘違いしてほしくないことは素質がないから上達しないのではありません。

上達しない理由はあなた自身が認識していない原因があるのです。

 

今回はプログラミングができない『たった1つ』の原因を見ていきます。

その次に、原因に対する対策を5つ紹介します。

 

この記事を読めば、プログラミングが上達しない原因がわかり正しい対策をすることだとわかります。

 

 

プログラミングが上達しない人の「たった1つ」の原因

上達しない原因はプログラムがどのように構成されているかの全体像を理解していないからです。

 

プログラミングの構成要素は大きく3つに分けられます。

    • 言語レベルの基礎知識
    • アルゴリズムの考え方
    • フレームワークやライブラリの使い方

 

言語レベルの基礎知識

プログラムを組む上でプログラミングのルールと知識が必要になります。

この学習工程は誰もが一生懸命取り組むパートです。

 

変数や条件分岐など必ず必要な文法が頭の中で思い描くことができるでしょうか?

 

よく受験勉強みたいに覚えようとする人がいます。

使い方がス~ッと出てくるように何度も訓練しておきましょう。

 

基礎的な部分は何度もでてくるので都度確認すれば結果的に染みつくようになります。

 

 

アルゴリズムの考え方

コンピュータに処理の順序を指示するために、あなた自身で組み立てていくパートです。

得られる結果は同じでも作業の効率を考えると作業内容の順序を考えなければなりません。

 

例えば、布団を干して取り入れるまでのアルゴリズムを考えるとします。

結果的に布団を干して布団がふっくらしポカポカになればよいですね。

 

しかし、できれば面倒な作業はしたくないですよね。

この場合どうしたら効率よく布団が干せるだろうかと考えます。

    • ベランダまで布団を運ぶ動線に障害物があれば整頓しておく
    • ベランダの物干しを清掃する
    • 布団バサミをベランダの入り口に用意しておく(できれば、かがみたくない)
    • 干して取り込む順序は布団を敷く順番に敷布団から取り込めれば仮置き場はいらない

 

以上のように、前もって準備しておくもの作業を繰り返していくうちに改善できるものがわかるようになります。

 

こういった動作の順序やあらかじめ必要なものを洗いだしフローチャートを作ります。

ここでのポイントはできるだけシンプルで単純な作業の流れにすることです。

 

 

フレームワークやライブラリの使い方

便利でよく使われる機能が形となって集約されているものです。

これらは、より早く作るために用意されたもので使い方に慣れておくと良いものです。

 

建物でいうと骨組みがおおよそ用意されていて、あとは内装を装飾していくイメージです。

建物を構成する要素の浴槽や台所のシンクも部品として既に用意されています。

 

骨組みの形状に合わせて部品要素を立て付けして組み立てるイメージは似ています。

立て付けするのに部品要素の扱い方を学ばなければなりません。

 

 

より早くプログラミングを上達させる5つの対策

プログラムの構成要素が理解できたところで、それぞれの対策をみていきます。

 

基礎文法を7割できるようにしておく

書籍にかかれてある基本文法が7割以上頭に入れておきましょう。

覚えるのではなく都度確認すれば良いことです。

 

いつでも資料を引っ張り出せるところに整理しておきましょう。

この部分は誰もが一生懸命に学ぶ部分なので身に付くまで継続すればよいです。

    • 書籍 →大事な部分をコピーしたりしていつでも参照できるようにする
    • 動画 →必要なところを整理しまとめて都度確認するクセをつける
    • 月額のプログラミングサイト →何度も確認し定着を目指す

 

超重要なことは、実践プログラムで必要になったら、書籍なり動画なりを調べて適合させる作業を必ず行うことです。

 

 

アルゴリズムの考え方を学びフローチャート図を描く

上記で書いた “布団を干す内容のアルゴリズム” でイメージが難しい人はアルゴリズムの薄い本を1冊購入しましょう。

 

基本的にあなたの日常生活においてアルゴリズム化できるものばかりです。

料理を作る、お風呂に入る、にしても毎日の動作を繰り返して日常が成立しています。

 

「フローチャート」の「作り方」は検索して書き方を学ぶとよいです。

フローチャートが描ければプログラムの骨格が見えている状態といえます。

 

今のあなたは他の人が書いたプログラムをみてフローチャートが描けますか?

描けるようになっていれば力が付いていると判断できる目安にすることができます。

 

 

フレームワークやライブラリの使い方に慣れる

これはパターンを練習しながら機能を理解し自分で使えるようにしていくというものです。

あなたの作りたいプログラムにフレームワークに当てはめて使用できることが目標です。

 

実際に使ってみて経験し使えるようにしておくとプログラミングを組むのが楽になります。

楽に行えれば上達も早くなっていきます。

 

より多くのエラーを経験する

機能を満たすためにフレームワークやライブラリに適した条件に当てはめなければなりません。

そのような時に適切でなければエラーが生じます。

 

あなたの思い描く動きをさせるためにフローチャートを完成させます。

フローチャートにある変数、繰り返し、分岐処理を使って機能を満たしていきます。

 

フレームワークにおいても適合していなければ当然バグが生じます。

全体の構成を考えエラーを体験しながらプログラミングの総合力を上げていくのです。

 

 

今の自分に足りていないものは何かを正しく知る

自分に足りていないものをあなた自身で解決することは難しいことです。

 

プログラミングができる人にあなたのコードをレビューしてもらうことが求められます。

それによって客観的に今のあなたになにが足りていないのかが一発でわかります。

 

自分で認識できていないものを吸収し上達につなげましょう!

 

 

 

まとめ

プログラミングが上達しない原因がスッキリした人は対策をしてスキルアップを目指しましょう!

    • 基礎文法の7割を覚えるのではなく使えるようにしておく
    • アルゴリズムを考えフローチャート図を描いてプログラムを組み立てよう
    • フレームワークやライブラリを使って楽にプログラムを組もう
    • 多くのエラーを経験して適応力を身に付けよう
    • 時にはコードレビューをしてもらい客観的な視点を得て成長しよう

 

おすすめの記事