トップに戻る
【目的別】初心者向け!おすすめのプログラミング言語まとめ
 > 
プログラミング > 
HOME > 
2022/06/28
2022/07/28

【目的別】初心者向け!おすすめのプログラミング言語まとめ

プログラミングを始めてみたいけど、”プログラミング言語”ってどれを選べばいいのかわからない…」という方は、非常に多くいます。実は、数多あるプログラミング言語にはそれぞれ得意分野があり、WEBサイト制作やアプリ開発など、活躍している分野がある程度決まっているのです。きっと、皆さんのやりたいことにマッチする言語があるはず。今回は、そんなプログラミング言語を「やりたいこと・したいこと」で種類別し、わかりやすくご紹介していきます。

1.WEBサイトを作りたい

ブラウザからSNSを閲覧したり、ブログを読んだり、皆さんにとって非常に身近な存在と言える”WEBサイト”も、プログラミング言語で作られています。このことから、「WEBサイトを作りたい」と考える方も多いのではないでしょうか。

WEBサイトの開発によく用いられているのは、以下のような言語です。

  • JavaScript
  • PHP

JavaScript

JavaScriptは、WEBサイト制作において必須とも言える言語です。

WEB開発におけるJavaScriptには、大きく分けて以下の2つの役割があります。

  1. フロントエンドの開発
  2. サーバとの通信

フロントエンドの開発とは、主にWEBサイト上に表示される物を追加したり、動かしたりすることです。

例えば、このブログの場合、右下のメニューを押し、その後画面外からメニューが現れる処理は、JavaScriptを用いて実装しています。スクロールボタンも、同様にJavaScriptで出し入れさせており、このブログ全体がJavaScriptの恩恵を強く受けている典型的な例です。

チュートリアル

PHP

PHPも、JavaScriptと同様にWEB開発の現場で頻繁に利用されている言語です。

WEB開発においては、JavaScriptと同様にWEBページの要素を表示させたり、WEBサイトから送信されたデータを処理させたりする役割があります。

具体的には、

  • メールの自動送信処理
  • データベースとの連携

などの目的で利用されることが多いです。

また、ブログ作成などに用いられることが有名なWordPressもPHPを基準に設計・開発されており、WEB開発における活躍が今後も期待されています。

チュートリアル

2.アプリを作りたい

スマートフォンを利用されている方は、「アプリ(アプリケーション)」に馴染みのある方も多いのではないでしょうか。高まる需要に合わせて、当然ながらプログラミングの分野でも、アプリ開発は常に注目の的です。

※実は「アプリ」は色々な意味で使われる言葉なのですが、ここではひとまずPCやスマホにインストールして使うソフトウェアを指すものとします。

アプリ開発に用いられているのは、主に以下のような言語です。

  • Java
  • Kotlin
  • Swift

また、先ほどまでは開発における役割を解説していましたが、アプリ開発は設計から開発・実装まで一貫して一つの言語で行えるため、そういった解説は省いています。

Java

Javaは、アプリケーション開発など、さまざまな分野で非常に長い歴史を持つ言語です。

技術者に限らず、一般の方でもJavaの名前を聞いたことがある人は多いのではないでしょうか。MineCraft(マイクラ)の開発言語としても有名ですよね。そんなJavaは、アプリケーション開発において非常に重宝されている言語のひとつです。

スマートフォン向けのアプリも作れますが、昔からPCで動作するアプリケーションの開発に利用されるケースの方が多いような気はします。

かなり万能な言語なのでおすすめではあるものの、学習難易度は少し高めだと言えます。じっくりプログラミングを学びたい人向けです。

チュートリアル

Kotlin

Kotlinは、2012年ごろに公開された比較的新しい言語のひとつです。

先述したJavaよりも簡単にプログラミングできることを目的としており、Javaと立ち回りも似ています。Javaがベテラン向けだとすれば、こちらはより初心者向けの言語だと言えるでしょう。

アプリケーション開発の分野では、主にAndroidアプリの開発で名前を聞くことが多いです。理由としては、AndroidOSを提供しているGoogle社が、Kotlinでの開発を推奨しているからですね。

Androidアプリを開発したいなら、必ず学んでおくべき言語です。

チュートリアル

Swift

Swiftは、iOS(iPhone・iPad)のアプリケーションを開発するための言語です。

Appleと言えば自社製品だけで扱えるアプリケーションを多数開発しているなど、強いブランド力が特徴ですが、プログラミングなどの開発分野にも、その影響は及んでいます。

