HTML/CSS/JavaScriptの基礎がある程度理解できたら、バックエンド言語にチャレンジしていきましょう。
バックエンド言語は種類が多くて、何を学習すれば良いか?分からない!
と迷われる方もいらっしゃるかもしれません。
特に何かこだわりが今無いのであれば、まずPHPから入ることをおすすめします。
PHPは比較的易しめのプログラミング言語で、私が見てきたエンジニアの中でもあまり挫折せず基礎的な所までは身につけてきた人が多い印象です。
この記事では、なぜPHPを最初のプログラミング学習に薦めるか?をいくつかの理由を含めてお伝えします。
PHPはWeb開発のための言語
Webエンジニアを目指す方にとって、PHPは最初に学ぶ最適といえると個人的には思っています。
というのも、 PHPはWeb開発のための言語だからです。
Java等のプログラミング言語は、ブラウザを通して見るまでに非常に大変だったりしますが、PHPはインストールされていればすぐにブラウザを通して見ることができます。
PHPで作られたサービスは多い
PHPの歴史は20年以上あり、プログラミング言語としては確立されています。
そのため、PHPで作られたサービスは非常に多いです。
これもPHPを学習するメリットの1つと言えるでしょう。
WordPressが代表
WordPressは全サイトの40%以上を占める圧倒的なWebサービスです。
ブログサイトとしてスタートしたサービスですが、コーポレートサイトやメディアサイト等、様々な所で使われています。
(当ブログもWordPressで作られています。)
PHPを学習する=WordPressの全てを理解できるようになる、という訳ではありません。
ただ、PHPを理解していればWordPressの学習は圧倒的に早くなります。
需要が非常に高いWordPressを開発できることは、Webエンジニアにとってメリットと言えるでしょう。
他の言語と比較して学習が優しい
難易度としては比較的他のプログラミング言語として優しく、 PHPは学習コストが少ないということもメリットの1つです。
学習初期でいきなりハイレベルな言語に挑戦して挫折する、というのは非常にもったいないと思います。
時間をかけてじっくりと学びさえすれば、PHPは誰でも習得は可能です。
開発環境の構築も簡単
先に少し書きましたが、導入も非常に簡単ということもPHPのメリットの1つです。
プログラミング言語によっては開発環境の構築だけでも一苦労だったりします。
- 言語がインストールできない
- 言語がインストールされているのに、なぜか動かない(環境変数というものが原因であることが多いです)
- 色々なアプリをインストールしないと導入ができず、何をやっているのか?よく分からない
PHPはXAMPPというアプリケーションをインストールすれば、すぐに動くようになっており、簡単に開発に進める事ができます。
プログラミング学習を始めるにあたって、すぐに言語を書く事ができるというのは非常に大事だと考えています。
なぜなら、開発言語を開発する環境を作る事は初心者には難しく、プログラミングを学ぶ前に挫折してしまう可能性があるからです。
そのため、導入が容易なPHPは初心者にとって非常に良い言語だと考えています。
PHP学習のデメリット
Webエンジニアにとって、PHPを学習するデメリットはほぼ無いと言って良いです。
強いて挙げるならば、PHPはできる人が多く、他のエンジニアとの差別化がしづらいという点があります。
エンジニアとしてもっと収入を上げていきたい!
という方はPHPでプログラミングのコツを掴み、次のステップに進んでいきましょう。
PHPをマスターした後のロードマップ
PHPが書けるようになったら
- PHPのフレームワークを学ぶ
- 他のプログラミング言語を学ぶ
という道があります。
個人の好みに合わせて、どちらかのステップに進んでいきましょう。
Laravelなどのフレームワークを学び、更にPHPのスキルアップを図る
PHPやJava、Ruby等のメジャーなプログラミング言語にはフレームワークというものがあります。
フレームワークとは「全体の処理の流れがある程度決められている開発ツール」です。Webアプリやスマホアプリを作る際、自分で1から作っていくと非常に時間がかかります。それを解消してくれるのがフレームワークです。
https://products.sint.co.jp/topsic/blog/framework
PHPの有名なフレームワークはLaravelというものになります。
他にもありますが、現在はLaravelが主流ですのでこちらを学んでおけばほぼ間違い無いでしょう。
他のプログラミング言語を学ぶ
PHP以外の言語を学ぶ、という選択肢も検討できます。
次のプログラミング言語を学ぶ切り口としては2つ考えられます。
少し難易度が高めな定番言語を学ぶ(カッコの中は言語の代表的なフレームワークです。)
- Ruby(Ruby on Rails)
- Java(Spring)
- JavaScript(React/Vue)※Reactは厳密にはフレームワークではなくライブラリになります。
これから需要が高まってくる言語を狙って学習する
- Python(Django/Flask等)
- Go言語
等
考え方としてはどちらを選んでも良いので、自身の進みたい方向に合わせて選択していきましょう。