katonobo’s blog

プログラミング中心の雑記ブログ

 お知らせ

 プログラミングスクールの口コミサイト「プロログ」をリリースしました プロログ

 プログラミングに興味ある方はぜひご覧ください!

プログラミング言語が色々種類があって何を勉強すればいいかわからない人へ!人間の構造に例えてプログラミング言語を分類してみたよ!

こんにちは。katonoboです。

プログラミングを始めようと思う人が最初につまずくのが、どの言語を勉強すればいいのか?ということです。近くにプログラミングをしている人がいれば多分親切に教えてくれるので問題ないと思いますが、周りに詳しい人がいない場合は全然わからないと思います。

 

なぜそう思うかと言うと、自分がそうだったからです。

 

「わからないこと」がわからない状態だと、どこから勉強を始めればいいかわかりません。ある程度知識があれば、情報の取捨選択が可能になるため、グーグル検索を駆使して勉強を進められますが、初心者はそうは行きません。とりあえず目についた言語片っ端から勉強してみて、難しくて挫折したりします。

また、結局これが何に使えるの?と目的がわからないまま勉強をする羽目になり、モチベーションが持ちません。

「プログラミング言語の種類」とかのキーワードを調べても、「フロントエンド」だ「サーバサイド」だ、オブジェクト指向ならこの言語だ!など、謎の言葉ばかりです。

 

初心者にとっては、こいつらわざと難しくして意地悪してるんじゃないの?と疑うレベルでわけがわかりません。

 

そこで今回は、そんな人のために人間に例えてプログラミング言語を分類したいと思います。この方法を使えば、自分が作りたいサービスがあるなら、どの言語を勉強すればいいかわかります。専門用語を極力避けるため、わかりやすいと思います。ちなみに、今回は代表的な言語に絞っています。

 

 

 では始めましょう!

さて、あなたは神です。

 

誤解しないでください。気が狂ったのではありません。

 

あなたが神様だとして、人間を作ろうとしています。その時に神様であるあなたは、魔法の呪文(プログラミング言語)を使って、人間(webサービス)を作ります。

 

それでは、想像してください。人間をどうやって作りますか?

 

 

まずは肉体を作りますよね。これがないと何も始まりません(①)。

 

f:id:katonobo:20180312100119p:plain

 

そして、裸のままだと表に出すのも恥ずかしいので、服を着させます(②)。

f:id:katonobo:20180312100135p:plain

外見はこれでいいでしょう。

 

このままではマネキンと同じなので、次に、動物のように外部から受けた刺激に反応できるようにしましょう。今回は、もし包丁で刺されたら痛い顔するようにします(③)。

f:id:katonobo:20180312100406p:plain

 

 

どうでしょうか。表面上は人間らしくなりました。

 

しかし、人間には脳があり、ものごとを記憶することができますね。

毎回包丁で刺されて、痛いという表情をするだけでは芸がありません。

 

では脳をつけましょう(④)。

 

これで物事を記憶できるようになりました。今回は包丁というものを記憶しました。

 

さて、これまた包丁というものを覚えただけでは全く意味がありませんので、神経を作り、脳と体が連動するようにしましょう(⑤)。

そして、もし、包丁を見たら怖いものなので、逃げるように行動するようにしました。

f:id:katonobo:20180312101155p:plain

これで人間(webサービス)の出来上がりです。

 

それでは、これがプログラミング言語ではどのように対応するか見ていきます。

 

下の図をご覧ください。

f:id:katonobo:20180312095329p:plain

 

①人間の骨や肉などの肉体

→ HTML

 

②服

→ CSS

 

③外部から刺激を受けて動く

→ Javascript

 

④脳(記憶)

→ MySQL (サーバの言語)

 

⑤神経・シナプス

→ PHP Ruby Python などなど

 

(補足:一から作るのは面倒だから、「日本人」見たいな基本パックを活用する場合

→フレームワーク Ruby on Rails ,CakePHP ,Laravel)

 

それでは、以上を踏まえて、あなたがWebサービスを作る時に、どの言語を使っていくか見ていきます。

 

まず最初に、画面に作りますね(人間でいう肉体)。そしてそこに文章などを書いていきます。その画面はHTMLという言語でできています。

 

次に、HTMLだけだけでは、文章や数字だけの素っ裸のような状況なので、装飾をしていきます(人間の服)。今のウェブサイトはおしゃれですよね。その装飾をする時に使うのがCSS言語です。

 

このままだとただの静止画のようなものなので、サイトを見ている人が例えば名前を入力したら、「ようこそ〇〇さん。」と表示させるようにしましょう(外部からの刺激)。この時に使うのがJavascriptです。

 

ツイッターなどのように、色々なボタンを押すと、ツイートが保存されたりするような、データが保存できるようにしたいので、データを格納するデータベース(脳)にMySQL(正確にはSQL文)で保存できるようにします。

 

そして、そのデータベース(脳)と画面のやりとりを行うために、データベースと画面を繋ぐ、PHPやRubyなどの言語を使います。

 

これで、Webサービスの完成です。

 

 

このように、まず初心者はHTMLとCSSを勉強するように勧めれるのは、人間でいえば「体と服がなきゃ始まんねーよ」という理由からです。

そして、Javascriptを学べば、外部からの刺激(何かの入力など)に対してアクションするサイトができるのです。

 

ただし、おそらくみなさんが夢に描いているwebサービスは、単純な反応を繰り返すようなサービスではないですよね。もっと複雑な動きをするもののはずです。そうなった時に、Mysqlや、PHPなどのプログラミング言語が必要になるのです。

 

これで、なんとなく自分が作りたいサービスを作るために学ぶべき言語がわかったはずです。

加えて、いきなり神経に該当するPHPやRubyを勉強するのはちょっとハードルが高いこともわかったと思います。

 

今はプログラミング学習サイトも充実していますので、ぜひ活用して見てください。

 

 

www.katonobo.com

 

【おすすめ学習サイト・書籍】

 

https://dotinstall.com/

 まずはこのプログラミング動画学習サイトで勉強するといいです。

 

 もしHTMLとCSSの基本がわかったら、PHPを使ってサービスを構築してしまいましょう。本書はコードをちゃんと書くのでやり遂げるのは少しタフですが、基本をしっかり身につけられます。