というのも、AppStoreで承認されているスマホアプリは全て、このSwiftを用いて作られているのです。要するに、Swift以外の言語では基本的にiOSアプリは作れません。(React-Nativeなど一部例外有)

したがって、iPhoneやiPadで使えるアプリを作りたいなら、Swiftの習得は必須事項となります。

以前まではMacというApple製品でないとまともに開発すらできないという徹底ぶりでしたが、現在ではWindows搭載の一般のPCでも開発可能です。

チュートリアル

3.ゲームを作りたい

以前、任天堂から「ナビつき! つくってわかる はじめてゲームプログラミング」のようなゲームが発売されていましたが、もちろんプログラミング言語はゲーム開発にも利用できます

ゲーム開発によく利用される言語は、以下の通りです。

  • C#
  • その他

C#

C#は、マイクロソフトによって開発された言語です。

Unity・Unreal Engineなどのゲームエンジンとセットで開発に利用されるケースが非常に多く、ゲーム開発においては定番中の定番の言語となっています。

Unityなどのゲームエンジンがレンダリング(描画)を担当し、C#でオブジェクトの処理やサーバ通信などの裏方処理を担当するような配分ですね。

基本的にはJavaなどとできることが似ているため、ゲーム開発に留まらず、さまざまな場面で利用できるのも魅力です。ただし、Javaと似ているということは、その分学習難易度も高い部類になります。

チュートリアル

その他

「その他ってなんだよ。」と思われた方もいるかもしれませんが、こういう話をする際、そもそもゲームって何?っていうところの定義をするのが困難です。

例えばHTMLゲーム(ブラウザゲーム等)はJavaScriptで実装されることがほとんどですが、JavaScriptは本来はゲーム開発用の言語ではありません。MineCraftはJavaで作られていますが、Javaはゲーム開発専用の言語ではありません。

要するに、ゲームは色々な言語の特性を応用して作られていることがほとんどなのです。

したがって、JavaScriptやJava、Kotlinなど、これまで紹介してきた言語はほぼ全て何らかの形でゲーム開発に利用することができます

Unityなどを用いてゲーム開発したいならC#を学習すべきですが、具体的に決まっていないなら、どの言語から学んでも一応ゲーム開発には挑戦可能です。

4.サーバの構築がしたい

一般の方にとっては馴染みがない分野として、「サーバの構築」というものがあります。俗にいう”サーバサイドの開発”です。一般ユーザの目には留まりにくい分野ですが、Twitterなど、さまざまなサービスを提供する際には欠かせない技術分野であり、業種として高収入も狙いやすい分野となっています。

サーバの構築によく使われる言語は、以下の通りです。

  • Java(Jakarta EE)
  • Ruby
  • Node.js

※ここでいう「サーバの構築」はサーバプログラムの純粋な開発領域を指しており、ハードウェアの仕様定義や機材調達(いわゆるインフラ分野)などは含めないものとします。

Java(Jakarta EE)

アプリ開発の部分でJavaを紹介しましたが、実はサーバの開発においても頻繁に利用されている言語でもあります。ただ、通常のJavaで実装するというよりは、Jakarta EE“という拡張機能を用いて開発されることが多いです。

Jakarta EEはJavaでサーバサイド開発を可能にするための機能が集約されており、これを扱うことで本格的なサーバの構築ができるようになっています。

ちなみに、JavaはOracle社が管理していますが、こちらはEclipse Foundationという団体によって管理されているので、Javaとは立場が少し異なります。元々はOracle社で管理されていた過去があり、そのときはJava EEという名称でした。

チュートリアル

Ruby

Rubyは、まつもと ゆきひろ氏によって開発された、日本製のプログラミング言語です。基本的にこういった流行する技術は海外で開発されるので、そう考えるとすごい言語ですよね。

比較的短く、洗練されたコードでプログラミングできるのがポイントで、初心者でも学習しやすい言語だと言えます。

ただ、サーバの開発で利用される場合、ほとんどが”Ruby on Rails“という拡張機能とセットで利用されます。Rubyそのものを扱いたいというよりは、Ruby on Railsが使えるからRubyを選ぶという印象が強いです。

もちろん、JavaやPHPなどといった有名な言語と同じく、Ruby単体でもさまざまな場面で利用されていますよ。

チュートリアル

Node.js

