プログラミングでできることとは?初心者のための超基礎知識

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

まだまだ人気が伸び続けているプログラミング。2020年からは小学校でも教育が必修化され、私たちの生活に身近な存在になっています。

プログラミングの重要性を理解しつつも、「プログラミングって、具体的には何ができるんだろう?」と思っている方は多いのではないでしょうか。

そこで今回は、プログラミングでできることと、人気のプログラミング言語をご紹介します。

プログラミングとは

プログラミングとは一言でいうと、プログラムを作ることです。プログラムとは「コンピュータへの命令文(指示書)」です。

まず大前提として、コンピュータは命令されたとおりの行動しか行えません。たとえば近年は人工知能(AI)が盛んですが、それらはすべて「多くの命令の上に成り立った人工知能」であり、命令の一切ないコンピュータは何も実行することができません。

そんなコンピュータに対して、人間が命令文を一つひとつ積み上げていき、コンピュータにさまざまなことを実行させる作業がプログラミングなのです。

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

プログラムがコンピュータへの命令文である以上、プログラミングでできることとはすなわち、コンピュータができることと同義です。

ではコンピュータができることとは何でしょうか。

極めてシンプルに言えば「計算すること」です。ただし、ただ「計算する」といっても、それをプログラミングで何重にも組み合わせていくことで、コンピュータはより複雑なことを実現できるようになります。

できることのうち、代表的なものを以下に7つピックアップしました。

できること1. 高度な計算をできる

気象予報や地震の予測、さらには遠く離れた天体の動きなど、膨大なデータと複雑な式によって初めて導けるような高度な計算は、プログラミングが得意とすることです。

人の手ではいくら時間があっても計算しきれないようなことも、コンピュータとプログラミングがあれば瞬時に算出できます

たとえば学術研究の分野では、国産のスーパーコンピュータ『京』を活用して、高度な計算・シミュレーションが行われています。

できること2. WEBアプリを作れる

私たちが普段見ているSNSやブログ、さらに自分のスマホの契約状態や銀行口座の残高をネット上で確認できるWebサービスなどは、Web上でプログラムが動くことで実現しているアプリケーションです。

プログラミングでは、以下のようなWebアプリを作ることができます。

  • Googleのような検索エンジン
  • 食べログのようなレシピ検索サービス
  • Amazonのようなネットショッピングサービス
google

▲出典:Google検索

Webアプリはネットにアクセスするためのブラウザさえあれば、スマホやPCなど媒体を問わず利用できるので、利便性に優れています。

できること3. スマホアプリを作れる

プログラミングで作れるアプリケーションは、Webアプリの他にもあります。普段使用しているスマホにインストールされているアプリ(モバイルアプリ)もまた、プログラミングが使われています。

スマホアプリはWebアプリとは異なり、スマホ上でプログラムが動くアプリケーションです。そのため、カメラや加速度センサーなどスマホの端末に備わっている機能にアクセスすることもできます。

また、プログラムをスマホ自体にインストールできるスマホアプリは、Webアプリに比べて動作が軽く、ログインやWebページにアクセスする手間もかかりません。そのため頻繁に使われるLINEなどのチャット・通話アプリは、スマホアプリとして開発されています。

Line

▲出典:LINE

できること4. OSを作れる

スマホやPCそのものを動かすためのシステムである「OS(Operating System)」もプログラミングでできています。PCならWindowsやMac OS、スマホならAndroidやiOSなどが代表的なOSです。

OSがなければコンピュータを操作するのはもちろんのこと、自身の記憶装置にアクセスしたり書き込むこともできませんし、そもそも何かを画面に表示することもできません。

ただし「OSもプログラミングでできている」とは言っても、そのプログラムはとても複雑かつ長大なものです。個人がまともにそれらしいPCやスマホとして動作するOSをプログラミングで作ろうと思ったら、途方もない量の知識とプログラミングのスキルが必要になります。

もちろん個人開発でOSを作るのも、プログラミングの楽しみ方のひとつです。

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

▲出典:macOS Monterey

できること5. 工場で使用される機械や車などの大型機器のシステムを作れる

パンや和菓子を作る製造工場で使われる大量生産用の機械や、自動車や冷蔵庫などの大型機器もまた、プログラミングでその動きを制御しています。

たとえば国産の工業機器では、レオン自動機株式会社の『火星人』シリーズが有名です。火星人は、和菓子や肉まんなどの包餡(餡を生地で包むこと)に特化した工業機器。国内での圧倒的なシェアはもちろんのこと、国外でも100か国以上で使用されています。

大型機器は複雑なものになればなるほど、プログラムは膨大になります。自動車のような高度かつ安全性の高い制御が求められるシステムでは、なんと1000万行を越えるほどのプログラムが書かれていることもしばしば。

一方で簡単なシステムであれば、たった数行のプログラムで済むこともあります。

