プログラミング入門【非エンジニアでもわかる】


最近、プログラミング学習という言葉をよく耳にするようになりましたが
実際にプログラミングって何からすればいいの?って思っている人が多いと思います。

「自分は文系だしな」とか
「パソコン苦手なんだよな」とか
「オタクっぽい、かっこ悪い」とか…

プログラミングに対してマイナスイメージをなんとなく抱いている人って多いのではないでしょか。

そこで今回は、プログラミングって実際なんなの?っていうところから
プログラミングに全く興味がなかった初心者の方でもわかるように
現役の学生エンジニアで当サイト開発運営する私が丁寧に説明していきます。

この記事を読み少しでもプログラミングに興味を持ち、この記事を読み終わる頃には実際に学習し始める人も出てくると思います!(笑)

では、最後までご覧ください。

プログラミングを学ぶメリット

プログラマーの需要は高い


プログラマーは2020年時点では
「約37万人足りない」
と言われています。

さらに2030年では
「約79万人足りない」
という予測されています。

つまりプログラマーは圧倒的に不足しているというのが現状です。

みなさんが就職するときにプログラミングのスキルを持っていることで、
就活に有利な「売り手市場」に参入することができるのです。

プログラミングによって論理的な思考が身に付く


プログラムというのはあなたの書いた通りの動きしかしてくれません。
つまり、ミスコードをかけば当然バグが生じます。

しかし、多くの場合バグを自動で修正してくれることはありません。
そのため自分でバグが生じている箇所を見つけ出し、改善しなければいけないのです。
改善内容も当然自分で導き出さなければいけません。

プログラミング学習を行う上でバグ修正はつきものです。

何百回、何千回というバグに出会うことでしょう。

そして、そのバグを修正する中で、
「問題解決能力」が必然的に身につきます。

また、プログラムは、人間のように行間を読むことや推測することができませんので、曖昧な表現でコードを書いてしまうとうまく機能しません。

そのため、整合性と正確性が求められます。

これらの能力はプログラミングの仕事以外でも大いに役立つスキルです。

若いときにプログラミングに触れることは必ずプラスに繋がると断言できます。

プログラミングとウェブサービスが動く仕組み

では次にプログラミングがウェブサービスとどのように関わりあっているのか、
誰でもわかるように超絶簡単にお話します。

注意:厳密にはもっと詳しく話さなければ筋が通らないこともあるかと思いますが、あくまでも初心者にむけたお話なので多めにみてください。

ウェブサービスの仕組み


ウェブサービスの仕組みをお話する上で重要になってくる用語があります。
それが
「リクエスト」
「レスポンス」
「サーバー」
「ドメイン」
の4つです。

一つずつ詳しくみていきましょう。

まず、みなさんがウェブサイトにアクセスしたいときに行う動作が「リクエスト」です。

「メディスタオンラインのサイト見せて!」とサーバー側に要求します。
(サーバーについては後ほど詳しくお話します)

するとサーバー側から
「メディスタオンラインのページはこれですよ」と返事が返ってきます。
これが「レスポンス」です。

つまり、みなさんが普段何気なく使っているウェブサイトやウェブサービスはこのようなやりとりを行なっているのです。

では、どこにリクエストをして、どこからレスポンスが返ってくるのでしょうか。

それが「サーバー」です。

サーバーは、要はインターネット上の情報を返してくれる場所(常に電源が入っているパソコン)と覚えておいてください。

では、サーバーを特定しなければ、正しい情報を得ることは出来ませんよね。

そこで必要になるのが「ドメイン」です。

ドメインは、インターネット上の住所と覚えておいてください。
おそらくみなさんもみたことがあると思います。
これです↓
“ https://www.medistu-online.com/ ”

しかし、厳密にはインターネット上の住所と言うのはIPアドレスと呼ばれるもので、数字の羅列です。

ここでは詳しく解説しませんので、興味がある方はI Pアドレスでググって見てください。

フロントサイド


ウェブサイトを構成するには大きく分けて三つのプログラミング言語が必要です。

その一つがフロントサイド言語です。
これは、具体的には「H T M L」「C S S」「JavaScript」といった見た目を整えるための言語です。

H T M Lはサイトの文章や画像のレイアウト、構成などを決める言語です。

CSSはサイトのH T M Lで書かれたサイトの色や大きさなど、デザインを整えていく言語です。

JavaScriptはクリックしたら大きくなるとか色が変わるといったようにサイトに動きを出す言語です。

主にこの3つの言語を使ってサイトの見た目を整えていきます。

サーバーサイド


サービスの仕様に基づいたロジックを返すためのプログラムがサーバーサイドスクリプトです。
具体的には、「P H P」「Ruby」「Java」などがあります。
これらの言語は文法が異なりますが行なっていることは同じです。

ただし、それぞれの言語によって得意な処理、速度の速さなど様々な特徴がありそのサービスに合わせて言語を選択していく必要があります。

次の章では、このサーバーサイドスクリプトの学習すべきおすすめ言語についてお話します。

データベース