Node.jsは、サーバの開発用に作られたJavaScriptの実行環境です。本来はWEBサイトの制作などに利用されているJavaScriptで、サーバを構築できてしまうわけですね。

厳密にはプログラミング言語ではないのですが、RubyやJavaと同等のレベルでWEBアプリ・サービスの開発現場に登場する上、開発する感覚はJavaScriptによるプログラミング作業と大して変わらないため、ここではもうプログラミング言語として紹介しています。

Node.jsは大量の同時接続をしっかり処理していくことを目的に設計されており、安定感の高いWEBサービスを作れるのが強みです。詳細は省きますが、よくあるWEBサーバの代替として用いられることも多々あります。

また、Node.jsの管理ツールであるnpmは、よく拡張機能のインストール手段としても用いられるため、プログラミングを勉強していけば目にする機会は多いかもしれません。

チュートリアル

5.AIを開発したい

プログラミング言語を適切に運用すれば、以前より話題を集めているAIの開発を行うことも可能です。AIを直接的に作るというよりは、主にAIにデータを学習させるための処理内容を実装するために言語が利用されます。

AI開発に利用される言語は、基本的には以下の通りです。

  • Python
  • R言語

Python

Pythonは、非常に高い可読性が特徴の汎用的な言語です。

可読性が高く初心者でもすぐに習得できる言語でありながら、さまざまな分野で開発に用いられることから、AI開発の分野に限らず、多くのプログラミング言語の中でもトップクラスのシェアを誇ります。

もちろん、AI開発におけるシェアもトップ。AIの開発に携わるのであれば、Pythonの習得は必須だと言えるでしょう。

チュートリアル

R言語

R言語は、AI開発や統計解析・分析をする際に用いられるプログラミング言語です。Pythonと比較されることが多々ありますが、Pythonと違ってアプリケーション開発などは少し苦手な分野になっています。プロダクトを生み出すための言語というよりは、研究用の言語というイメージを持てばわかりやすいのではないでしょうか。

ただ、データサイエンスという分野で扱われる専門的な言語なので、他言語に比べるとシンプルな設計なのが強みです。初心者でも、特につまづくことなく言語を習得できるでしょう。

Pythonに比べるとシェアは劣りますが、それでも機械学習・AI開発の分野では度々登場するので、この分野を志すなら習得しておいて損はありません。

ちなみに、一般的な会話などで登場する際には「R」と1文字で呼ばれることがほとんどです。

チュートリアル

6.ロボットを開発したい

ロボットは、表面は金属部品などでおおわれていますが、その中心には基板が組み込まれています。その基盤を通じて、ロボットを動かしたり、制御したりするわけです。そういった処理を開発する際にも、プログラミング言語は使われています。また、このような分野はエンジニアリング(ちょっと違うけど)と呼ばれているため、以降はロボット開発ではなく、エンジニアリングという名称を使って説明します。

エンジニアリングで扱われる言語として代表的なのは、以下の2つです。

  • C言語
  • C++

C言語

C言語は、数あるプログラミング言語の中でも長きにわたって利用されている言語です。登場したのは1970年ごろですが、50年近く経過した2022年現在でもなお、さまざまな開発分野で使われているほど人気があります。また、歴史ある言語であるが故に後発の言語に及ぼした影響も大きく、JavaやPHP、JavaScriptなどは、C言語から影響を受けたと言われています。

エンジニアリングおよびロボット開発の分野では、とりわけ需要が高く、初心者がはじめに習得する言語になるケースも多いです。

会話などで呼ばれる場合には、「C」というように、R言語と同様1文字で呼ばれます。

チュートリアル

C++

C++は、C言語から派生した言語の一種です。基本的にはC言語の性質を継承していますが、オブジェクト指向プログラミングにも対応するなど、さまざまな改良が加えられているのが特徴でしょう。

C言語と合わせて習得することが多く、Cと同じくエンジニアリングの分野ではよく利用されています。

チュートリアル

各言語のチュートリアルリンク

最後に、紹介してきた言語を学習できるよう、各言語において信頼できそうなチュートリアルサイトのリンクをまとめておきます。無料のものがほとんどなので、学習する際に利用してみてください。

※実際のサイトタイトルとリンクのタイトルには少し違いがあります。また、日本国内で企業また個人によって提供されているチュートリアル動画やセミナーなども多くありますが、今回は情報の信頼性を重視し、基本的には除外しています。あらかじめご了承ください。

JavaScriptチュートリアル

