プログラミングを使ったできることを5分で徹底解説! | プログラミング入門ならWEBCAMP NAVI
【1月枠も残りわずか】転職保証コース

プログラミングでできること|作れるもの・言語別に徹底解説!

プログラミング できること

「プログラムを作ること」にどんなイメージがあるでしょうか?

多くの人は、表計算ソフトやゲーム、データツールなどのソフトウェアを思い浮かべると思います。
実際、ITエンジニアの多くはソフトウェア開発ですし、スマートフォンの普及からより身近になりましたよね。

しかし、プログラミング学習によってできるようになることはそれだけではありません。
そこで今回は

・プログラミングはなせここまで活用されているのか
・プログラムでできること
・プログラミングを学ぶメリット

を解説していきます。

ここではプログラミングそのものについての説明はしませんので、詳しく知りたい方は以下の記事をご覧ください。

プログラミングとは?|入門向けの基礎知識をわかりやすく紹介!

身近な活用例も含めて紹介していきますので、ぜひこの機会にプログラミングでできることについて、人に説明できるレベルまで理解しましょう!

プログラミングが得意なこと

ここまで普及したプログラミングですが、そもそも何故ここまで活用されているのでしょうか。

その理由の一つとして、プログラムが得意とする処理能力の高さにあります。
コンピュータ1台で、人の何万~何億倍も質の高い処理をこなすことができます。
すごく基本的なことですが、一つ一つ見ていきましょう。

高速処理

コンピュータは、人とは比べ物にならない速さで処理をすることができます。

例えば、2019年7月時点で販売されている一般的なコンピュータであれば、1秒間に800万から1,000万回程度の計算(命令の実行)を行えます。
「数値を代入する」「足し算する」程度の簡単な計算ですが、それを1秒間に1,000万回も実行するのは、人には不可能なことでしょう。

自動処理

人が行うには面倒な処理でも、プログラムを作ることでコンピュータが自動でできるようにすることができます。

例えば、無数のデータの中から特定の条件に合うデータを抽出したり、同じ文字を繰り返し表示し続けたりなど、特定の操作を繰り返す処理はコンピュータの得意分野です。

RPAという言葉をご存知でしょうか?
今までホワイトカラーだった事務作業の部分を自動化することで、業務の改善を測ろうという動きが出てきています。
プログラミングの得意な点が上手く活用された例ですね。

正確処理

人が同じ作業をずっと繰り返していると、疲れや集中力の途切れから、必ずミスが生まれます。
対してコンピュータは、プログラムに書かれた内容を一言一句間違えることなく実行しますので、まったく同じことを正確に繰り返してくれるのです。

ただし、プログラムに書いてあるとおりに動くということは、書かれていない動作はしません。
また、プログラムが間違っていてもお構いなしに動き続けます。

それに加えて、コンピュータへの処理のさせ方(プログラムのつくり方)によっては誤差が生まれることもあります。
プログラムの処理に抜け漏れがないよう、人間が工夫して設計する必要があります。

例えば、次の計算を考えてみましょう。

 

2÷3×6

 

人が考えれば、答えは4だと分かると思います。
しかし、この式をコンピュータにそのまま計算させると、次のようになります。

 

2÷3×6 = 0.666666666667×6 = 4.000000000002

 

このように、無限を扱うことができないコンピュータでは、わずかながらの誤差ができてしまうのです(コンピュータによって誤差の大きさに違いはあります)。

この場合、先に割ることで無限小数ができてしまいますので、先に掛け算をしてから割ることで、誤差を最小限にすることができます。

 

2×6÷3 = 12÷3 = 4

 

コンピュータは、プログラムに書いてある通りには動きます。
しかし、その結果がユーザーの求めるものかどうかをコンピュータは判断できません。
それを判断できるのは人間だけですので、その判断を元にしてうまく動くプログラムを作るようにしなければいけないのです。

プログラミングで作れるもの

今のITを支えているプログラミング技術ですが、「プログラミングで作れるもの」を考えた時、何を想像しますか?

プログラムで作れるものは

・アプリケーション
・ゲーム
・システム
・ロボット

の4つが主に挙げられます。

アプリケーション

アプリケーション

アプリケーションと聞いてスマホのアプリを思い浮かべる人もいれば、Webで動く食べログのようなアプリを思い浮かべる方もいるでしょう。
実はアプリケーションには3つの種類があります。

Webアプリ Web上で動くアプリ
スマホアプリ スマートフォン端末にDLして動くアプリ
デスクトップアプリ PC上で動くアプリ

