こんにちは。
株式会社PRUMのmasaです。
今回は、Web開発における主要5言語について、『どんな現場で使われているのか』『何が得意なのか』という視点で整理しました。
言語選びで迷われている方の助けになれば幸いです。
はじめに
「RubyとPythonって何が違うんですか?どっちを学べばいいですか?」
未経験の方から、こういう言語の相談を受けることがたまにあります。
「何から学べばいいかわからなくて、もう3ヶ月経ってしまいました」という方もいらっしゃいます。
気持ちはすごくよくわかります。私も最初のころ、言語の比較記事を読みあさっては迷い、また別の記事を読んでは迷い直して、結局何ひとつ手を動かせていない期間がありました。
この記事では、Web開発でよく使われる主要5言語について、「どんな現場で使われているのか」「何が得意なのか」という視点で整理してみます。
「どの言語を選ぶか」より前に知っておきたいこと
言語を選ぶ前に、実は多くの方が見落としているポイントがあります。
現場で働くエンジニアは、プログラミング言語だけで仕事をしているわけではありません。Gitでコードを管理して、Linuxのコマンドを打って、チームメンバーとレビューし合って、はじめて一つの機能やプロダクトができあがります。
言語を学ぶ前に、こういう 「共通の土台」 を最低限押さえておくと、どの言語を学んでも応用が利きます。
「〇〇言語を覚えたのに転職できません」
という相談のほとんどは、言語よりもこっちが足りていないケースが多いです。
具体的には次の3つです。
- Git と GitHub :コードの変更履歴を管理するツール。チーム開発では必須
- Linux の基本コマンド :サーバーの操作や、開発環境の構築に使う
- アルゴリズムの考え方 :問題を分解して手順に落とし込む思考力
これらはどの言語を学ぶ場合でも共通して使います。ここを疎かにすると、言語を覚えてもチームで仕事ができないという状況になりがちです。
Web開発でよく使われる5つの言語
では、主要言語の話をします。今のWeb開発現場でよく見かける言語は、大きく分けると次の5つです。
Ruby — 「人間が読みやすいコード」を重視した言語
Rubyは「楽しく書ける」設計思想で作られた言語です。コードが自然な英語に近い形で書けるため、最初に学ぶ言語として選ばれることが多いです。
スタートアップや新規サービスの立ち上げに強い Ruby on Rails というフレームワークがあり、少ない人数でも素早くサービスを作れるのが特徴です。
「最短でWebサービスを作りたい」という場合に向いています。
PHP — Webに特化して生まれた言語
PHPはWebページを動かすために設計された言語で、世界中のWebサイトの相当数がPHPで動いています。ブログシステムの WordPress の裏側もPHPです。
Laravel というフレームワークを使うと、大規模なサービスもきれいな設計で作れます。「Webサイトの制作が多い現場で働きたい」という方にはなじみやすい言語です。
Python — AIとデータ分析の「世界標準」
Pythonは、機械学習やデータ分析の分野で圧倒的なシェアを持つ言語です。
「AIを作りたい」「データを可視化したい」という場合、まずPythonが候補に上がります。複雑な数学的処理を短いコードで書けるライブラリが豊富にあるのが理由です。
Web開発にも使えますが、「データサイエンスやAI分野に進みたい」という方に特に向いています。
JavaScript / TypeScript — 唯一ブラウザで動く言語
JavaScriptは、Webブラウザ上で動作する言語です。Webサービスのフロントエンド(ユーザーが直接触る画面側)を作るには、事実上これ一択です。
最近は TypeScript という、JavaScriptに「型」の概念を追加した言語が主流になっています。チーム開発でのバグを減らしやすいため、新規プロジェクトではTypeScriptが採用されることが多いです。
「画面を作る仕事がしたい」「フロントエンドエンジニアになりたい」という方はここから始めるのが自然な流れです。
Go — 処理速度と大量アクセスへの強さ
GoはGoogleが開発した言語で、処理が非常に速く、大量のアクセスを同時にさばく「並行処理(同時に複数の処理を実行できる仕組み)」が得意です。
大規模なサービスのバックエンドや、マイクロサービスの構築で採用が増えています。初心者向けとは言いにくいですが、ある程度プログラミングに慣れてきたらチャレンジする価値があります。
現場での会話でよく出てくる話
これを読んで「じゃあ全部学んだほうがいいですか?」と思った方がいると思います。
実は現場でも同じような話があります。
後輩「〇〇さん、RubyもPythonも両方できるほうが採用されやすいですよね?」
私「どっちもちょっとできる、より、一個ちゃんとできるほうが評価されるよ」
後輩「そうなんですか?」
私「面接で『Rubyちょっとやりました、Pythonも少し触りました』って言うより、『Railsでこういうものを作りました』のほうが、ずっと具体的に話せるから」
これは採用の現場に限った話ではなくて、実際に仕事をするときも同じです。はじめは「全部の言語を広く知ってる」より「一つの言語を深く理解している」ほうが任せてもらえる仕事は増えます。
迷ったときの選び方
「それでも迷う」という方のために、シンプルな基準の一例を共有します。
- Webサービスを素早く作りたい → Ruby(Rails)
- 画面・UIを作りたい → JavaScript / TypeScript
- AIやデータ分析に興味がある → Python
- WordPressなどCMSや幅広いWebサービス開発をしたい → PHP
- 大規模・高速なシステムを作りたい → Go(ある程度慣れてから)
「どれが一番将来性ありますか?」という質問もよく受けますが、正直なところどれも現役で使われているので、将来性で選ぶより「自分が作りたいもの」から逆算するほうが後悔は少ないと思います。
まとめ
「どの言語を学べばいいかわからない」という状態で止まってしまう気持ち、本当によくわかります。情報が多すぎて比較し続けてしまうのは、むしろ真剣に考えている証拠だと思います。
ただ、正直に言うと、どの言語も最初の壁は「書き始めること」にあります。完璧に言語選定してから動くより、一つ選んで動いてみた方がエンジニアになれるスピードも早まると思います。
もし「Webサービスを作りたいな」と思ったなら、まず Railsの入門チュートリアルを一本やってみてください。画面を動かしてみたいなら、JavaScriptで「ボタンを押したら文字が変わる」ものを一つ作ってみてください。
言語選びよりも、まず一つの言語を早めに決めて、その言語で何か形になるものを作ってみることの方が大切だと考えています。引き続き、頑張っていきましょう!
株式会社PRUMで運営している記事サイトから知識を補充することもおすすめです。
最近読まれている記事を共有いたしますので、興味があれば覗いてみてくださいね。