JavaScriptを学ぶなら、MDNのチュートリアルがおすすめです。HTMLやCSS、JavaScriptの仕様も掲載しているサイトで、世界中のエンジニアから高い信頼を得ています

JavaScriptの第一歩

PHPチュートリアル

PHPのチュートリアルは、公式リファレンスで提供されている簡易チュートリアルをするのがおすすめです。少し内容が不足している感じもありますが、公式に作成されたものであり、非常に信頼性が高いという特徴があります。

PHP:簡易チュートリアル

Javaチュートリアル

Javaのチュートリアルは、Javaを管理しているOracle社のサイトで提供されているものがあります。

Java?チュートリアル

ただし、Javaは長い歴史を持っており、コミュニティによって機能の実装・改善が繰り返されまくっています。情報量がかなり膨大なので、はっきり言ってチュートリアルを1つやった程度では理解できません。これに関しては専門学校に通うなり、教材などを購入するなりして、頑張って勉強するしかないでしょう。

Kotlinチュートリアル

Google社がAndroidOSの開発にKotlinを推奨しているため、当然ながらKotlinのチュートリアルもGoogle社から提供されています。全文ほぼ英語ですが、プログラミング言語を学ぶ上で英語のリファレンスを読む力は非常に重要なので、それも練習だと思って取り組んでみてください。

トレーニングコース

Swiftチュートリアル

Swiftは、もちろんApple社から公式チュートリアルが用意されています。基本英語ですが、言語を学ぶ上では何とやらです。

iOSアプリを開発する

C#(Unity)チュートリアル

C#そのもののチュートリアルは、Microsoft社から提供されているものを利用するのがおすすめ。公式で案内されているチュートリアルとしては、群を抜いて見やすいチュートリアルになっています。

C#を学ぶ

ただ、上記のチュートリアルはあくまでC#の使い方が学べるだけで、Unityなどとセットで行うゲーム開発については触れられていません。(多分)

Unity + C#でのゲーム開発が学びたいという方向けに、以下の記事がわかりやすくまとめられています。公式のリファレンスではないですが、基本的な使い方はここで学んでみるのが良いでしょう。

Unity入門

Jakarta EEチュートリアル

Jakarta EEは一応公式のチュートリアルがあるのですが、非常に見づらく、かつ日本語訳も全くされていないため、おすすめしません。したがって、ここではJetBrainsという、信頼性に足る企業にて提供されているチュートリアルを掲載しておきます。

初めてのJavaEE

Rubyチュートリアル

Rubyは日本人によって開発された言語であることから、日本語のリファレンスが豊富にあります。Rubyのチュートリアル自体は、コミュニティによって運営されている公式リファレンスから閲覧可能です。

20分ではじめるRuby

Ruby on Railsのチュートリアルは、以下のサイトで閲覧することができます。一応、公式のチュートリアル(英語)を日本語訳したものなので、情報の信頼性は高いのではないでしょうか。

RubyonRailsチュートリアル

Node.jsチュートリアル

Node.jsのチュートリアルは、公式サイトで提供されています。日本語訳もしっかりしているので、JavaScriptができない方でも学習できると思います。

ガイド/Node.js

Pythonチュートリアル

Pythonは人気な言語なので、さまざまなチュートリアルが存在します。ここでは公式リファレンスのチュートリアルの掲載をしますが、AI開発に従事したいのであれば、出版されている教材を購入してみるのもおすすめです。

インストール

Python チュートリアル

R言語のチュートリアル

Rは他の言語のように公式のチュートリアルが明確にあるわけではないので、ここでは日本人の方が作ったチュートリアル(というよりはHow toみたいな)サイトを掲載しておきます。

Rの初歩

C言語のチュートリアル

C言語もR言語と同様、公式が提供するチュートリアルやガイドブックがありません。したがって、2017年ごろまで運営されていたというC言語の学習サイトを掲載しておきます。

C言語

C++のチュートリアル

C++のチュートリアルとしては、Microsoft社から提供されているものがあります。非公式ではありますが、C++でアプリケーションを作成する手順が学べるため、C++の基礎学習には十分でしょう。

C++プログラムの作成

まとめ

プログラミング言語には数多くの種類があり、それぞれの特性から、需要の高い分野・領域がある程度決まっています。初心者の方は、自分に合わない言語を学習してしまわないよう、ここで紹介した目的に合わせ、その中から気になる言語を選んで学習を始めてみてください。

SHARE