TwitterやfacebookはWebアプリでもスマホアプリでもありますし、メモ帳はスマホとPC上で動作するので、スマホアプリでありデスクトップアプリでもあります。
同じアプリケーションでも動作環境によって呼び名が変わること、さらに開発言語まで変わることも多いことを覚えておきましょう。

ゲーム

ゲーム

プログラミングでイメージしやすいものとして、多くの方がゲームと答えるのではないでしょうか。
ポケモンモンスターハンターなど、全てのゲームはプログラムによってできています。

システム

システム

駅の改札やエレベーター、スピーカーや冷蔵庫などの家電もプログラミングでできています。

最近ではIoT(Internet of Things)という言葉が話題になりましたが、Google HomeなどのAIスピーカーを始め、家電もどんどんインターネットに接続された状態になっていきます。
そのため、各企業も大々的に開発を進めているフェーズでもあります。

ロボット

ロボット

まだ世の中にあまり浸透していませんが、今後AIの発達によって伸びてくる分野です。
人間に近づける技術はなかなか難しいですが、将来人とロボットが共存するような社会が来るのでは?という説もあります。

AIについて詳しく知りたい方はこちらがオススメです。

AI とはAIとは何か|人工知能についての基礎知識をわかりやすく解説

プログラミング言語別にできることとは?

プログラミング言語

ここからは、具体的なプログラミング言語について触れていきましょう。

現在、プログラミング言語は200種類以上存在していると言われています。
中には特定の環境でのみ使われているものや、昔は流行ったが今では使われなくなったものなどもあり、現在主流と言われているものは20種類もないかもしれません。

ここでは、それら主流と思われるプログラミング言語のうちの10の言語について、できることや人気度、扱いやすさ、その他の特徴を織り交ぜながら紹介していきます。

ぜひ自分好みのプログラミング言語を見つけて、プログラミング学習を始めてみましょう!

プログラミングの種類が多い理由

冒頭で、プログラミング言語の数が200種類近くと書きましたが、なぜここまでプログラミング言語の数が多くなっているのでしょうか?

その理由は様々ですが、大きな影響として二つ挙げられます。
一つはプログラムの規模が大きくなってきたこと、もう一つはコンピュータの処理速度が上がったことです。

パソコン普及時代

多くのプログラミング言語の祖であるC言語が生まれた当初のプログラムは、1メガバイト程度のものでした。
その頃の記憶媒体はフロッピーディスクで、保存容量が1.44メガバイトと小さく、パソコンのメモリも640キロバイト程度でしたので、大きなプログラムは物理的に作りにくかったのです。
そのため、プログラムはできる限り小さく、多少読みにくくても簡略に書けるものが好まれました。

高性能時代(~現在)

コンピュータの性能が向上し、記憶容量やメモリがGBやTB単位のものが普及していきました。

それまでのプログラムは「できる限り小さく」「できる限り無駄がない」という意識に傾いており、「読みにくい」「メンテナンス工数がかかる」という悪い面ばかりが目立ってきました。
そこで、これまでのプログラミング言語に代わって「読みやすく自然言語に近い」ものが求められるようになったのです。

こうして、プログラミング言語はその時々のコンピュータの性能やプログラマーたちの嗜好を取り入れつつ、様々なものへと派生していったわけです。

HTML&CSS

HTML&CSS

言語種別 マークアップ言語
主に作れるもの Webサイト
人気度 ★★☆☆☆
扱いやすさ ★★★★☆

HTMLは「HyperText Markup Language」の略で、Webサイトを作るときに利用されています
例えば、以下のようなものです。

HTMLはマークアップ言語に分類され、厳密にはプログラミング言語ではないのですが、細かい説明は省略します。

 

目印(タグ)を使ってWebサイトの構造を決めたり、ハイパーリンクを設定したりすることができます。
また、文字種や文字色、文字サイズなどを定義することもできますので、HTMLだけで簡単なWebサイトが作成可能です。

 

CSSはデザインを定義する言語で、マークアップ言語に分類されます。
HTMLでもデザイン定義はできるものの、細かい設定ができません。
それに対しCSSでは、個別にフォントやサイズ、色などを定義することができるため、多くの人に活用されています。

 

HTMLやCSSをプログラミング言語として利用している人はあまりいないかもしれませんので、人気度としては今一つです。
ただ、Web系のプログラマーやデザイナーには総じて必要なスキルですので、最低限のことは知っている利用者は非常に多いでしょう。
また、意外と憶えることが多く、凝ったことをしようとすると難易度が一気に上がってしまうところがあります。

JavaScript

JavaScript

言語種別 スクリプト言語
主に作れるもの Webサイト、Webアプリ、スマホアプリ
人気度 ★★★★★
扱いやすさ ★★★★☆

