プログラミングは誰でも始められますが、マスターしてエンジニアとして働ける人は多くありません。独学で学習を始めたものの、途中で挫折してしまう方がたくさんいます。これは比較的学習しやすいRubyで初めても同じです。
そのような方にとっては、最初は簡単そうに思えても専門用語が多く、途中から難しくて理解できないと感じてしまうようです。しかし環境を整えて学習のコツさえつかめば、プログラミングの学習を続けられます。今回は、Rubyでプログラミングをマスターする方法について紹介します。
プログラミング上達に必要な考え方
プログラミング言語Rubyは比較的学習しやすいのが特徴です。しかしRubyを学習すれば誰でもプログラミングができるようになるとは限りません。プログラミングをマスターするには、プログラミングに必要な考え方を身に付けてください。
次にプログラミングを上達するうえで最低限必要な基本的な考え方を紹介します。
大事なのは読解力
プログラミングで重要なスキルの1つが読解力です。人工知能で東京大学合格レベルの知能の実現を目指していた研究で、最も難しかったのは文章を読んで意味を理解し、そのうえで回答する問題だったそうです。これは人が学習する場合でもあてはまります。
プログラミング学習で言語の文法を覚えるだけならそれほど難しくありません。しかし、その文法を使ってプログラムを作れるようになるには、プログラムで実現したい機能を理解し、それをどう表現すればよいか考える必要があります。
プログラミングの学習を始めた方の多くが途中で挫折してしまう原因の1つが読解力の不足です。プログラムに対する読解力をアップさせましょう。
CPUがやれることは限られている
Rubyを含むプログラミング言語とは、コンピュータのCPUの命令を人が読み書きできるようにしたものです。最終的にはCPUの命令に変換されてコンピュータを動かします。つまりプログラミングとは、コンピュータのCPUで実行する命令を作る作業です。
ではコンピュータのCPUは、どんなことができるのでしょうか。今のスマホやパソコンを使えば、実に多くのことができます。しかし、それはいくつもの便利な周辺機器が実現しているだけで、CPUはそれを制御しているだけです。
つまりプログラミングとは、CPUがやれる周辺機器の制御などの命令をつくることです。CPUがやれることは限られています。そのようなCPUの動作をイメージしながらプログラムを組めるようになりましょう。
プログラミングの基本は5つ
先ほど紹介したようにRubyを含むプログラミング言語とはCPUの命令に変換されて実行されます。そのため、CPUができることを組み合わせられるようになりましょう。
プログラミングの基本ともいえるCPUができることとは次の5つです。
- 値を変数に代入する
- 変数または値を使って計算する
- 条件によって処理を分岐する
- 同じ処理を繰り返し実行する
- 別に作ってある処理を実行する(サブルーチン、関数、メソッドを実行する)
プログラミングを上達したかったら、自分がやりたいことを上の5つを組み合わせて実現する方法を考えられるようになりましょう。
Rubyでプログラミングをマスターするには
Rubyは、短い記述で読み易いコードが書けて、スプリクト言語のため実行しやすいなど、学習しやすいプログラミング言語です。とはいえRubyを選択すれば誰でもプログラミング言語をマスターできる訳ではありません。
次からプログラミング初心者に実践してほしい、Rubyでプログラミングをマスターする方法について紹介します。
目標を明確に
先ほど紹介したようにプログラムとは、コンピュータが実行する命令を記述したものです。コンピュータがやれることしか書けません。漠然とこんな処理をコンピュータでやってみたい、と思っても、具体的なコンピュータの処理をイメージできないとプログラムを作れません。
まずは自分がプログラミングを学ぶ目標を明確にしてください。このような処理をコンピュータで実現したいが、そのためにはどうすればいいかが目標です。このような目標を達成するためにRubyによるプログラミングを学びましょう。
データの動きをイメージする
残念ながらプログラムは直接目で見たり、手で触って調べたりできません。プログラムによってコンピュータが動作したら、その結果から意図した通りに処理されたと解るだけです。
そしてデータの動きをイメージしながらプログラムを作り、実際に動作させてみて正しく処理されるのを確認するのがプログラミング作業です。そのため、プログラミングができるようになるには、コンピュータの動きをイメージできなければなりません。
IT技術を紹介する動画や本の挿絵などを見てコンピュータで処理されるデータがどのように変化するかを学び、作りたい処理のイメージを思い浮かべられるようになりましょう。
コードのパターンを覚える
さらにRubyのようなプログラミング言語ではよく使われるコードのパターンがあり、その組み合わせでプログラムを組むことが可能です。そのようなパターンを多く覚えていれば目的に応じたコードを短期間でくめるようになります。
そしてコードのパターンを覚えるには、そのパターンを使ったプログラムを自分で書いてみることです。なおよく使われるプログラムのパターンを書いて覚えることを写経と呼びますが、ぜひ写経をやってみましょう。
なお写経をやる際には、そのコードによりデータがどのように処理されているかをイメージして、書いてみてください。
良質なコードを探すならコツ
ネットを検索すれば多くのサンプルプログラムが見つかります。ただしその全てが良いコードとは言えません。間違っているコードもあります。もし良いコードを探すなら、本に書かれたコードを探してみてください。
本を書くような方はその分野のエキスパートであり、書かれているコードは専門家がチェックしています。本に記載されたコードを公開しているサイトもあるので、ぜひ参考にしてください。
Rubyの学習で挫折しない方法
残念ながらプログラミングの学習を始めた多くの方が途中で挫折しています。学習の進め方を間違えてしまえば、学習しやすいプログラミング言語のRubyで始めたとしても挫折することがあります。
次にRubyの学習で挫折しないで済むための学習方法について紹介します。
向き不向きがある
プログラミングスキルは誰でも習得できるスキルです。とはいえ1人で学んでも短期間でスキルを習得できるプログラミングの学習に向いた方もいますが、1人では学習が続かない向かない方もいます。
残念ながらプログラミングの学習に向かない方が独学で学習を始めてしまうと挫折しやすいので注意が必要です。
かつてアメリカのある大学で、コンピュータサイエンスを学ぶ学生の中にプログラミングをすぐに習得できる学生と習得に苦労する学生がおり、習得に苦労する学生への指導方法に関する論文が発表されました。
このようにプログラミングに興味を持つ大学生でも、その全員が習得に向いているとは限りませんが、そのような方のための学習方法があります。もし自分がプログラミングの学習に向いていないのではと思ったら、今の学習方法を見直してみてください。
メンターの必要性
先ほどプログラミングの学習に向き不向きがあると紹介しましたが、不向きな人がプログラミングを習得するにはメンターのサポートが欠かせません。もし、自分は独学に向いていないのでは、と思ったらぜひメンターを探してください。
なおRubyを学習する目的は、Ruby on RailsによるWebアプリケーションの開発ができるようになる、という方が多いのではないでしょうか。その場合、メンターとして最適な方は、実際にRuby on RailsでWebアプリケーション開発に従事しているWebエンジニアです。
そのようなメンターのサポートを受けて学習すれば、挫折しないでRubyによるプログラミングスキルを習得できます。
身近にメンターがいない方は?
とはいえ未経験からWebエンジニアを目指してRubyを学んでいる方の近くに、いつでも質問できる現役のWebエンジニアがいるとは限りません。メンターのあての無い方は、費用はかかりますがプログラミングスクールなどの講師をメンターとして利用してみましょう。
ポテパンキャンプにも優秀なメンターが大勢おり、質問サイトやビデオ通話と通じて学習をサポートしています。自分に合ったメンターに巡り合えない方も、ぜひ利用を検討してください。
まとめ
Rubyは短く読み易いコードが書けるプログラミング言語で、比較的学習しやすいと言われています。しかし、先ほど紹介したようにプログラムとは、動作している様子を目で見たり、手で触ってチェックしたりできません。そのためコンピュータの動作をイメージし、それに合わせてプログラムを作成、実行結果から正しく動作しているかをチェックする必要があります。
そのためプログラミングを習得するにはコンピュータの動作を正しくイメージできるかが重要です。しかし、プログラミングの学習に向いている方と苦労する方がおり、苦労する方はメンターのサポートが欠かせません。
未経験からRubyを使えるWebエンジニアを目指すなら、プログラミングの学習に対する向き不向きと、メンターの重要性を理解して取り組んでください。
読解力をアップする方法
一般的に読解力とは、テキストを理解し、利用し、熟考する能力とされています。文章の読解力アップに最良な方法が読書です。これはプログラミングにもあてはまります。良質な文章を読んで読解力をアップするように、良質なプログラムを読んだり書いたりしてプログラミングの読解力をアップさせましょう。