「学習するプログラミング言語って何を選べばいいかわからない」
「自分がやりたいことに合ったプログラミング言語って?」
「数が多すぎてどれも同じに見える」
上記のような悩みをもつ人が、いるのではないでしょうか。
そこで本記事では、数あるプログラミング言語から学習すべきプログラミング言語がわからない初心者へ、自分の目的に合ったプログラミング言語を選択できるように以下の項目を紹介します。
- プログラミング言語の概要
- プログラミング言語の種類と違い
- プログラミング言語の紹介
- 目的別おすすめプログラミング言語
紹介するプログラミング言語一覧
本記事では、以下の10個のプログラミング言語を紹介します。
- HTML・CSS
- JavaScript
- Ruby
- PHP
- Java
- Python
- C#
- Kotoin
- Swift
- C++
さまざまな場所やサービスで使用されている人気のプログラミング言語で、TIOBE Indexのランキングでも上位にランクインした言語です。
※難易度は、比較的簡単な順に低・中・高で示しています。
言語 | 難易度 | できること | 使用されているサービス |
---|---|---|---|
HTML・CSS | 低 | Webサイト制作 |
|
JavaScript | 低 | Webのフロントエンドで活躍 |
|
Ruby | 低 | Webアプリ開発 |
|
PHP | 低 | WEBサイト制作 |
|
Java | 中 | Webアプリ開発 |
|
Python | 中 | AI・機械学習・データ分析 |
|
C# | 中 | システム開発・ゲーム開発 |
|
Kotoin | 中 | Androidアプリ開発 |
|
Swift | 中 | iOSアプリ開発 |
|
C++ | 高 | AI・機械学習・システム開発 |
|
プログラミング言語の概要
そもそもプログラミング言語自体、詳しく知らない人も多いのではないでしょうか。
プログラムとは、人間がコンピューターに命令を伝えるための指示書です。
私たちが普段使用している言葉も、国が変われば使用する言語が変わってきますよね。
コンピューターが本来使用している機械語は、0と1を羅列した数列です。
私たちが機械語を理解できないのと同じで、コンピューターも私たちの言葉や命令をそのまま理解できません。
そこで必要になるのが、プログラミング言語です。
命令を書くと、記述した命令を機械語に変換して作業を実施してくれます。
そして初めてコンピューターを意図的に動かすことができます。
例えば以下のような例があります。
- ゲーム機のコントローラーAボタンを押すと、ジャンプする
- 送信ボタンを押すとメッセージが送れる
- 「OK Google」とスマホに話せば、Googleアシスタントが起動する
普段使用しているメールを送信することも、プログラミングを通して実行されています。
ちなみに日頃使用しているサービスで例えると、以下のようなサービスがあります。
- LINE
- YouTube
- ポケモンGO
- クックパッド
SNSや動画サイト・ゲームなどが、プログラミング言語を活用して作られています。
プログラミング言語の種類による違い
プログラミング言語にはさまざまな種類があり、メジャーなものからマイナーなものまで合わせると250以上の言語が存在します。
派生言語を含めると、その数は1000以上であると推測されます。
ではなぜたくさん種類があるのか、以下2つの理由から解説していきます。
- 作れるものと得意分野が異なるから
- コンパイラ方式とインタプリタ方式に分けられるから
【作れるもの】と【得意分野】が異なる
プログラミング言語にたくさんの種類がある理由は、それぞれ違った特徴をもっているためです。
種類によって作れるものやサービス・得意分野に違いがあります。
例えば、以下のような例が挙げられます。
- AIを作るのに向いているのは『Python』
- iPhoneで使用できるアプリを作りたいなら『Swift』
- Androidで使用できるアプリを作りたいなら『Kotlin』
プログラミング言語は、さまざまな目的をもって作られています。
そのため目的に合わせて、プログラミング言語を選ぶことで、効率の良い学習が可能です。
学習の難易度
プログラミング言語は、種類によって学習の難易度が異なります。
プログラミング言語そのものの難易度と、環境構築の難易度の差があります。
環境構築とは、プログラムを実行できる環境を整える作業のことです。
例えば、HTMLやCSS、JavaScriptなどの言語は、エディタとブラウザがあればすぐに動かせます。
いっぽうでPythonは、環境を事前にインストールする必要があり、PHPはサーバーの構築などの環境構築が必要になります。
環境構築につまずき、プログラミング学習に挫折しないためにも、目的・用途をはっきりさせて学習する言語を選ぶと良いでしょう。
コンパイラ方式とインタプリタ方式
プログラミング言語方式の種類 | 代表的な言語 |
---|---|
コンパイラ方式 | ・Java・C# |
インタプリタ方式 | ・Python・Ruby・PHP・JavaScript |
プログラミングを勉強すると、コンパイラ方式とインタプリタ方式という用語が出てきます。
初心者にとっては、違いがわかりにくい用語のひとつですので、解説する内容をしっかり確認していきましょう。
人間向けか機械向けか
プログラミング言語というと、Java・Python・Rubyなどがあります。
それぞれ独立した言語ですが、大まかな種類として分類でき、コンパイラ方式とインタプリタ方式に分かれます。
ではコンパイラ方式とインタプリタ方式の特徴を解説していきます。
機械が読みやすいプログラム方式と覚えておきましょう。
- Java
- C#
人間が読みやすいプログラム方式と覚えておきましょう。
- Python
- Ruby
- PHP
- JavaScript
何がしたいか目的にもよりますが、初心者はインタプリタ方式のほうが、理解しやすいためおすすめです。
プログラミング言語の紹介
プログラミング言語は、種類によって得意とする分野や学習の難易度が異なります。
理由はプログラミング言語そのものの難易度と、環境構築の難易度の差があるからです。
環境構築とは、プログラムを実行できる環境を整える作業のことです。
例えば、HTMLやCSS、JavaScriptなどの言語は、エディタとブラウザがあればすぐに動かせます。
いっぽうでPythonは、環境を事前にインストールする必要があり、PHPはサーバーの構築などの環境構築が必要になります。
環境構築につまずき、プログラミング学習に挫折しないためにも、目的・用途をはっきりさせて学習する言語を選ぶと良いでしょう。
それでは、10種類のプログラミング言語の特徴と、用途を紹介していきます。
HTML / CSS(エイチティーエムエル/シーエスエス)
HTMLとCSSは、正確にいうとプログラミング言語ではなく、それぞれ以下の呼び方をします。
- HTML→マークアップ言語
- CSS →スタイルシート言語
どちらもWebページを作成する際に、必要となる基礎的な言語なので、それぞれ紹介していきます。
HTML
正式名称は『Hyper Text Markup Language』(ハイパーテキストマークアップランゲージ)
略してHTMLと呼ばれています。
HTMLは、Webページを作成するための言語で、みなさんが目にするWebページの土台を作るための言語です。
例えば、表・画像・リンクなどのWebページに必要な部品を配置できます。
CSS
正式名称は『Cascading Style Sheets』(カスケーディング スタイル シート)
略してCSSと呼ばれています。
CSSはWebページの色・サイズ・レイアウトなどの表示スタイルを変更し、装飾が可能です。
- HTML →見出し・URLリンク・画像挿入などの文章構成
- CSS →テキストの色を変える、背景の色を変える
HTMLとCSSは組み合わせて使用することが多いと覚えておきましょう
JavaScript(ジャヴァスクリプト)
JavaScriptは、WebサイトやWebアプリ開発の際によく使われる言語です。
Webページに動きをつけられることから、HTML・CSSとセットで抑えるべき言語になります。
動きを付けることができると、ポップアップの表示や配置した地図を動かすことも可能です。
- Webページに動きをあたえる
- Webアプリ開発
- ゲーム開発
Ruby(ルビー)
Rubyは日本生まれのプログラミング言語で、短く、シンプルなコードが書けることが特徴の一つとして挙げられます。
データ収集に使用するスクレイピングや、ソフトウェアとソフトウェアをつなぐAPIにも使用され活用の幅が広いことも特徴的です。
また、『Ruby on Rails(ルビー オン レイルズ)』というフレームワークを使用することで、SNSやスマホアプリの開発に使用されています。
Rubyでできること
Rubyは『Ruby on Rails(ルビー オン レイルズ)』を使用したアプリ開発が代表的です。
例えば、以下のサービスが作られました。
- 食べログ
- クックパッド
一度は使用してみたり、身近な人が使用しているのを見たりした方も多いのではないでしょうか。
そのほか、Rubyでできることは以下のとおりです。
- Webアプリ開発
- APIの作成
- スマホアプリ開発
- スクレイピング
Webエンジニア向けの言語ですが、日本生まれの言語のため日本語の資料の多さなどから、初心者にも学びやすいとされています。
PHP(ピーエイチピー)
PHPはWebサイトやWebアプリケーションを作る際に、良く採用されるプログラミング言語です。
PHPはソースコードが読みやすく、基本的なルーティンの作り方や処理、命令文の形式を理解できれば、問い合わせフォームや会員限定ページのログイン画面など、Webサイトに機能追加をすることが可能になります。
人気がある言語なので、日本語のコミュニティや解説サイト・教本も多く、独学でも始めやすいのも特徴的です。
- 問い合わせフォーム実装
- ログイン機能作成
- 予約システムの実装
Java(ジャヴァ)
Javaは日本における求人数で、長年上位をキープする言語です。
レバテックフリーランスの言語別求人数では、トップの7,952件の求人があります。
引用元 :レバテックフリーランス | 求人一覧
大規模な業務システムを導入している企業は、Java開発が多い傾向です。
汎用性が高い言語のため、Androidアプリから複雑な大規模システム開発まで、多岐にわたりサポートをしています。
有名なゲームだと、世界的に大ヒットした『マインクラフト』はJavaを使用して作られました。
- 業務系システム開発
- Webアプリ開発
- Androidアプリ開発
- IoTシステム開発
Python(パイソン)
Pythonは、Google三大言語の1つのプログラミング言語です。
Pythonはコードが書きやすく、プログラミング初心者にも理解しやすい文法が特徴です。
使用用途は主に、AI(人工知能)開発やデータ分析に用いられ、世界的に人気が高まっています。
そのほかにも業務効率化やWebスクレイピングでも用いられています。
- AI(人工知能)開発
- 機械学習
- データ分析
- Webスクレイピング
C#(シーシャープ)
C#は、Microsoftが開発した言語です。
主にWindows向けのアプリやゲーム、最近ではVRやARといった、最新技術を駆使したアプリ開発でも採用されているため求人数も豊富です。
C#を使用した身近なサービスは、『ポケモンGO』や検索エンジン『Bing』があります。
上記4つの中でゲーム関連は、eスポーツの認知も高まり市場規模が拡大しています。
- Webアプリ開発
- スマホアプリ開発
- ゲーム開発
- VR・AR開発
Kotlin(コトリン)
Kotlinは、GoogleによってAndroidの公式開発言語として採用され、Javaに並んでメジャーになりつつある言語で注目を集めています。
Java言語よりも簡潔に書けることを目指し、文法はjavaよりもすっきりと書きやすいのが特徴です。
またGoogleが、初心者向けのガイドやトレーニング資料、プログラマー向けのKotlinブートキャンプなど学習しやすい環境が整っています。
AndroidアプリはJava開発が中心でしたが、注目度が高まったことで大手IT企業のYahooやLINEなどもKotlinを採用しています。
- Androidアプリのアプリ開発が中心
Swift(スウィフト)
Swiftは、Apple製品向けのアプリ開発を中心としたプログラミング言語です。
Apple製品は世界中にファンがいるぐらいブランド力があるので、今後活用場面が増えると予想されています。
上記のことから、SwiftはApple製品アプリの開発につきます。
- iOSアプリ開発
- Macアプリ開発
- Applewatchアプリ開発
- AppleTVアプリ開発
- Webアプリ開発
C++(シープラスプラス)
C++は、C言語を機能拡張したプログラミング言語です。
略して「シープラプラ」「シープラ」などと呼ばれています。
主にWebアプリ開発やロボット技術開発で使用されており、世界的に利用されているWebブラウザ『Chrome』もC++で開発されています。
- ロボット技術の開発
- IoT技術の開発
- Webアプリ開発
目的別おすすめプログラミング言語
プログラミング言語には、それぞれ特徴があり異なる部分も多いです。
しかし共通して言えるのが、プログラミングはあくまで手段であり、目的ではないことです。
つまりプログラミングすること自体を目的にしていると、何のためにプログラミングをしているのかが曖昧になって挫折しやすくなります。
それでは、目的別に以下の4つに分けて解説していきます。
目的 | 最適なプログラミング言語 |
---|---|
AI(人工知能)や機械学習に興味がある | ・Python・C++ |
Webサイト制作やWebサービスを開発したい | ・HTML/CSS・JavaScript・PHP |
スマホアプリ・Webアプリ開発をしたい場合 | ・Kotlin・Swift・Ruby・Java |
ゲーム開発したい場合 | ・C#・JavaScript |
AI(人工知能)や機械学習に興味がある場合
- Python
- C++
AIに使用される機械学習のライブラリがPythonで作られることが多く、人気が高いです。
またひとつの言語としても、汎用性が高いのでおすすめです。
WebサイトやWebサービスを開発したい場合
- HTML/CSS
- JavaScript
- PHP
HTML/CSSは難易度が低く、ChromeやEdgeなどのブラウザですぐに動作確認ができるので始めやすいです。
HTML/CSSで作成したWebサイトに動きを付けたくなったら、JavaScriptやPHPを学ぶと段階的に習得が可能になります。
スマホアプリ・Webアプリ開発をしたい場合
- Kotlin
- Swift
- Ruby
- Java
Javaは幅広く使えることが特徴の言語で、アプリ開発以外にもシステム開発やロボット開発など、さまざまな分野で活用されています。
KotlinはAndroidの公式開発プログラミング言語で、Javaとの親和性の高さが魅力的です。
ゲーム開発をしたい場合
- C#
- JavaScript
『ポケモンGO』もC#を使って開発されているなど、身近なゲームに使われている言語です。
JavaScriptは習得難易度が比較的低いため、Webサイトを作れるようになったら、次のステップとしてゲーム作りに挑戦してみるのもおすすめです。
まとめ
プログラミング学習を始めるにあたって、プログラミング言語の選択は重要です。
自分の目的とマッチしない、あまりにも分かりにくいプログラミング言語を選んでしまうと、途中で挫折します。
自分一人で検討してみてもわからない場合は、スクールの無料カウンセリングを受けてみましょう。
目的に合ったプログラミング言語を客観的な視点でアドバイスしてもらえます。
また当サイトでは、目的別学習方法の記事もありますので、学びたい言語がイメージできたらぜひ学習を始めてみてください。