IT関連

プログラミング言語で作れるものと使用する言語まとめ

プログラミング言語を覚えて自分でアプリやゲームを作りたい!
でも、どのプログラミング言語を使えば作れるのか分からない、、、

という方もいるのではないでしょうか?

今回は、

・プログラミングで作れるものはどんなものがあるか
・どのプログラミング言語を使えば作りたいものが作れるのか

をご紹介します!

プログラミング開発のカテゴリ

プログラミング言語は、世界中で200種類以上あるとも言われています。

そしてプログラミングで作れるものは大きく次の6つのカテゴリーに分けることができます。

・Webアプリ/Webサービス
・スマホアプリ(ネイティブアプリ)
・ハイブリッドアプリ
・ゲーム
・システム
・AI/機械学習

それぞれのカテゴリーについて簡単にご紹介します。

Webアプリ/Webサービス

Webアプリ、Webサービスとは、スマホアプリなどのようにインストールする必要がなく、ブラウザ上などWeb上に公開されている全てのアプリやサイトを指します。

SNS Facebook
Twitter
ECサイト Amazon
楽天
仕事関連 Skype
ChatWork
情報 メルカリ
クックパッド

WebアプリやWebサービスには、「HTML」と「CSS」でWebサイトなど見た目の部分を作成します。

そして、Webサイトに動きを持たせたい場合に「JavaScript」、サーバー側には「PHP」が主に使用されています。

他には「Ruby」や依存の少ない「Java」を使用することもあります。

スマホアプリ(ネイティブアプリ)

ネイティブアプリケーションは、アプリ自体をスマホやタブレットにインストールし、端末上でのみ動作するアプリを指します。

スマホアプリはOSによって使用する言語が異なり、アンドロイドとiOSの両方で使えるアプリでも中身は違った言語が使われています。

チャット LINE
カカオトーク
決算アプリ PayPay
QUICPay
その他アプリ 音楽や写真、マップなど

iPhoneなどのiOS向けアプリの場合は、「Swift」や「Objective-C」が主に使用されています。

また、Android向けのアプリの場合は「Java」や「C#」が主に使用されています。

ハイブリッドアプリ

ハイブリッドアプリは、Webアプリとネイティブアプリの特徴をもっています。

ブラウザ上で使用でき、さらに端末にインストールしたアプリでも使用できるアプリを指します。

SNS Facebook
Twitter
動画 YouTube
U-NEXT
ECサイト Amazon
楽天
情報 メルカリ
クックパッド

このカテゴリーでは「Java」や「JavaScript」が主に使用されています。

ゲーム

ゲームは、SwitchなどのTVゲームやスマホゲーム、PCゲームなどあらゆる媒体で開発されています。

それぞれ開発する媒体によって必要となるプログラミング言語が違います。

TVゲーム PS4
Switch
リアルゲーム VR(仮想現実)
MR(拡張現実)
PCゲーム Windows
Mac
スマホゲーム ポケモンGo
パズドラ
グラブル

ゲーム開発会社の多くでは「Unity」という統合開発環境が使用されています。

「C#」や「JavaScript」が「Unity」に使われることの多いです。

システム

システムとは、携帯電話やテレビ、洗濯機、自動車、製造ロボットなど私たちの周りにある電子製品や電気製品に組み込まれているコンピューターシステムを開発するものです。

組込み系 電子製品
医療機器
スマホ iPhone
Android
自動車 ETC
カーナビ
ソフトウェア 銀行システム
業務システム

特に定められた言語があるというわけではありませんが、「C言語」「Java」「Python」辺りがよく使用されています。

AI/機械学習

人工知能は現代社会において、様々な場面で使われています。

車の自動運転やSNOWなどの画像認識アプリ、音声認識でいえば「Siri」などが有名です。

音声/画像認識 Siri
監視カメラ
データ分析 天気予報
相性診断

AIなどで使用されている言語は、「Python」や「R言語」があります。

ですが、人工知能を開発するためにはプログラミング言語以外にも数学の知識など様々な要素が必要なため、難易度はかなり高い分野になります。

またエッジAIやAIに必要なセンサーの開発では「C言語」が使われる場合もあります。

まとめ

プログラミングで作れるもの/開発業務について調べた内容を簡単にまとめました。

プログラミング初心者で参入しやすいのはこの順番かなと思います。

1. Webアプリ/Webサービス
2. ハイブリッドアプリ
3. スマホアプリ(ネイティブアプリ)
4. ゲーム
5. システム
6. AI/機械学習

Webアプリ/Webサービスの分野については、ブログ/アフィリエイトに関係するので、私はこの辺りから勉強を進めて何かアプリやサービスが作れたらいいなと思っています。
(勉強記録としての記事も作成予定です)