株式会社I-SEED(アイシード)|大阪・心斎橋のWEB制作集団

プログラミングの学習で知っておきたいこと

プログラミングの学習で知っておきたいこと

YY
この記事は、2020年2月26日に編集し、約 6 分で読めます。

これからプログラミングを学びたい方の多くはプログラマーやITエンジニアとして
仕事をしていきたいという方が大半だと思います。

プログラミングの知識は結構たくさんあってどれから勉強していっていいか
わからないと感じると思います。

プログラミング言語は世の中にたくさんあります。

何から手をつけていいかという質問に対しては興味を持ったものからやってみるのが
一番だと思います。当たり前かもしれませんが、書店やネットっで検索してみて
興味のあるものからやってみる。これが早いです。

ただ、興味があるのかどうかすらもわからないこともあると思います。
そもそもRubyってなに?PHP?Wordpress?みたいに情報がありふれすぎていて
何が何やらわからない状況で、興味があるのかどうかもわかりません。

なので、プログラミングを勉強するにあたって知っておくべきことを説明していきます。

プログラムの役割は2種類

まずは、ざっくりですがプログラムの機能として分けると、

  • フロントエンド
  • バックエンド

この2つです。
かなり広い意味でジャンル分けするとこれしかありません。

 

というのも、昔からインターネットの仕組みとして
「クライアントサーバ」モデルが基本になっているからです。
クライアント(PC、スマホ)からサーバにWebページを閲覧するのに
データをもらう側と提供する側という2つの役割をはっきりと分けているからです。

 

PCやスマホ(クライアント)で動かすプログラムをフロントエンド
サーバ側で動かすプログラムをバックエンド

 

ITの知識を身につける上でこのモデルを意識するとわかりやすいです。
今後勉強していくのに、このイメージは持っておくと良いと思います。

Webサイトはテキストデータでできている

フロントエンドを理解する上で知っておきたいことは、
普段ブラウザでWebページを閲覧しているWebサイトが
きれいな装飾をされているのはPC、スマホで動いているブラウザのおかげです。
サーバ側ではHTML言語と呼ばれているメモ帳などでも開けるテキストデータをPCに
インターネットを介して提供しているだけです。

そのHTML文書をみなさんのPCにあるブラウザが解読して表示してくれるため、
きれいなWebページができあがります。

 

ユーザのPC、スマホ側で動作するようなプログラムを作成したものを
フロントエンドと言います。

 

CSS、Javascriptについても同様です。CSS、Javascriptも
サーバ側が送信してくる情報はテキストデータです。
それをブラウザがCSS、Javascriptの言語で書かれているプログラムと
認識することでレイアウトを構成したり、動きのあるサイトとして表示してくれます。

 

主にフロントエンジニアと呼ばれる方々はHTML文書、CSS、Javascriptを
メインにWebサイトのレイアウト構成やサイトに動きをつけたいなどの要望に応える
仕事がメインになります。

 

フロントエンドに関連した仕事をやっていきたいのであれば、
HTML、CSS、Javascriptを勉強してくのが良いと思います。

ユーザのアクションに答えるのがバックエンド

バックエンドに関して言うと、単純にWebサイトを表示するだけであればサーバは保存している
HTML文書をリクエストがあれば渡すだけになります。

 

サーバ側はHTML文書をデータとして保存して、
クライアントからリクエストがあればそのHTML文書を送信するだけです。

 

これだけであればサーバ側の機能はすごくシンプルです。

 

ですが、最近ではインターネットを使ったサービスは単純にテキスト文書を読む以外にも
ネットでモノを買ったり動画を閲覧したりといろいろなサービスを提供する企業があります。

 

そういった複雑な機能をサーバがクライアントに提供する機能する必要が出てきました。
こういった機能を持ったWebサイトを「Webアプリケーション」と呼びます。

 

複雑な機能をシンプルに言うと、
バックエンドが担当する機能としては、イメージとして

 

ユーザがWebサイトでボタンを押す時

 

これが一番わかりやすいと思います。
ユーザがボタンを押す時というのは、「会員登録する」「ログインする」「商品を購入する」など
何かアクションを起こす動作だからです。

 

例えば、楽天市場やAmazonであなたも含めて
すべてのユーザの購入履歴をだれしも見ることができたら、大変なことですよね?

 

購入履歴はアクセスしてくるユーザ個別に管理する必要があり、
ユーザが見たいとアクションを起こす時にそのユーザだけのページを表示しなければなりません。

 

会員登録はユーザから「この情報で登録して」というアクションになりますし、
ログインするのは「このIDとパスワードでこのサイトにアクセスしたい」というアクションになります。

 

これらすべてバックエンド処理が必要になり、HTML文書だけでは実現できません。

なぜかと言えば、HTMLはユーザのブラウザ上で動作するので、サーバに保存されているデータについての
アクセスが基本的にはできない仕組みになっているからです。

 

バックエンドについては、プログラミング言語は様々なものがあります。
PHP、Ruby、Python、Java、など

 

それぞれ特徴もありますが、基本的にはバックエンドのシステムを作っていくことに変わりはないので、
どれで組んでいっても同様のものになります。

 

プログラミング言語の選択は興味があるものからやってみるのが一番早いです。

 

筆者のおすすめとしてはPHPが良いと思います。

 

というのも、WebサイトをWordpressというシステムで作られているところも多く、
WordpressはPHPを元に作られているからです。

 

また、IT業界では「オープンソース」という考え方があり、
みんなが使うであろう機能をまとめて世の中で共有されています。

 

そういった機能をまとめられたものを「ライブラリ」といいます。
このライブラリがPHPは特に豊富というのも魅力の一つです。

 

最近では、バックエンドのシステムを開発しやすくするために、
ライブラリをまとめてWebアプリケーションを作りやすくしたものを
「フレームワーク」と言います。

 

このフレームワークもPHPは充実しているので、結構広く使えるプログラミング言語だと感じます。

まとめ

最後にまとめると、以下のようになります。

 

・フロントエンドの仕事をしていきたいならHTML、CSS、Javascript
・バックエンドの仕事ならPHPがおすすめ

 

今回はバックエンドに関してはプログラミングのみ限定した話しにしていますが、
細かく言えばバックエンドはデータを保存するデータベースやサーバの設定など
この領域の仕事になったりします。

 

ちなみにですが、筆者はバックエンドのエンジニアとして仕事をしております。
弊社では面接とともに希望があれば問題集をお渡ししてチャレンジしてもらって、
その解答をご提出いただくことでアピールポイントとしていただけるような試みも行っております。

 

採用に関するお問い合わせの際に問題集にチャレンジしたい方は
その旨を人事にお伝え下さい。

この記事を書いた人
Y
Yをフォローする

WEBの事でお悩みなら、まずは一度 I-SEED にご相談ください!

I-SEED は 「デザイン」「SEOマーケティング」「システム開発」を併せ持つWEB制作会社です。

コーポレート、オウンドメディア、ECなど様々な分野のサイト制作を得意としています。システム開発も自社で行っているので、様々なプロジェクトに柔軟かつ迅速に対応できるのが強みです。

大阪に良いWEB制作会社がいないとお困りの方は、是非一度 I-SEED までご相談ください。

I-SEED では随時採用も行っています。各種エンジニア、ディレクター、デザイナー、ライター、マーケターの全職種を募集しています。ご興味がある方は採用ページもご覧ください。

ブログページに戻る