ぼのマイコード・マイライフスマートフォン用の表示で見るかとのぼのマイコード・マイライフ個人開発者かとのぼのプログラミングと雑談のブログです。各プログラミング言語の違いはカラダに例えて理解しよう【プログラミング知識ゼロの超初心者向け記事】2018-03-15各プログラミング言語の違いはカラダに例えて理解しよう【プログラミング知識ゼロの超初心者向け記事】プログラミングプログラミング学習を独学で始めようと考えた初心者が最初に疑問に感じるのがどのプログラミング言語を学習すればいいのか?ということです。思うかと言うと私がそうだったからです。「わからないこと」がわからない状態だと、何から勉強を始めればいいかわかりません。知識があれば必要な情報の取捨選択が可能です。その場合はグーグル検索を駆使して勉強を進められますが、知識ゼロの初心者は上手く検索ができません。そこで今回は、知識ゼロのプログラミング初心者のためにプログラミング言語を人間のカラダに例えて分類したいと思います。プログラミング言語ってたくさん種類がありますよね?実はそれぞれのプログラミング言語は役割が違っています。各プログラミング言語の役割が理解できれば、自分がどのプログラミング言語を選択して勉強すればいいかわかるはずです。人間の機能とプログラミング言語の共通点と役割を比較する早速、各プログラミング言語と人間のカラダの比較をしていきます。最初に、私たち自身つまり「人間」について少し想像してください。カラダがないと始まりません。これがプログラミング言語で言えば「HTML」です。私たちは外出するときは服を着ます。プログラミング言語では外見を整えるために「CSS」を使います。カラダと服だけでは動かない人形と一緒です。同様に、HTML、CSSだけではサイトに動きがありません。動く仕組みが必要です。人間なら「走る」という動作をつけてみます。プログラミング言語なら「JavaScript」でサイトに動きを付けることができます。最後に、このままでは動きがワンパターンなので、いろんな刺激や命令によって行動が変化できるように記憶しその記憶を利用して行動できるように「脳」をつけましょう。脳と神経は繋がっていて与えられた情報や条件で複雑な動きが行います。これがデータベースを操る「サーバーサイド言語」になります。「PHP」とか「Ruby」が有名ですね。図にすると以下のようになります。人間も細かく分類すると色んな機能が組み合わさっていることがわかりますが、プログラミング言語も同じです。各プログラミング言語にはそれぞれ役割があり、それらの言語は組み合わさって初めてWebサービスとなるのです。Pythonなど(サーバサイド言語)ちなみに、こういった人間として必要な機能をあらかじめ用意して開発を簡単にしてくれるのが一般的にフレームワークと呼びます。」「Laravel」が有名ですね。以上を踏まえて、あなたがWebサービスを作る場合にどのプログラミング言語を使っていくか具体的に考えてみましょう。今回はツイッターを作ってみたい場合を想像しましょう。最初に画面に作りますね。人間でいうカラダです。その画面は「HTML」で作ります。「HTML」だけでは、文章や数字だけの簡素な状況なので装飾をしていきます。今のWebサイトはおしゃれですよね。その装飾をする時に使うのが「CSS」です。HTML、CSSだけではただの静止画です。Webサイトに訪問してくれたユーザーが名前を入力したら「ようこそ〇〇さん。」と表示させるようにしましょう。この時に使うのが「JavaScript」です。次に、色んな人のツイートが保存できるようにデータを保存します。データベースに「MySQL」を使ってデータを保存できるようにします。そのデータベースと画面のやりとりには、データベースと画面を繋ぐ「PHP」や「Ruby」などの言語を使います。これでWebサービスの完成です。以上のように、Webサービスには段階がありその段階ごとにいくつかプログラミング言語があるので、自分でどの言語にするかチョイスをし組み合わせます。(余談ですが、この組み合わせは会社が作っているWebサービスごと異なるので、エンジニアは各サービスごとに色々な知識が必要になったりこだわりを持つのです。これがネット上で日夜議論されており、知識のないプログラミング初心者の目に入ると混乱する原因となります。JavaScriptを勉強する理由プログラミング初心者が「HTML」「CSS」「JavaScript」を勉強するように勧めれるのは、人間でいえば「体と服と決められた動き」がまず基本だよね?という理由からです。プログラミング初心者が作りたい真のWebサービスは、単純な反応を繰り返すようなサービスではないですよね。ユーザーごとに複雑な動きをするWebサービスのはずです。なった時にサーバーが必要になり「MySQL」や「PHP」「Ruby」などのプログラミング言語が必要になるのです。これで、自分が作りたいサービスを作るために学ぶべきプログラミング言語がザックリとわかったはずです。加えて、最初から「PHP」や「Ruby」を勉強するのはちょっとハードルが高いこともわかったと思います。「覚える言語が何種類もあって挫折しそう...」と不安に思う方は安心してください。プログラミングは基礎が固まれば他の言語にも応用が効きます。日本語が理解できれば、東北弁のような方言が覚えやすいのと似ています。私は、プログラミング初心者が挫折する8割は、プログラミング学習に必要な大前提の知識(プログラミング的思考と概念)が抜けて学習を始めてしまうのと、熱意がある最初に正しい情報にたどり着けないことが原因だと思っています。プログラミングを始める前にこの記事で各プログラミング言語の役割と違いのイメージを持っていただければ幸いです。メモ英-自分の言葉で英語を覚えよう!あなたの書いたメモや日記を英文に翻訳して単語帳ように管理できる無料アプリです。自分の文章から感情の把握(トラッキング)ができるプライベートオンライン日記。パソコン(PC)・iPad・スマホで簡単管理。AIによる文章分析で日々の感情を客観的に把握できます。(135)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。