HTMLがWebサイトの構造を定義し、デザインはCSSが定義しています。
ただし、事前に作成したHTMLやCSSはあとから操作することができないため、HTMLとCSSだけで作られたWebサイトには動きがありません。
そんな静的なWebサイトを動的にするために、JavaScriptが作り出されました。

 

JavaScriptは、ブラウザ上で動作させることができるプログラムを記述する言語です。
具体的には、ブラウザがHTMLやCSSを読み込んで表示するときや画面スクロール、マウスのクリックなどのタイミングで実行され、HTMLやCSSを状況に合わせて書き換えます。
非常に人気のあるプログラミング言語で、Webサイトの他にもアプリケーションやインターネット家電のインターフェイスなど、様々な場面で活用されています。

 

主にWebサイトやWebアプリケーションを作成することに使われるプログラミング言語ですが、MonacaTitaniumなどのツールを利用することで、モバイルアプリケーションを作ることも可能です。
そのような点もあって、JavaScriptはここ数年人気ナンバー1をキープしている人気のあるプログラミング言語です。
ただし、ブラウザ(環境)によって対応している仕様が違っていることや、Javaと似て非なるものである点などから、とても扱いやすいとは言いにくいでしょう。

Ruby

Ruby

言語種別 スクリプト言語
主に作れるもの Webアプリケーション
人気度 ★★★★☆
扱いやすさ ★★★★★

Rubyは日本人が開発した国産のプログラミング言語で、記述量が少なく直感的にプログラムコードを書けるように配慮されているのが高評価な言語です。
また、書きやすいだけではなく実用性も十分にあり、これまで存在した種々のプログラム言語のメリットを多く取り入れてシンプルにまとめられています。

 

国産のプログラミング言語ということで、海外も含めると人気度は★5つまで届きませんが、とても扱いやすいです。
習得が比較的容易なこともあり、多くの企業のWebサイトで採用されています。主にサーバーサイドのWebアプリケーションを作ることに使われていますが、パソコン上で動かすツールも簡単に作ることができますので、会社業務のちょっとした時短スキルとしても重宝します。

Python

python

言語種別 スクリプト言語
主に作れるもの Webアプリ、デスクトップアプリ、ロボット
人気度 ★★★★★
扱いやすさ ★★★★★

海外で非常に人気のあるプログラミング言語で、直感的にプログラムコードを組むことができるプログラミング言語です。
データ解析や人工知能関連の現場での採用実績も多く、人工知能を学ぶのであればPythonといって良いほど情報が充実しています。
もっとも特徴的なのは、「コードの読みやすさ」をとても重要視した文法です。
そのおかげで初心者でも無用なバグのない品質の高いプログラムを作ることができるようになっています。

 

Webアプリケーションからデスクトップアプリケーション、組込アプリケーション(家電や自動車などに入っているプログラム)が作れ、人工知能やデータ解析などの実績があるため、モバイルアプリケーション以外はなんでもできるといった印象があります。
そんな利便性もあって、JavaScriptが台頭するまではPythonがその座に君臨していた時期もあったほど人気のある言語です。

C言語

C

言語種別 コンパイル言語
主に作れるもの Webアプリ、デスクトップアプリ、スマホアプリ、システム
人気度 ★☆☆☆☆
扱いやすさ ☆☆☆☆☆

C言語はハードウェアを操作するミドルウェアやメモリや処理速度などの制限が厳しい現場の開発で威力を発揮します。
C++やC#などC系言語のご先祖様的なプログラミング言語ですので、「C言語ができれば、他のプログラミング言語は何でもできる」と言われていた時代もありました。
しかし、JavaやC++などのオブジェクト指向言語が人気となっていき、今ではC++言語のサブセット(一部)のような扱いになっています。

 

一時期は「C言語ができなければプログラマーではない」といった風潮もありましたが、現在積極的に使っている人はあまりいません。
コンピュータのメモリを直接操作できるほど柔軟性が高いため、機械に組み込む組込系の現場では重宝されていますが、ハードウェア依存のプログラムコードになりやすいという難点もあります。
また、その柔軟性が仇となり、ちょっとした不注意で重大な不具合を引き起こすリスクがありますので、ユーザーに一定以上の知識と経験を要求する言語と言えるでしょう。

C#

C#

言語種別 コンパイル言語
作れるもの ゲーム、スマホアプリ
人気度 ★★★☆☆
扱いやすさ ★★★☆☆

C#はマイクロソフトが開発したプログラミング言語で、C++やJavaの影響を強く受けたオブジェクト指向言語です。
マイクロソフトが開発したこともあってWindowsアプリケーションの開発環境は充実しており、ボタンやパネルなどを使ったアプリケーションを簡単に作ることが可能です

 

