プログラミング初心者がはじめに取り組んだほうがよい言語はなに?
エンジニアを目指してプログラミングを勉強する人が年々増えてはいますが、どの言語から手をつけて良いか悩む人も多く目にします。
例えば、今ホットな機械学習であればPythonが必要ですし、Webエンジニアを目指すのであればRubyを勉強することになります。
ただ、いきなりPythonやRubyを勉強することはあまりおススメしません。
確かにPythonやRubyは最終的に勉強すべきプログラミング言語かもしれませんが、これらの言語は初心者には難しく感じる部分がたくさんあり、いきなり取り組むと挫折する可能性が高いです。
そこで、今回は挫折せずにプログラミングの勉強を続けるには、どの言語から学習すれば良いかを説明します。
目次
まずはHTMLとCSS
まずはHTMLとCSSから学習をスタートすると良いです。
最初は、HTMLとCSSは何か?を少し説明した上で、なぜHTMLとCSSから学習をスタートした方が良いかを説明します。
HTMLとは
HTMLとは、主に、Webサイトの見た目をデザインするため言語で、Hyper Text Markup Language(ハイパーテキスト・マークアップ・ランゲージ)の略です。
こんな感じのものですね。
<h1>大見出し</h1>
<p>これはテキストです</p>
HTMLはマークアップ言語と呼ばれ、プログラム言語とは少し異なる性質を持っています。
マークアップとは、テキストや装飾といった情報を、コンピュータが認識できるようにすることです。
つまり、HTMLタグでテキスト文章を囲うことで、中にあるテキスト(これを要素と呼びます)を構造化してブラウザ上に表示しているのです。
CSSとは
CSS(カスケーディング・スタイル・シート)とは、Webページのテキストの表示スタイルを指定する言語です。
HTMLやXHTMLなどで作成されるWebページに色やレイアウトによる装飾を適用するために、CSSが利用されます。具体例でいえば、テキストを赤字にしたり、Webページ全体の背景色を変えたりすることができます。
CSSはHTMLと併せて使うのが一般的です。 HTMLがWebページ内の構造を決める役割を担い、CSSは装飾する役割を担っています。
変更結果が、Webページ上にすぐ反映される
HTMLとCSSを勧める理由の1つとして、「変更した結果が、Webページ上にすぐ反映される」ことにあります。
プログラミング言語であれば、それなりの量を書いてから実行しないと、Webページ上に反映されないケースが多いです。特にはじめてプログラミングを学習する人は、書いたプログラムでエラーが発生する可能性が高いため、エラー解決が終わるまでWebページに反映された結果を見ることができません。
最初は我慢できるかもしれませんが、この我慢が積み重なると、いつかストレスに変わります。
複雑な操作を要求されない
プログラミング言語は、文法や書き方がお作法のようにカッチリ決まっていることが多いです。
それに対してHTMLやCSSはテキストをタグで囲んだり、装飾したい要素を指定していくだけなので、プログラミング言語を書くよりも複雑なお作法や操作を要求されません。
とくに、はじめて学習する人にとっては大事なポイントは、Webサイトを作るとはどんな感じか?のイメージを掴むことです。HTMLとCSSだけでもWebページは作成できますので、イメージを掴むにはうってつけです。
挫折せずに学習を最後までやり切るための最善ルートは、Webページを構築できたという経験や自信をつけてから、少し難しいプログラミング言語に挑戦するルートですので。
余裕が出てこれば、JavaScriptとjQueryへ
HTMLとCSSを学んで、それなりにWebページの構造がわかってきたら、ぜひJavaScriptやjQueryにトライしてみましょう。
JavaScriptとjQueryを使うことで、Webサイト上の要素を出し入れしたり、エフェクトをつけることができるようになります。
JavaScriptとは
JavaScriptとは、プログラミング言語の1つで、主にクライアント側…我々のPCにインストールされているブラウザ側で動作する類のものです。
JavaScriptの強みは、Webページを構成しているオブジェクトからイベントを受け取ると、即座に実行できる点にあります。
これはJavaScriptがクライアント側で動作しているから可能なことで、PHPやRubyのようなサーバー側のプログラミング言語なら、こうはいきません。
通常、サーバーサイドの言語はクライアントサイドからのリクエストがないと動作しないからです。サーバーおよびクライアントサイドについては、のちほど説明します。
jQueryとは
jQueryとは、javascriptのライブラリです。
ライブラリとは、簡単に言えば、Javascriptによって作成された関数の集合体です。
ライブラリを用いるメリットは、2つあります。
- あらかじめ実績のある関数を使うので、バグが減る
- 自分で関数を作らなくて済むので、開発速度が上がる
jQueryを使うと、以下のようなことができます。
- ボタンを押すと、Webサイトに表示されている要素が消える
- スクロールすると、ボワンという感じのエフェクトで画像や文字が表示される
- カーソルが画面の上に来ると、画面が少し小さくなる(または大きくなる)
上で挙げたのはほんの一例で、細かく挙げればキリがないくらいのことができます。
いまでも多くのページでjQueryが使われているので、Web開発に関わるのであれば、必ず覚えておくべきスキルです。
書き方は少し独特なので慣れが必要ですが、2週間くらいで慣れてくると思います。
はじめはコピペでOK
JavaScriptとjQueryを学ぶ際の注意点その1ですが、はじめはコピペで構いません。
コピペした後にサイトがどう動くのか?を目で見て理解・経験することが重要です。
ただ、単純にコピペするだけでもダメで、どういう風に動いているのかを少しで良いので調べてみましょう。はじめは全然わからないと思いますが、完全に理解できなくても大丈夫です。
まずは以下の習慣をつけることが大事です。
- このプログラムはどう動いているのか?を少しだけ考える
- わからないことがあれば、自分で少しだけ調べてみる
実際の仕事を進める上で、わからない所があったときは、自分で考えて調べることが当たり前になってきます。
もちろん、先輩や上司に質問や相談することもできますが、手ぶらのままで質問するのは良しとされない文化です。最低でも、「ここまで調べたけど、わかりませんでした」の状態に持っていけるようにはなっておきましょう。
注意!深入りはしないこと
学習を進めていくとわかり始めますが、Javascriptはややこしい作りになっています。
はじめて間もない内は「こう書けばこう動くんだ!」くらいの感覚で学習を進めて問題ないです。
深入りはやめた方が良いです。
わからないことが増え過ぎて、学習ペースが極端に落ちます。
PHPをやってみよう
HTML、CSS、Javascriptまで一通り学習したのであれば、いよいよPHPの出番です。
PHPはサーバーサイドの言語とも言われています。
下の図を見て下さい。
Webの仕組みには、フロントサイドとサーバーサイドと呼ばれる2つの領域があります。
先ほど説明した、HTML、CSS、Javascriptはフロントサイドの部分で使われているものです。
一方、PHPの方がサーバーサイドで使われるものですね。
Web系のエンジニアは、この2つのサイドに分かれて作業することが多いです。
俗にいう、フロントエンドエンジニアとバックエンドエンジニアとは、フロントサイドかサーバーサイド、どちら寄りの言語が専門のエンジニアかという話です。
PHPとは
先ほど少し説明しましたが、サーバーサイドで動くプログラミング言語の1つ、それがPHPです。
PHPを使うと、データベースからデータを取り出すことができたり、動的にHTMLやCSSを生成することができるようになります。また、フロントサイドから受け取った情報をベースに、違うWebページへジャンプしたりもできます。
例えば、データベーAmazonや楽天の商品一覧ページを表示したり、「詳細を見る」ボタンを押すると、商品の詳細を説明するページにジャンプしたりしますよね?ああいったことができます。
なぜPHPをおススメするのか
プログラミング言語の中でも一番やさしいからです。
JavaやC#は書き方に制約が多いため、慣れないうちはエラー解決に振り回される羽目になります。
さらにコンパイルという、ソースコードをプログラムを実行できる形式に変更する作業も必要で、こちらの方でもエラーが多発することが予想されます。ですので、初心者には敷居が高いです。
PHPのほうはどうかと言うと、書き方の制約は多少はあるものの、JavaやC#に比べれば少ないですし、コンパイルもしなくて良いです。
また、PHPとHTMLは同じファイル内で使うことが多いため、プログラミング言語とHTMLによるWebページの作成方法や仕組みのイメージを掴みやすいです。
そのため、初心者にはPHPをおススメしています。
PHPの次は何をすればいい?
PHPを勉強したら、次は実際に案件などでよく使われているフレームワークの学習に移ると良いです。
実際の案件に近いことをどんどん学んでいかないと、仕事を受けられないので。
簡単に見てみましょう。
フロントエンドエンジニアを目指すならWordPressの学習
フロントエンドに進むことを考えているのであれば、WordPressを学習することをおススメします。
WordPressとは、CMS(コンテンツマネジメントシステム、Contents Management System)と呼ばれる、手軽にブログやサイトを構築できるシステムのことです。
WordPressをおススメする理由は、Webサイトの制作・運用でWordPressを取り扱う案件が非常に多いからです。
WordPressの相場ですが、簡単なサイト構築でも10万円を超えるケースは珍しくありません。
バックエンドエンジニアなら、Laravelがおススメ
バックエンドへ進むのであれば、PHPフレームワークの1つであるLaravelを学ぶほうが良いでしょう。
フレームワークとは、ある程度テンプレート化されたプログラムの集合体のようなものだと考えてもらえば結構です。チームで効率よく開発を進めるために開発されました。
PHPは他にもいくつかフレームワークが存在するのですが、ここ最近で特に注目されているのがLaravelです。クラウドソーシングのサイトをいくつか見てみると、わかると思いますが、Laravelを使った案件はそれなりの数が存在します。
とくにバックエンドでは、フレームワークを使った開発経験が問われるため、Laravelを使っておくことはバックエンドエンジニアとして就職する上でも非常に重要です。
レバテックなどを少し検索してみると、Laravel案件の相場は月当たり65万以上くらいですね。
まとめ
いかがだったでしょうか?
プログラミング初学者が取り組んだ方がよい言語について、簡単に説明しました。
上のほうでWordPressやLaravelの相場について少し触れましたが、ここまで学習を進めると、高収入エンジニアへの道が見えてきます。
ただ、WordPressやLaravelの学習にたどり着く前に挫折してしまう人も多いのが現状です。
そこで、挫折しないためのポイントを1つ。
それは、プログラミングのことを相談できる人を身近に作ることです。
プログラミングを学習しはじめて間もない頃は、わからないことが必ず出てきます。
自力で考えても解決できますが、調べることが多すぎて、気が滅入ってしまいます。
なので、気軽に相談したり質問できる人が身近にいると、途中で挫折する確率がグッと減ります。