こんにちは、やなっぎです。
アーリーステージからメガベンチャーまでWebエンジニアとして10年以上活動しています。
いろいろなプログラミング言語があるけど、どれを選んだらいいの?
プログラミング言語は数100種類以上もあるんだ!
でも、Webエンジニアがよく使う言語に絞ると10ぐらいになるよ。その中から、選ぶのがおすすめだよ。
多くの場合、プログラマーは複数のプログラミング言語を使いこなします。
しかし、プログラミング未経験の人がいきなりたくさんのプログラミング言語を学ぶのは大変です。
そのため、未経験からWebエンジニアになりたい方向けに、「学習しやすさ」と「転職しやすさ」を基準におすすめのプログラミング言語をまとめています。
結論として、おすすめのプログラミング言語は次のとおりです。
- HTML/CSS/JavaScript
- Ruby か PHP か Java
- SQL
厳密にはHTML/CSS、SQLはプログラミング言語ではないですが、Webエンジニアとして必須な知識になるので入れています。
- Webサービスでよく使われるプログラミング言語と特徴
- 未経験からWebエンジニアになるためのおすすめのプログラミング言語とその理由
目次
Webサービスでよく使われるプログラミング言語
まずは、Webサービスでよく使われるプログラミング言語を紹介します。
それぞれの言語ごとに特徴があるので、全体像を押さえておくと理解が進みやすくなります。
HTML/CSS
HTML(エイチティーエムエル)は、見出しや画像、リンクなどのWebページに表示する要素を記述できるマークアップ言語です。
一方、CSS(シーエスエス)は、HTMLの見出し、画像、リンクなどの見た目をデザインできます。文字サイズや色などの見た目をデザインしてオシャレなWebページを作れます。
(HTML/CSSは厳密にはプログラミング言語ではありません。)
JavaScript
JavaScript(ジャバスクリプト)は、Webページ上で動きを実現できるプログラミング言語です。よく省略してJS(ジェーエス)とも呼ばれます。
JavaScriptは、他のプログラミング言語と違いChromeやSafariなどのブラウザ上でも実行することができます。
そのため、HTML/CSS/JavaScriptを組み合わせることでリッチな動きができるWebページを作ることができます。
最近だと、JavaScriptをバックエンドでも使うようなケースもでてきているよ
Java
Java(ジャバ)は、世界中で多くの人に使わている人気のプログラミング言語です。
Webサービスの中でも、会社内の在庫管理システム、財務システムなどの業務系アプリケーションでよく使われています。
JavaScriptとJavaの名前はかなり似ているけど、「インド」と「インドネシア」ぐらい違うから気をつけてね
PHP
PHP(ピーエイチピー)は、Webアプリケーションの開発が得意なプログラミング言語です。
バックエンドで、動的なWebページを作成するための機能を多く備えていることが特徴で、Web開発で広く使われています。そのため、Web系の企業でも多く採用されています。
無料のホームページ作成ソフトで有名なWordPressというソフトウェアがPHPで作られていることもあり、多くのWebサイトではPHPが使われています。
Ruby
Ruby(ルビー)は、日本人のまつもとひろゆき氏(通称: Matz)により開発された、簡潔な文法が特徴的なオブジェクト指向のプログラミング言語です。
Rubyは、「Ruby on Rails(ルビー・オン・レイルズ)」というWebフレームワークで一躍有名になりました。
「Ruby on Rails」を使ってWebサービスを素早く立ち上げることが得意で、スタートアップやベンチャー企業でよく採用されています。
Go
GoはGoogleが開発したシンプルでスケーラブルなプログラミング言語です。
言語仕様がシンプルなので学習は比較的しやすく、標準ライブラリが揃っており並列処理も得意なのでマイクロサービスと相性が良いです。
サービス規模が大きくなってきたWeb系のスタートアップやベンチャー企業で採用が増えています。
Swift
Swift(スウィフト)は、Appleが作成したプログラミング言語です。
Swiftは、iOSアプリの開発によく使われます。従来iOSアプリの開発では、Objective-C(オブジェクティブ・シー)が使われていたのですが、最近ではSwiftがメインで使われるようになっています。
Kotlin
Kotlinは、JetBrains社(有名なエディタなどを開発している会社)が開発したプログラミング言語です。
Kotlinは、Androidアプリの開発でよく使われます。Androidアプリは、Javaを使って開発がされていたのですが、最近ではKotlinを使って開発するケースが多くなっています。
Dart
Dart(ダート)は、Googleによって開発されたウェブサービスやモバイルアプリのクライアント開発者向けに設計されたプログラミング言語です。
Dartは、「Flutter(フラッター)」で使われていることで有名です。
Flutterを使うことで、1つのコードからAndroid、iOS、Webアプリケーションを作成することができるため、クロスプラットフォームのアプリを開発したい場合に導入されることもあります。
Python
Python(パイソン)は、データ分析、機械学習/AIに関連した分野でよく使われているプログラミング言語です。
また、「Django(ジャンゴ)」というWebフレームワークを使ってバックエンドの領域でも使われます。
海外ではバックエンド領域でも人気だけど、日本だとデータ分析や機械学習/AIの分野でよく使われているよ
SQL
SQL(エスキューエル)は、データベースの定義や操作を行うための言語です。(厳密にはプログラミング言語ではありません)
多くのWebサービスでは、データベースからデータを取得したり、データベースにデータを保存します。このデータを操作するときに、SQLを使います。
C++
C++(シー・プラス・プラス)は、C言語の機能や特徴を継承しつつ、表現力や効率性を向上させた汎用プログラミング言語です。
表現が豊かなプログラミング言語のため学習が難しく初心者には向きません。
しかし、OSやメモリなどにアクセスすることもでき処理スピードを高めやすいので、コンピュータの内部のツールや機械学習のコアライブラリな
どでよく使われています。(普段あまり気にすることはないですが)
未経験からWebエンジニアになるためのおすすめのプログラミング言語とその理由
おすすめのプログラミング言語
おすすめのプログラミング言語は次のとおりです。
- HTML/CSS/JavaScript
- Ruby か PHP か Java
- SQL
おすすめのプログラミング言語は、Webサービス上で次の部分で使われています。
HTML/CSS/JavaScriptはブラウザ上で動きます。
Webページを表示して、見た目や動きをつけることができるため、基本的な知識やスキルを身につける必要があります。
SQLは、データベースの操作ができます。
多くのWebサービスでは、データベースからデータを取得したり保存するため、データベースの操作ができるSQLも必須の知識です。
そして、サーバー上で動くプログラミンング言語として「Ruby か PHP か Java」をおすすめしています。
HTML/CSS/JavaScriptやSQLは必要だと分かったけど、「Ruby か PHP か Java」をおすすめしているのはなんで?
サーバーサイドのプログラミング言語として、「Ruby か PHP か Java」をおすすめしているのは、初心者でも学習がしやすく、Webエンジニア向けの求人が多いためだよ
理由1:初心者でも学習しやすい
Ruby、PHP、Javaはプログラミング初心者も学習しやすいです。
プログラミング言語の中で学習難易度も比較的低く、また、学習できる環境が多くあるためです。
どの言語も日本語でのドキュメントが充実しており、また、Progateなどの学習サービスやプログラミングスクールでも扱っているため学習しやすい環境が整っています。
また、それぞれプログラミング言語で有名なWebフレームワークがあるため、初心者でも比較的簡単にWebサービスを作ることができます。
- 「Ruby」の場合 → 「Ruby on Rails」
- 「PHP」の場合 → 「Laravel」、「CakePHP」、「FuelPHP」
- 「Java」の場合 → 「Spring Boot」
理由2:Webエンジニア向けの求人が多い
Ruby、PHP、Javaは、Webエンジニア向けの求人が多く、未経験からでもWebエンジニアになりやすいです。
それぞれの言語ごとで特徴はありますが多くの求人があります。
言語 | 求人数 (レバテックキャリア 24年7月時点) | 求人の特徴 |
---|---|---|
Ruby | 718件 | ・自社開発のスタートアップ・ベンチャー企業が多い |
PHP | 1,146件 | ・大手からスタートアップから幅広い |
Java | 2,133件 | ・求人数は一番多いので窓口は広い ・業務系や受託開発が多め |
理由3:将来性もまだまだある
どのプログラミング言語も現在多くのWebサービスで利用されているため、将来性はまだまだあります。
「Rubyは…、PHPは…、Javaは…」というような声はいつの時代もあります。しかし、どのプログラミング言語もバージョンアップがされており、年々新機能が追加されています。
プログラミング言語の将来がどうなるかは誰も予測はできませんが、プログラマーの場合、通常は複数のプログラミング言語を使えるようになるため、時代に合わせて学んでいくことで将来に対する不安を解消していけるでしょう。
Webエンジニアになって何をしたいか?
プログラミング言語を使って「何をしたいか?」が重要です。
実現したいことから逆算してプログラミング言語を選ぶことで、モチベーション高く開発ができます。また、自分のやりたいことがどんどんできると楽しいでしょう。
Webエンジニアになって、その後のモデルケースとしては次のようなものがあります。
モデルケース | 何を学んでいくか |
---|---|
フロントエンドの見た目を作るのが楽しい | ・JavaScriptを磨いていく ・React、Vue、Angular、Next.js、Nuxt.jsなどを学ぶ ・HTML/CSSについても理解を深めていく |
インフラやクラウドに興味がある | ・AWSやGCPなどのクラウドの経験を磨く ・Infrastructure as Codeやモニタリングなども学んでいく |
大規模なシステムを作りたい | ・マイクロサービスならGo、大規模な業務システムならJavaなどを学んでいく ・複雑なビジネスロジックを実現できるシステム設計や、高負荷で安定したパフォーマンスをできるシステム構成をつくる |
データ分析や機械学習を使いこなしたい | ・入口としてPythonを学んでいく ・統計学、機械学習、AIの基礎理論と関連するライブラリを使っていく |
アプリを作りたい | ・iOSアプリならSwiftやObjective-Cを学ぶ ・AndroidアプリならKotlin、Javaを学ぶ ・iOSとAndroidの両方を一気に作りたいならFlutterを学ぶ |
フロントエンド、バックエンド、インフラと幅広く | ・JavaScript、サーバーサイドのプログラミング言語、AWSやGCPを幅広く学ぶ ・広く浅くにならないように軸はもっておくのがおすすめ |
ちなみに、どのプログラミング言語を選んだとしてもフリーランスや副業という働き方は十分可能です。
3年ぐらいの実務経験を積みながらスキルを磨くことで正社員以外の働き方も模索していけます。
まとめ:おすすめのプログラミング言語はRubyかPHPかJava
今回は、未経験からWebエンジニアになるためのおすすめのプログラミング言語とその理由を解説しました。
- HTML/CSS/JavaScript
- Ruby か PHP か Java
- SQL
おすすめの理由としては、未経験でも学習しやすく、Webエンジニア向けの求人も多いためです。
ぜひ、ProgateでRuby、PHP、Javaの学習をやってみて、自分に合うプログラミング言語を探してみてください。