比較的人気はありますが、開発環境が限られてしまうこともあってほかの言語に比べて利用する人も多くありません。
ただしUnityという3Dゲーム開発環境で採用されていることもあって、ゲームの開発で数多くの採用実績があり、ゲーム開発に向いているプログラミング言語としてとても人気が高いです

Java

Java

言語種別 コンパイル言語
作れるもの Webアプリ、デスクトップアプリ、スマホアプリ
人気度 ★★★★☆
扱いやすさ ★★☆☆☆

Javaは、C言語やC++言語を元にして作られたオブジェクト指向型言語です。
ハードウェアを直接操作することができないようになっており、C言語のような重大な不具合のリスクは大きく下がっていますが、オブジェクト指向の習得に時間がかかるため、難易度は高めです。
ただし、どんなハードウェア上でも動かせる環境が準備されていますので、プログラムを1つ作るだけでWindowsとMacの両方で動かすことができるのは大きな利点でしょう。

 

Javaは銀行や公的機関などの業務系アプリケーションで利用されているためとても人気のあるプログラミング言語で、今も現役の人は大勢いらっしゃいます。
また、AndroidアプリケーションはJavaとほぼ同じ文法であるAndroidJavaで作成しますので、他の言語に比べてJavaを使える人の人口は多いでしょう。

Swift

Swift

言語種別 コンパイル言語
作れるもの Webアプリ、デスクトップアプリ、スマホアプリ
人気度 ★★★☆☆
扱いやすさ ★★★☆☆

SwiftはAppleが開発したiOS向けのプログラミング言語で、iPhoneやiPad、Mac以外にも、AppleTVやAppleWatchのアプリケーションが開発可能です。
Apple製品のソフトウェア開発を行うのであれば、これ以上に作りやすい言語はありません。

 

2014年に登場したこともあり、それまでにあったプログラミング言語の良いところを数多く吸収し、プログラムコードが書きやすく、かつ読みやすい構造になっています。
Apple製品用のソフトウェア開発を行うことを考えればSwiftがオススメですが、その他の開発対象も考慮する場合は、JavaScriptなども選択肢に入ってきます。

 

また、Swiftが出る以前にApple製品の開発用言語であったObjective-Cは、独特で構造が複雑なため、学習しにくかったという反省点がありました。
その改善策として、他のプログラミング言語によく似た構造を採用しているため、学習しやすい言語になっています。
ただし、開発にはMacが必要なので注意が必要です。

Go

Go

言語種別 コンパイル言語
作れるもの デスクトップアプリ、モバイルアプリ
人気度 ★★☆☆☆
扱いやすさ ★★★★☆

Googleが開発したプログラミング言語で、あえて構文の種類を減らすことでプログラムコードがシンプルになるようにしています。
例えば、一般的に繰り返しの構文はfor文とwhile文という二つが存在し、同じ繰り返し処理でも2種類の表現が可能です。
しかし、Go言語ではfor文しか存在しないため、誰が作っても大きくブレることがありません。
このように、敢えて制限することで可読性の高く、扱いやすい言語になっています。

 

登場してまだ日が浅いことや、作成できるデスクトップアプリケーションがCUI(キーボードでコマンドを入力して操作するアプリケーション)のみであることなどから、まだこれからのプログラミング言語です。
ただし、Googleが推奨している言語ですので、将来性は十分にあるでしょう。
前述のとおり、シンプルで憶えやすく作られており、とても扱いやすいプログラミング言語ですので、新しい技術に興味のある人にはおすすめです。

まとめ

プログラミングでできることは様々で、言語によっても得意・不得意なものは異なります。

もしプログラミングに少しでも興味を持って、やってみたいと思えたのなら、まずは勉強してみることをオススメします。
昔より学習環境も多く存在し、かつ手軽にできるものも多いため「まずは学習してみたい!」と思ったら、こちらの記事も参照して学習を進めてみてください!

【プログラミングの独学で最適なサイトを特別に紹介!】独学方法もステップ別に解説

1月枠も残りわずか!!

エンジニア転職を目指すなら…

転職保証付きプログラミングスクール

で未経験からエンジニア目指そう

 

✔︎未経験からの転職 ✔︎会社の将来が不安 ✔︎給与や待遇に不満がある

 

転職保証コースは質の高いカリキュラムで転職成功率98%

 

転職保証付のDMM WEBCAMPで
安心してエンジニア転職を目指そう

「スキルがないし…」「失敗したくないし…」
カウンセラーがあなたのキャリアを真剣に考え、
ご相談に乗ります。