この記事では、Webプログラミングとは何かをわかりやすく解説します。
こんにちは。侍エンジニアブログ編集部の小林です。
新しい季節ですね。新しいキャリアを歩み始める方を見て、プログラミングの学習を始めようと思う方もいるのではないでしょうか?
とはいえ
どの言語を学べば良いのかな?
何から始めれば良いの?
初心者だけどできるようになるかな?
自分に向いてる見いてるのかな?
など色々疑問は尽きないですよね?
でも最初はみんな初心者。むしろアイデアが形になったり、みんなに使ってもらうのって快感ですよね?
そこで新たな一歩を歩み出そうといている皆さんのために、知っておいた方が良いことをまとめてみました。
とってもザックリとした内容ですが、みなさんの背中を押せると幸いです。
- WebプログラミングとはWebサイトやアプリを開発すること
- 主な開発箇所はフロントエンド(見た目)、サーバーサイド(裏方)に大別される
- Web開発にはHTML,JavaScript,PHPなど言語が利用される
そもそもWebプログラミングって何?
webとはそもそもなに?
webとはもともと『網目状』という意味をもつ言葉です。現代ではその他にも意味が追加された用語ですが、この記事で言う『web』とは、網目状に張り巡らしたネットワークのことだと考えてください。
出展:サルワカ
WWW(ワールド・ワイド・ウェブ)とは?
webサイトのURL(ネット上の住所のようなもの)のかしらに付いている『www』って付いているのをみたことありませんか?
あれはワールド・ワイド・ウェブ(直訳で世界に広がる蜘蛛の巣)と言って、無数に存在するデータを繋いでいるシステムのことで、現代で『ウェブ』と言った場合こちらを指します。
文字通り現代では世界に張り巡らされた網と言えそうです。
Webプログラミングとは、上の図のように網の様につながったネットワーク上で使われるアプリケーションやサービスの開発のことです。
プログラミングってそもそもなに?
プログラミングとは、コンピューターに人間の思い通りに仕事をしてもらうために指示を出すことです。
例えば人間相手なら「よろしく」の一言で済む指示でも、コンピューター相手では「何時にこの手順でこの作業をしてくれ」と、細かく具体的な指示する必要があります。
コンピューターは、人間の言葉を理解できず、曖昧な命令では実行できません。さらに指示する順番も重要です。
そのため、コンピューターが理解できる言語で、「人間が意図した通りに仕事をするよう命令する」プログラムを書いて渡します。この行動をプログラミングと言うのです。
プログラミング言語は何を作るかによって違う
これからwebプログラミングを学習したい人が最初に考えることは恐らく「どの言語を習得しようかな?」ではないでしょうか?
一口にプログラミング言語と言っても様々な分野の様々な分野があります。例えば人間の体に手足もあれば心臓などがある様に。
今回は基本的な二つの分野について書きたいと思います。
フロントサイド
例えば『食べログ』のページをみたことありますか?そのページでみなさんの目に触れている部分は
- HTML
- CSS
- JavaScript
この3つで構成されており、それぞれ役割が異なります。
まずHTMLは文章や画像を表現する役割を、CSSはその文章や背景の色を変えたりするものです。
一般的なホームページなどは、この二つを使えば作ることができます。
でも、動いたりアクションがあったりした方が、読みやすいし楽しいですよね?
そこでJavaScriptの出番です。
例えば文字や画像にポインタを合わせると色が変わったり、ポップしたり、アクションをつけるのがJavaScriptは大変得意です。
ここまではプログラマーでなくとも、デザイナーや自分でブログ書いている方なんかもそれと知らずにやっている事があります。
サーバーサイド
一方サーバーサイドの言語は、目に触れる部分ではなくアプリやサービスの内部を担当する言語です。
先ほど例に挙げた『食べログ』のサイトを例に挙げるなら、リンクを押したら別のサイトにアクセスするとか、情報を蓄積したり、レビューを集計したりなど、サービスの根幹となる部分を作るのがサーバーサイドです。
コンピューターは基本的に人間の言葉を理解できず、”彼ら”がわかる言語に翻訳する必要があります。その翻訳の方法の違いで主にスクリプト言語とコンパイラ言語があります。
スクリプト言語は
- PHP
- Ruby
などが含まれる言語で、命令の書き直しが簡単と言う利点が挙げられます。web開発は変更が大変多いため、これはすごい利点と言う方も少なくありません。コンピューターが命令を都度読みながら実行するため、動作のスピードを要求されない物をプログラムする場合に向いています。
一方コンパイラ言語は
- Java
- C言語
が含まれます。一旦コンピューターがわかる言語に翻訳をしてプログラムを実行するので、コンピューターの動作が速いのが利点とされています。普段いじることは少ないけど、円滑な動作を求められる物やサービスの根幹になる様な事に使われます。
特徴が違うのでやりたい事に合わせて選ぼう
この様に言語にも特徴があるので、身につくスキルも異なると言えるでしょう。
人間の言語でも、例えば医師はカルテの記入などの見えない部分は『ドイツ語』で、みなさんとの会話は『日本語』で行なっています。
それと同じ様に、どの言語を身につけると何ができるかも変わってきますので、やりたい事から先に決めるのも良いでしょう。
また一つのアプリやサービスを一人で作る場合は複数の言語を習得することが必要です。
例えば『食べログ』のようなサービスを一人で作る場合、フロントサイド言語3つとサーバーサイドの言語の計4つは最低必要になります。
ですので言語を一人で最初に「これ」と決めず、スクールの無料体験を受け、コンサルタントなどに相談してみるのもいいでしょう。
相談したい人は下記を覗いてみてください!
初心者が学習する前に知っておくべき注意点
学習時間を甘く見積もってる
だいたい一つの言語を独学で習得するのに2000時間かかると言われています。これを一日2時間勉強する時間を確保すると考えて、1000日(約3年)と言う計算になります。
しかも赤ちゃんが歩き出すのと同じで、最初は誰でも失敗続きです。思った通りに行くことはそうそうありません。
しかしスクールなどで適切な指導を受ける事で、失敗から早く立ち直ります。そうする事でプログラミングの場合、約8割の時間を削減できます。
また一律同じ時間がかかるわけでもなく、一つの言語を覚えると共通で使える知識ありますので、そんなに気負わずに相談してみてください。
モチベーションは崩れやすい!?
みなさんは長距離走はお好きですか?実は私はあんまり目標がなく走るのは得意ではありません。
長距離走と同じ様にプログラミングも目標がない状態で始めると、つまずいた時にそのまま学習を止めてしまう方向に傾きがちです。
しかしプログラミングも
「こんなアプリを作りたい」
「これがあったら便利」
「俺ならもっとこうしたい」
みたいな目標や情熱があると、楽しく学べます。
また楽しい時だけではなく、つまづいた時にも
- 『なぜこうなったんだろう?』
- 『こうすればいいのか!』
- 『楽しい!次はもっと良いものを作ろう!』
と言ういい循環が生まれます。
なお、IT企業への転職や副業での収入獲得を見据え、独学でプログラミングスキルを習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
\ 給付金で受講料が最大80%OFF /
自分の目標と相性の良い言語を選ぼう
人間の言語に特徴がある様に、プログラミング言語も様々な特徴があります。
私たちの言語で例えるなら、日本語はもちろん、英語やスペイン語、中国語は、仕事でも日常でも、とても広い分野で使えるでしょう。
一方ラテン語やギリシャ語、ヘブライ語などは、日本国内での普通の会話で使える機会はものすごく限られてしまいますが、宗教や芸術、歴史などの一部の分野の研究では欠かせない言語です。
それと同じ様に、プログラミング言語も色々な分野で使える言語もあれば、案件は少なくてもある分野では必須の言語、また需要はあるけど習得している人が少ない言語など、それぞれに特徴があります。
またご自身が目指す働き方をイメージしていただけると、言語を選ぶのが簡単になります。
例えば一般的に「Ruby」や「PHP」、人工頭脳で使用される「Python」などは仕事する場所を選ばないリモートワークに向いており、
「Java」やゲーム製作に使われる「C言語」は客先に常駐する様な長期的な案件に向いていると言われています。
現在、プログラミング言語は約200種以上あると言われています。
人気のある言語のランキングをまとめた記事もありますので、こちらも読んでみてください。
結論:独学はオススメできない
プログラミングの学習は独学者のほとんどがが挫折していると言われています。その理由の一つが、つまずいた時に問題を解消する方法がわからないまま時間が経過してしまうことがあります。
一本の矢なら折れてしまいますが、三本の束になれば折れづらいとも言います。
ですので、まずはスクールなどの無料体験やカウンセリングを受けてみて、自分一人で解決しようとしないことが大切です。
このような疑問を持つ人もいるかと思います。
弊社で行っている無料カウンセリングでは、あなたがなぜプログラミングを学ぶのかヒアリングして目的を明確にします。その明確になった目的を達成するために必要なプログラミング言語や学習プランの提案をさせていただいています。
この学習プランが明確になれば、最速でエンジニアになるイメージが湧くので学習を進めるモチベーションが上がります。
その他にも業界屈指のコンサルタントによって、あなたが抱える悩みや疑問にお答え致します。
無料カウンセリングは下のカレンダーより簡単に申し込みできます。オンラインでも受講は可能ですので、自分にぴったりな学習プランが気になる人は気軽にお申し込みください。
お急ぎの方はこちらからお問い合わせください。
読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。
再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。
カウンセリングはオンラインにて実施しております。
※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します
1.ご希望の日時を選択してください
2.必須事項を入力してください
ご予約ありがとうございます!
予約が完了しました。ご予約情報とご参加前の準備をご確認ください。
【ご予約情報】○月○日(△) ○○:○○〜
カウンセリング参加に向けてのご準備
※記入いただいたメールアドレスに確認用メールをお送りしておりますのでご確認ください。
※オンラインカウンセリングはGoogle Meetにて実施します。URLが発行したら別途ご案内いたします。
※メールが届かない場合は、SAMURAI ENGINEERサポート(support@sejuku.net)までご連絡ください。
まとめ
今回はプログラミング言語の初歩をまとめてみました。
これからプログラミングを学ぶみなさんのワークスタイルや生活、ひいては人生が良い方向に向かって行く入り口になれたなら幸いです。
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。