こんばんは!
seiです!
- プログラミング始めてみたいけど、言語がたくさんありすぎる…
- プログラミング初心者に優しい言語って何?
今はたくさんのプログラミング言語があり、それぞれが異なる特性、適用範囲を持っています。
たくさんありすぎてわけわからないですよね。
僕も昔はそうでした。
今日は完全に独学でエンジニアになったseiが、初心者におすすめの言語を紹介します。
初心者におすすめのプログラミング言語はPHPです
結論から言うと、初心者におすすめのプログラミング言語はPHPです。
理由は以下の通りです。
- 文法がシンプル
- 歴史が長く情報が豊富にある
- wordpressとの相性が良い
- 案件数も多い
文法がシンプル
PHPは、そのシンタックス(文法)が直感的であるため、プログラミング初心者が学びやすいです。例えば、変数を定義するための型宣言が不要で、初心者がコードを書きやすいです。また、PHPは動的型付け言語なので、型の変換について深く考える必要がないのも初心者には優しいです。
何言ってるか分からないかもしれませんが、いろいろ意識しなくてもコードが書けるってことです!
歴史が長く情報が豊富にある
PHPはWeb開発における重要な言語であるため、学習リソースが非常に豊富です。
オンラインには無数のチュートリアル、ガイド、サンプルコードが存在し、初心者が自分で学ぶのに十分な情報があります。
初心者が躓くであろうほとんどのエラーはQuiita,stackoverflow,teratailにすでに存在しているはずです。
wordpressとの相性が良い
wordpressは世界で最も使われているCMS(コンテンツマネジメントシステム)です。Webサイトを作りたいと思ったらwordpressは必ず候補に上がるでしょう。
そんなwordpressですが、実はPHPで作成されています。
ということは、PHPを学べば、自作テーマを作ろうが、デザインをいじろうが自由自在です。
のちのちwordpressで技術ブログ書きたいときとかも、PHPやってればいろいろカスタマイズすることができます。
案件数が多い
プログラミング言語案件数(2021年10月~2022年10月)
レバテックフリーランスより引用
上の画像を見てください。
PHPの案件数はレバテックフリーランスで3位に位置付けています。
1位のJavaはweb開発だけでなく、業務システムや基盤システムなども含んでおり案件数が多くなっていることを考えると、Webサービスの制作において、PHPはかなりイイ線いってると思います。
せっかく勉強したのに実務で使えない言語だったら、また新しく違う言語を学ばないといけないですもんね。
学びやすく案件数の多いPHPはとても魅力的です。
プログラミング初心者が直面する悩み
プログラミングを学ぼうと決意したら、最初に直面するのが「どの言語から始めればいいのか」という問題です。
選択肢の多さ
プログラミングの世界には、それぞれに特徴と用途が異なる数多くの言語が存在します。一部の言語は特定の領域、例えばウェブ開発やデータ分析、システムレベルのプログラミングに特化していることがあります。
たくさん選択肢があるのは素晴らしいですが、初心者にとってはどの言語から始めるべきかを決めるのが難しくなる一因でもあります。
自分が作りたいものは、webシステムなのか、モバイルアプリなのかをまず考えましょう。
そのうえで自分が大事に思う機能(書きやすさ、速さ、並行処理など)を備えた言語を選ぶと良いです。
全ての道はローマに通じる
「全ての道はローマに通じる」という言葉をご存じでしょうか?
どのような経路をたどっても、行きつく心理は同じってことです。
これはプログラミングの世界にも当てはまります。たとえどの言語を選んだとしても、高度なことを学ぼうとすれば、同じような概念に行き着きます。変数、制御構造、データ型、関数、オブジェクト的指向…これらはほとんど全てのプログラミング言語で共通しています。
一番大事なのは、一つの言語をしっかりと学び、基本的なプログラミングの概念を理解することです。そうすれば、その知識は他の言語へ簡単に応用できます。
とにかく始めてみよう
「それでもよく分からない」って人もいると思います。
僕のアドバイスはとにかく適当に一つの言語を選んで始めてみることです。プログラミングにおいては経験が最も重要であり、とにかく手を動かしてコードを書くこと、理解が深まります。
僕はPHP激押しですが、すでに他の言語学び始めちゃったと思ってる人もいるでしょう。
初心者が選ぶべき言語のポイントをお伝えします。
学びやすい言語から始める
最初に、学びやすい言語から始めたほうがよいです。
独学で学びやすい、または自分にとって学びやすい言語を選ぶことです。
最初に難しい言語選んで挫折したら全く意味ないですからね。
自分が無理せずに続けていける学びやすい言語を選択しましょう。
初心者向けの教材が充実していたり、シンプルで直感的な構文を持っている言語が良いです。
実務で使える言語を学ぶ
次に、実務で利用できる言語を学ぶと良いです。
特に、キャリアチェンジやスキルアップを目指している場合、求人市場で需要の高い言語を学ぶことは非常に重要です。
プログラミングを仕事にするためには、企業が求めるスキルを身につけることが必要です。
あとは自分がやりたい業務に結び付くか考えましょう。スマホアプリ開発がしたいのにWeb系言語を学ぶのはさすがに遠回りです。
個人開発に適した、開発スピードが出る言語を学ぶ
最後に、開発スピードが早い言語を選んだ方がよいです。
この記事を読んでいる方は、おそらく転職や就職ででキャリアチェンジをしたいと願っていることでしょう。
それなら絶対に開発スピードが出せる言語を学んだ方が良いです。
なぜなら仕事の合間に開発するなら圧倒的に時間が足りないからです。
よく考えてください。何人もエンジニアが集まってチームを組んで、一つのサービスを作り上げるのに半年~1年くらいかかります。
これを一人で進めるとどのくらいかかりますか?単純に5人でやってたら、5倍かかりますよね?
サービスはお客さんにつかってもらって、なんぼなので、個人でやる場合は早くローンチできる言語を選択するべきです。
上記の条件の中で、僕が強くお勧めするのが「PHP」です。
なぜなら、PHPは上記の全ての要素を満たす、優れた言語だからです。
他の言語とPHPの比較
他の言語の特徴もお伝えしておきます。
Pythonとの比較
Pythonはそのシンプルな文法とわかりやすさから初心者によく推奨されます。
しかし、Pythonはコードが長くなると、とても読みづらくなります。自分で書いたコードなのに、よく分からなくなることがあります(笑)
Pythonは特にデータサイエンスやAIの分野での利用が多いです。機械学習系のライブラリが充実しているためです。
データ分析やスクレイピングがしたいのであればPythonを学ぶべきと言えます。
JavaScriptとの比較
JavaScriptもまた、Web開発に不可欠な言語です。
JavaScriptは主にフロントエンド(webの見た目)の開発に用いられますが、最近はバックエンド(データをフロントエンドに渡すところ)に用いられるケースも増えています。
TypeScriptやいろんなフレームワーク等があり、初心者は混乱すると思います。
そのため、データベースとの連携やサーバーサイドのプログラミングを学びたい初心者にとっては、PHPの方が良い選択となります。
ちなみにHTML,CSSはプログラミング言語とは少し違います。
ですが、web開発をしたいのであれば必ず学んでおかないといけない言語です。
PHPを始めるための具体的なステップ
PHPを学習するなら以下のステップで学習すると良いです。
文法を学ぶ
まずは、基本的な文法から始めましょう。以下に、無料で利用できる学習リソースをいくつか紹介します。
Progate
Progateは、初心者向けのプログラミング学習サービスです。PHPのコースもあり、基本的な文法から学べます。丁寧に誘導してくれるので、初心者にも分かりやすいです。
僕も本当に初心者の頃はお世話になりました。
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。…
Paizaラーニング
Paizaラーニングもまた、プログラミング学習に役立つリソースを提供しています。PHPの学習コースは無料で、基本文法から応用まで幅広く学べます。
プログラミング学習サイト【paizaラーニング】のメインページ。paiza独自のシステムにより、面倒な環境構築が不要、W…
問題の難易度ごとに自分のプログラマーとしてのコーディング能力が分かります。
難しい問題を解いてランクが上がると、企業からスカウトが来ます。
僕は暇なときたまに解いてました。
※下のフレームワーク、ログイン機能の学習が優先です。
フレームワークの使い方を学ぶ
基本的な文法を理解したら、次はPHPの主要なフレームワークの一つ、Laravelの使い方を学びます。フレームワークを使用すると、プログラミングがより迅速で簡単になります。webアプリ開発のテンプレートみたいなイメージです。
Laravelの公式ドキュメンテーションは日本語に対応していて、初心者でも読みやすいです。
※プログラミングのほとんどのドキュメントは英語です。
ログイン機能を作成する
プログラミングの学習には、やはり実際のプロジェクトを作成するのが最も効果的です。ログイン機能はほとんどのwebアプリケーションで必要とされるもので、良い練習になります。
まずはフレームワークを使わずに実装してみましょう。
認証、認可の機能はとても大事ですので、この部分は基本から理解しておく必要があります。適当によく分からないで作成していい部分ではないです。
次にLaravelを使用して実装してみましょう。あらかじめ用意された認証機能を利用して簡単にログイン機能を作れるので、フレームワークのありがたみが分かります(笑)
上記のステップに従って学習を進めれば、PHPの基本を理解し、自分でプログラムを作成できるようになります。最初は難しく感じるかもしれませんが、一歩ずつ進めば必ず成果を得られます。
独学の手順をもっと具体的に知りたい人は以下の記事を参考にしてください。
エンジニア3年目が初心者の時にPHPを学習した経験に対し思うこと
こんなふうにPHP激押ししているseiも始めて学んだプログラミング言語はPHPでした。
PHP学んでよかったなと思っているのは、フロントエンドの開発も強くなれたことです。テンプレートエンジンのBladeの書き方がVueとかなり似ているんですよね。
当時は生活が困窮していたので、かなりがむしゃらにやってました。
エラーで苦しんでいるときも、検索すれば見つかることが多かったので助かりました。やっぱり登場してからの歴史が長いので、先人たちがいろんなエラーで苦しんできた知見がたくさん見つかるんですよね。とても有難かったのを鮮明に覚えています。
PHPを学んだことはWebアプリケーションを学ぶ上でかなり役に立ちました。フレームワークの使い方や基本的な概念はPHPを学ぶ過程で得られました。
プログラミングの言語は書き方は違えど、やっている事、実現しようとしていることは同じです。webアプリを一から作成できるようになればプログラミングができると胸を張って言えると思います。