できること6. 業務を自動化できる

Excelやスプレッドシートなどの表計算アプリをはじめ、PC上で行うさまざまなタスクはプログラミングで自動化できます。たとえば、プログラミングでは以下のような作業を自動化し、作業効率を上げられます。

  • データの入力/集計
  • ブラウザの自動操作
  • PC上のファイル編集
  • メール自動送信

業務自動化の中でも、スプレッドシートやドキュメントなどのGoogleが提供する「Google Apps Script」や、Excel計算の自動化を行える「VBA」は、プログラミング入門者が業務自動化をはじめるのにぴったりのプログラミング言語です。

できること7. プログラムを学習させてAIを作れる

近年注目されているAIもまた、プログラミングでできています。

膨大なデータを繰り返しプログラムに学習をさせることで、AIは作られます。AIが適切な判断をくだせるようになるには、何千・何万ものデータを学習する必要があるといわれていますが、その長い学習プロセスにも、プログラミングが活用されています。

優れた学習を行えるプログラムがあれば、これまでのIT機器ではできなかったようなことをAIは実現できるようになります。

人間の声を聞き取って会話をするAIや、カメラで撮影した画像から肌年齢を測定するAIなどのほか、近年では医療現場や研究機関で活躍できるAIも作られています。

街中でときおり見かける『Pepperくん』も、AIが活用されている製品のひとつです。感情を生成するAIで、心を持っているかのように振る舞うのが特徴です。

各プログラミング言語でできること

私たちが普段話す言語に「日本語」や「英語」があるように、プログラミングにも性質や特徴の違うさまざまな言語があります。これを「プログラミング言語」といいます。

プログラミング言語は、その言語ごとに得意とする領域が違います。各プログラミング言語でできることを以下にピックアップしてみました。

JavaScriptでできること

JavaScriptは、ブラウザ上で表示される画面を操作することが得意なプログラミング言語です。

たとえばユーザーの操作に合わせて画面を変化させたり、ローディング時のアニメーションを動かしたりできます。

近年では活躍の場を増やしており、ブラウザ上で動くアプリやスマホアプリも作れるようになりました。

現在では、ほぼ全てのWebページにJavaScriptが使われています。

【JavaScriptでできること】

  • Webアプリ開発
  • スマホアプリ開発
  • Webページ制作

【JavaScripが使われているWebサービス例】

  • Facebook
  • Instagram

Javaでできること

Javaはさまざまな分野で活躍している、汎用的に使えるプログラミング言語です。

Javaを使えば、Webアプリやスマホアプリの開発のみならず、近年脚光を浴びている『IoT(Internet of Things:インターネットに接続して機能の拡張を実現したさまざまなモノ)』の開発もできます。

Javaは世界中のさまざまなプロジェクトにおいて採用されています。

【Javaでできること】

  • Webアプリ開発
  • Androidアプリ開発
  • IoT技術開発
  • 業務系システム開発
  • ゲーム開発

【Javaが使われているWebサービス例】

  • Twitter
  • Minecraft
  • Google
  • 楽天

Pythonでできること

Pythonは、AI開発の分野で近年注目を浴びているプログラミング言語です。

読みやすく書きやすいPythonは、その特徴から人気・需要ともにプログラミング言語のなかでもトップクラス。

Pythonを使えば、大量のデータセットからAIに学習させたり、画像の加工や特徴の取得、データの分析などを行ったりできます。

【Pythonでできること】

  • AI(機械学習・深層学習)
  • データ分析
  • 画像処理
  • Webアプリ開発
  • 自動化

【Pythonが使われているWebサービス例】

  • YouTube
  • Instagram
  • Dropbox

PHPでできること

PHPは、Web開発に特化したプログラミング言語です。

PHPを使えば、ブログやSNSなどさまざまなWebアプリを作成できます。

とくにPHPで構築されたWordPressというフリーのブログソフトウェアを使えば、管理画面や投稿記事、固定ページなどでできたWebサイトやブログを迅速に開発でき、簡単に管理できます。

PHPの扱いに長けていれば、WordPress自体の機能を拡張して、自由にWebサイトをアレンジすることもできます。

【PHPでできること】

  • Webページ制作
  • WordPressのカスタマイズ
  • CMS(コンテンツ管理システム)開発
  • SNS開発

【PHPが使われているWebサービス例】

  • Facebook
  • Wikipedia
  • WordPress

Rubyでできること

Rubyもまた、Web開発を得意とするプログラミング言語です。

「楽しくプログラミングできる」をコンセプトに、まつもとゆきひろ氏が開発しました。

PHPと比べて習得はやや難しいとされる言語ですが、使いこなせばより複雑なWebアプリを短時間で作れます。

【Rudyでできること】

  • SNS開発
  • マッチングアプリ開発
  • 動画や音楽の配信サービス開発
  • ソフトウェア開発