サイトには膨大な情報があります。
もちろんメディスタオンラインのサイトにもみなさんから寄せられた問題を保管しておく必要があります。

その膨大なデータを保管しておく場所がデータベースです。
エクセルのようなものです。

このデータベースを扱う言語がS Q Lです。

プログラミングってどの言語から勉強すればいいの


先ほどサーバーサイドスクリプトのお話をした際に様々な言語があるとお話しましたがここではその中でもおすすめの言語を紹介します。

とりあえずここで紹介する言語を習得することができれば他の言語を習得するときにもスムーズに習得することができます。

おすすめはpython

私が初めて学習する言語としておすすめする言語がpythonです。

Pythonはとにかく書きやすくて読みやすい!

何より文法が非常に簡単であることから、プログラミング初心者の方でも簡単に読み書きすることができます。

そもそもpythonは読みやすさを重視した言語なので、コードがシンプルにかける「内方表記」などの記述方法があります。

また、ライブラリやフレームワークが充実しているため、サービスの開発がとても楽になります。

注1:ライブラリは、よく使う機能を部品化したもの
注2:フレームワークは、雛形や枠組み

また、pythonは機械学習、A Iに適した言語であることから今後の将来性は高い言語であると言えます。

ただし、デメリットもいくつかあります。
1つ目が、アプリ開発、ゲーム開発には向いていないと言う点。
2つ目が、実行速度が遅いと言う点。

ただし、読み書きのしやすさと将来性は十分にある言語ですので初めてのプログラミング学習には非常におすすめの言語です。

成果がすぐ目に見えるのはH T M LとC S S

先ほどのpythonとは全く用途が違うプログラミング言語ですが、早く成果を実感したのであればH T M LとC S Sがおすすめです。

これらの言語はさきほどご紹介したサイトの見た目を整えるための言語です。

実際にサイトを確認しながら学習できるので、自分の成果が目に見やすいのが個人的にはおすすめです。

プログラミング学習を一人でやろうと思うとなかなかうまくいかないと言うのが現状です。
その原因の一つが成果が目に見えないと言うことだと思います。

ですから、これらの言語は実際に動くことを確認しながら書くことができるので初心者の方にはおすすめの言語です。

Rubyは単価が高い?


では、もう少し実践的なお金の話でプログラミング言語を見ていきましょう。

ここでお話しする言語はRubyと言う言語です。

この言語はサーバーサイドスクリプトに分類されます。
先ほどお話ししたpythonと同じ括りです。

Rubyは、まつもとゆきひろさんと言う日本人の方が開発した言語です。

そのため、日本語の資料が非常に多く存在します。

そして、一番気になるのが年収ですよね。

これは一概には言えませんが、シリコンバレーで最も重宝されるプログラミング言語がRubyであると言うデータもあることからI T企業が求めている言語であることが窺えます。

一概に年収でプログラミング言語の優劣をつけることは出来ませんが、Rubyは間違いなくメジャーな言語であり、将来性も高いと言えます。

プログラミング学習のおすすめサイト

ドットインストール


ドットインストールは、3分動画で細かく分けて解説してくれるプログラミング学習サイトです。
基本無料で使えますが、すべての講座を受講する場合にはプレミアム会員に登録する必要がります。プレミアム会員は月額1080円です。(2020年5月現在)

H T M LとC S Sを学ぶ講座は無料で視聴することができるので、フロントサイドのプログラミングを勉強したい人にはおすすめです。

ドットインストール

paiza


Paizaもドットインストール同様、動画で学べるプログラミングサイトです。
Paizaはドットインストールと大きく異なる点は、開発環境を構築しなくてよいという点です。

開発環境とは、簡単にいうとプログラムを書いて実行させるためのシステムのことです。

正直、プログラミング初心者の方には、この開発環境の構築の時点で挫折してしまいます。
ですが、Paizaを使うことでこの面倒は作業を省くことができるので、スムーズに開発に取り掛かることができます。

特にpythonを学習したい人にとっては、おすすめです。
なぜなら、無料で講座を利用できるからです!

Paiza

プロゲート

プロゲートの大きな特徴は、スマホやタブレットで学習ができるという点です。

パソコンを持っていなくてもプロゲートのアプリをスマホにインストールするだけでプログラミング学習ができるんです!

しかも、キーボードを使ってプログラムを打つ必要もなく、パズルのようにプログラムのコードを当てはめながら学習することができます。

こちらも無料で使うことができます。しかし、一部の機能では有料会員のみとなっていますので全ての講座を受講する場合には課金が必要です。

ただし、基本的なプログラミングを学ぶのであれば無料会員で十分です。

プロゲート

プログラミング入門のまとめ

いかがでしたでしょうか。

プログラミングは、いくら本や動画で学んでも実際に書いてみないことには上達しません。

しかも、今の時代、開発環境を構築する手間を省いてプログラミングを学習できるので本当に良い時代だと思います。

ぜひ、今回ご紹介したサイトからプログラミングを学習して実際に書き始めてみてください。

また、今後もこのサイトでは、プログラミングについてみなさんにとって有益な情報を発信していきます。

今後もチェックしてみてください。