オススメのプログラミング勉強法【現役エンジニアが解説します】

PROGRAM

プログラミングの勉強法がわからない方へ。

この記事を読まれている方は、

  • プログラミングをやりたいけど勉強法がわからない
  • プログラミングのお勧めの勉強法があれば知りたい

このように考えている方が多いと思います。

この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別に副業のフリーランス収入が月10万円ほどあります。

この記事では、現役のエンジニアがオススメのプログラミング勉強法を紹介します。

オススメのプログラミング勉強法はExcelのマクロ記録

オススメのプログラミング勉強法はExcelのマクロ記録

社会人の方は仕事で、学生の方は簡単な表計算でエクセルを使ったことがあると思います。
Excelにはマクロを記録できる機能があり、例えば入力操作やセル操作といった人間が行うエクセル上の操作を簡単にプログラム化できます。

この機能を使うことで、普段の操作をプログラムで書いたらどうなるのかがわかり、簡単にプログラミングを学ぶことができます。

例えば、A1セルを選択された状態で、A1セルに「テスト」という文字列を入力し、それをコピーし、B1セルに貼り付ける操作をマクロに記録してみると・・・

エクセルマクロサンプル

こんな感じでセルの操作をプログラムに起こすことができます。

マクロで記録できるものは基本的な操作のみですので、
ここに判断分岐の処理や繰り返しの処理を入れたければ、
if文やfor文を入れてあげる必要があります。

具体的な書き方については、「ExcelVBA 分岐」とか「ExcelVBA 繰り返し」とかでGoogleで検索すればすぐに出てくるので、必要に応じて探してみてください。

どうですか?
とてもハードルが低く感じますよね。
プログラムって意外と身近なものだということがわかると思います。

ExcelVBAはExcelの中であればなんでもできる!

ExcelVBAはExcelの中であればなんでもできる

プログラミングの基礎は、Excelでマクロ記録することにより、簡単に学べるということをお伝えしました。

ExcelVBAではセルの各操作を自動化できるという基本機能の他に、外部ファイルの読み込み・書き込みやWebスクレイピングなどといったこともできてしまいます。
要するにExcelに関連することであれば、なんでもできてしまうということですね。

また、在庫管理システムなど簡単なシステムであれば、Excelだけでも作れてしまいます。
データの記録先として、外部のデータベース(例えば、MySQL)を使うなんてこともできますので、膨大なデータを管理したい場合でもExcelを使い続けることができます。

ところで、読者の中には「データベース」というものがイマイチわからないという方が多いと思いますが、簡単に言えば、Excelのシートがオブジェクト別にたくさんあるイメージです。

SQLのデータベースを使えば、インデックスを作ったりすることで、Excelでデータを管理するよりも動作を早くすることができたりします。
データ管理ソフトとしてSQLでは最適化されたエンジンが用意されているのです。

プログラミングを学ぶ段階では、とりあえずExcelVBAの場合はExcelの中でデータを管理しておけばOKです。

Webプログラミングの勉強法について

Webプログラミングの勉強法について

Excelを使えば、プログラミングを学ぶことができ、色々できることがわかったけど、
「俺はWeb系をやりたいんだ!」と思われている方も多いと思います。

実は、ExcelVBAは業務の現場では非常によく使われるものの、単価が低いし、プロとしての案件がなかなかないのが現状なので、これでキャリアを積んでいくのはちょっと厳しいんです。

したがって、読者の方は、プログラミングの基礎を学べたら、
なるべく早い段階でWeb系プログラミングを学ぶべきだと思っています。
(アプリをやりたい方は、アプリ系プログラミングを学んでください。)

まずはWordPressを使ってHTMLとCSSを学ぼう

アプリもそうなのですが、Webプログラミングをする前に、
まずはプログラミングでなく、画面の製造が必要になってきますので、
先にHTMLとCSSを学びましょう。
(ここではWeb系の場合の勉強法を紹介します。)

  • HTML・・・Hyper Text Markup Languageの略で画面を作るための言語
  • CSS・・・Cascating Style Sheetsの略でHTMLを装飾するための言語