【Rubyが使われているWebサービス例】

  • 食べログ
  • クックパッド
  • Airbnb

Go言語でできること

Go言語(Golang)はJavaと同じく、さまざまな分野で活躍できる汎用的なプログラミング言語。2009年にGoogleによって開発された、比較的新しい言語です。

なかでもGo言語が得意とするのが、速度を求められるWebサービスの開発。Go言語ではある特定の情報をピンポイントに高速で取得するWebサービスを比較的簡単に構築できます。

【Go言語でできること】

  • Webサービス開発
  • Webサーバー開発
  • スマホアプリ開発
  • インターフェース開発

【Go言語が使われているWebサービス例】

  • メルカリ
  • AWA
  • Schoo

Swiftでできること

SwiftはiOSアプリなど、AppStoreで配信されるアプリを制作するのに特化したプログラミング言語です。2014年にApple社から発表された新しい言語で、比較的学習しやすいとされます。

Apple製品の存在は大きく、今後も市場は拡大していくことが予想されます。とくに日本国内のスマートフォン市場はiPhoneが半数を占めており、スマホアプリを作るのであれば学習しておいて損はないでしょう。

【Swiftでできること】

  • iOSアプリ開発
  • macOSアプリ開発
  • AppleWatchアプリ開発
  • Webアプリ開発
  • Webサーバー開発

【Swiftが使われているWebサービス例】

  • 多くのiOSアプリ

Kotlinでできること

Kotlinは、Javaと完全な互換性があり、Androidの開発言語としてGoogleが公式に認定している言語です。

Kotlinはその簡潔さが特徴で学習しやすい言語。将来性も高く、いま学ぶのにおすすめです。

【Kotlinでできること】

  • Androidアプリ開発
  • Webアプリ開発
  • サーバーサイド開発

【Kotlinが使われているサービス例】

  • Slack
  • Netflix
  • Kindle
  • Yahoo!

C言語でできること

C言語は、幅広い分野で活用される汎用プログラミング言語です。OS(Windowsなど)そのものを開発することを目的に作られました。

プログラミング言語のなかでも最速で動作するC言語は、IoT技術やロボットなどハードでの開発に主に活用されています。その汎用性や需要の高さから、C言語はTIOBEインデックスというプログラミング言語の人気ランキングにおいて、1位になることも多い言語です。

【C言語でできること】

  • IoT技術開発
  • ロボット開発
  • ソフトウェア開発
  • スマホアプリ開発

【C言語が使われているモノの例】

  • 電子工学
  • 家電製品

C++でできること

C++(シープラスプラス)は、C言語の機能をさらに拡張させたプログラミング言語です。

用途はC言語と変わらず、一般的なアプリケーション開発やシステムの構築に利用されるケースがほとんど。

C++は、ハードを制御することを目的に開発されているため、業務システムやロボット、AI、IoT技術などハード関連の開発に強い言語といえます。

【C++でできること】

  • 業務システム開発
  • Webアプリ開発
  • AI/ロボット開発
  • IoT技術開発

【C++が使われているモノの例】

  • Chrome
  • 家庭用ゲーム機

C#でできること

C#とは、Microsoftが開発・リリースを行っているプログラミング言語です。

Cとつきますが、C言語やC++との互換性はありません。

C#は、Windows上で動作する業務アプリに非常に適しています。また、現在では、Macの業務アプリ開発にも徐々に活用されはじめました。

【C#でできること】

  • 業務アプリ開発
  • Webアプリ開発
  • スマホアプリ開発
  • ゲーム開発

【C#が使われているWebサービス例】

  • Bing
  • 価格.com
  • MSN Japan

プログラミングを学べるおすすめスクール&Webサービス

未経験者がプログラミングを効率よく学習していくには、プログラミングスクールやプログラミング学習用のWebサービスを活用するのがおすすめです。

以下の記事で東京都内の優良スクールをピックアップしているので、現在スクールに悩んでいる方は読んでみてください。

またスクール同様に、プログラミング学習用のWebサービスも豊富です。以下の記事でプログラミング学習におすすめなWebサービスをピックアップしているので、これからプログラミング学習をはじめる人はチェックしてみましょう。

おわりに

プログラミングを使えば、学術用の高度な計算だけではなく、Webアプリやスマホアプリの開発、AI開発などができます。

またプログラミングの能力は、仕事の作業効率を上げるのにも役立ちます。

さらに今後IT化が進んでいけば、いまはまだ存在しない新しい形態のITサービスも、プログラミングの力で生まれていくことでしょう。

興味のある方は、さまざまなことを実現できるプログラミングのスキルを身につけて、仕事やプライベートに応用してみるのがおすすめです。

(執筆:sig_Left 編集:mozuku、泉)

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
エンジニア副業案件
Workship