プログラミングの学び方(2) – プログラミングを学ぶ前に必要な基礎知識
前回では、プログラミングの学び方の姿勢、ITの基礎知識の重要性について、簡単に触れた。今回は、実際にプログラミングの学び方の1つである
ITの基礎知識の重要性(Web編)をお伝えする。
ITの基礎知識(Web編)
実は、ネットワークに関する知識は結構重要な要素なのだが、プログラミング講座を見てると、この部分をかなり端折っていきなり開発環境の構築からやり始める講座が多い。
だが、私の経験上、プログラミングの開発環境よりももっと重要な知識がある。
それは、プログラムがどこでどうやって動くか?だ。
Webサイトを作るときに必要なIT知識
そもそも、Webサイト上で受付フォームやデータを見せる場合、どのような知識が必要だろうか?その1つにサーバーの知識が必要になる。
Webサイトを構成するプログラムを動かすには、専用の場所(Webサーバー)が必要になる。また、予約の受け付けたデータを保存し、場合によっては照会するためのサーバー、つまりデータベースサーバーも必要だ。
だが、最近は、レンタルサーバーでプログラムの動作環境を簡単に構築できるため、それらの知識がなくても簡単に動かすことができるようになっている。
だが、それでは、そもそもどうやってプログラムが動くのか?が理解できないし、それだと環境が変わったときに応用が利かない。
また、サーバーサイド、フロントエンドといった、プログラムが動く場所や役割も正しく理解しておかないと、実装するときに混乱してしまう。
まずは、そういったプログラムの動作環境を1つ1つ整理していこう。
サーバーサイドで動くプログラム
サーバーサイドとは、文字通りWebサーバー(≒アプリケーションサーバー)で動くプログラムだ。ただし、自分の端末の中に構築する開発環境は、サーバーサイドのプログラムも動くようになっている。
サーバーサイドのプログラムは、自端末のPCにインストールされているブラウザ(例:Chrome、InternetExplorer)から通信(リクエスト)したときに、Webサーバー内で実行される。
他にもバッチ処理と言って、定期的に実行したり、ブラウザからのアクセスとは無関係にWebサーバー側で実行したいといったケースにも用いられる。
代表的なプログラム言語としては、
- Python
- PHP
- Java
- Ruby, Ruby on Rails
- C#
- VB.NET
といったものがある。
クライアントサイドで動くプログラム
一方、先ほど出てきたブラウザ上でもプログラムを実行することができる。
特に、クライアントサイドで動作するプログラムは、アニメーションや画面上のアクションをつかさどる実装(≒プログラムを書くこと)を行うのが普通だ。
中にはプログラムと呼べないものもあるが、代表的な言語は次のようなものだ。
- HTML
- CSS
- Javascript / jQuery
最近では、これらの実装を標準化したものとして、bootstrapというフレームワークがある。フレームワークについては別途詳しく解説する。
その他のプログラム
これだけではない。実際には、以下のようなプログラム言語も存在する。
- SQL:データを高速に扱うプログラム(データベース言語)
- シェルスクリプト:サーバーサイドで、主にOS上で動かすプログラム
これらの知識をベースに、どの場所にはどのようなプログラムが必要か?を正しく理解したうえで、プログラムを1つ1つ学んでいくことをお勧めする。