この二つを学ぶためには、WordPressを使うことをオススメします。
WordPressのインストール方法はGoogleで調べればたくさん出てきますが、わからない方は、FC2ブログなど簡単なものでも構いません。
そこでブログ記事を書きつつ、HTMLタグを覚えていきましょう。

CSSは装飾のための言語ですので目標がWeb系プログラミング言語の習得であれば、ここではさらっと学べば大丈夫です。深入りすると結構ドツボにハマるので注意が必要です。たまに理屈ではどうにもならないものとかも出てきます(笑)

HTMLとCSSを学んだらPHPに

WordPressで画面の作り方を学んだら、次はPHPの学習に進みましょう。
Web系プログラミングの言語にはPHP以外にも、JavaやRuby、さらにはASP.NETなどというものもあったりするのですが、一番学習コストが低いPHPがオススメです。

主な理由は以下のとおりです。

  • ゆるい型定義・・・文字列・数値なというタイプをあまり気にしなくて良い
  • サンプルが豊富・・・一般に広く普及しているため検索でヒットしやすい
  • 環境が用意しやすい・・・レンタルサーバーの多くがPHPに対応している

Rubyという言語が流行った時期は、PHPの時代は終わるなどと散々言われてきましたが、
Rubyの環境構築がやや面倒なのと、一度PHPが世の中に広く普及されたことなどもあって、PHPはしぶとく生き残っています。
PHPは現在もWeb系において強い影響力を持っているのです。

RubyにはRuby on railsというフレームワークがあり、10分で管理システムができることで脚光を浴びたのですが、
現在PHPにもLaravelなどのMVCフレームワークが充実しており、似たようなことができるようになっています。
そのせいで逆にRuby on railsの方が下火になりつつあります。

そんな感じの情勢なので、初心者の方はPHPを学んでおけばOKです。
そしてPHPはC言語ファミリーの言語なので、もし仮にPHPが消えたとしても、
新しい言語もほぼC言語ファミリーなので、そこまで手間取ることもなく移れると思います。
ライバルのRubyですらC言語ファミリーです(笑)

PHPで何を学ぶべきか

エンジニアになる前に学んでおくべきことは、とりあえず以下の3つかなと思います。
とりあえずExcelVBAなどでプログラミングの基礎(順次処理・分岐処理・繰返処理)は習得できていることとします。

  • データの受け渡し
  • ログイン認証
  • PHPからのデータベース操作

いずれもExcelVBAの中では出てこなかったものかと思います。

「データの受け渡し」は、ブラウザからサーバー側にデータを送信して、サーバー側でデータを受け取ることを指しています。
HTMLとCSSで作ったWebページはサーバー側からブラウザに配信されるものですが、その逆の流れになります。
これができるようになれば、データを双方向でやり取りできることになり、大概のことはできるようになります。

次の「ログイン認証」は、言わずもがなです。昨今のほとんどのWebページではログイン認証機能がありますよね?
実際の現場でも業務システムやサービス提供ページを開発する際は必ずと言っていいほどログイン認証を使いますので、基本的なことは現場に入る前に学んでおきましょう。

3つ目のPHPからのデータベース操作に関して。
PHPは、Excelとは違ってデータを管理するものが付いていませんので、別にデータベースが必要になります。

Webの場合はMySQLを使うことが多いのですが、そのような外部のデータベースにデータを書き込んだり、読み込んだりできるようにする必要があります。
例えば、ログインユーザーの管理(取得・追加・更新・削除)をしたりするのにも当然データベースが必要になってきます。

まとめ:プログラミングはExcelVBAとPHPで学ぼう

本記事では、ExcelVBAとPHPでプログラミングを学ぶことをオススメし、その学習法を紹介しました。プログラミングは独学でも十分習得することができますので、ぜひ紹介した方法で挑戦してみてください。