プログラミング

初心者向けに解説 プログラミングとは?

programming

  • 義務教育に取り入れられることになったプログラミングとは何なのか?
  • プログラミングを覚えるための前提知識を学びたい

こんなお悩みを解決するため、プログラミング、必要となる前提知識について解説していきます。

プログラミングとは

2020年からプログラミング教育が義務教育に組み込まれることをご存知でしょうか。

国もプログラミングの重要性、そして課題を認識し始めました

最近ではプログラミングを覚えて、副業を始めようとしている、始めた人をよく見かけます。

そもそもプログラミングとは、一体どのような事なのでしょう。

コンピュータープログラミング英語Computer Programming)とは、ある特定のコンピューティングの結果を得ることを目的として、実行可能コンピュータープログラムを設計・構築するプロセスのことである。
出典: フリー百科事典『ウィキペディア(Wikipedia)』

ウィキペディアにこのように記載されています。

つまり、ある結果を得るために、コンピューターが読み取り可能な指示(プログラム)を与え、実行してもらうということです。

programming2
プログラミングの流れ

現在、そして今後のプログラミング 需要

プログラミングを行うエンジニアのことを「プログラマー」と言います。

「プログラマー」の現在及び今後の需要について説明していきます。

現在のプログラミング需要

IPA(情報処理推進機構)や経済産業省の調査をもとに、プログラマーの現在の需要について解説します。

IPAの「IT人材白書2019」(※1)によると、IT人材の需要状況について2018年度調査結果では「大幅に不足している」割合が1.8ポイント上昇していると報じられています。

経済産業省の「IT人材需給に関する調査(※2)」によっても人材不足すると試算されています。

プログラマーを含めたIT人材は2020年以降も高い需要がある状況と判断できます。

※1 IPA「IT人材白書2018
※2 経済産業省「IT人材需給に関する調査

今後のプログラミング需要

下記のような技術が注目を浴びている2020年以降は、さらにIT人材の需要が増えてくると同時にIT人材の質も求められてくるのではないかと考えています。

また、一部を挙げましたが他にも注目を浴びているITに関する技術が沢山存在するため、確実にIT人材の需要が高まると確信出来ます。

注目されている技術

  • 画像解析、音声認識といったAI技術
  • 膨大なビッグデータ解析
  • モノとインターネットが繋がるIoT技術
  • 自動運転の実現で車をサービス化するMaaS(Mobility as a Service)
  • 低速遅延の5G
  • VR(仮想現実)AR(拡張現実)技術

プログラミングで出来ること

では、プログラミングでどのようなサービスが作られているのかいくつか例を挙げ説明していきましょう。

Webアプリ

WEBアプリとはWEBサーバー上で動作するアプリケーションです。

Chrome・FireFox・IEのWEBブラウザ上で閲覧、操作するECサイトやホームページが該当します。

代表的なWebアプリ

  • Amazon/楽天などのECサイト
  • Google/yahooなどの検索エンジン
  • 食べログサイト

スマートフォンアプリ

スマートフォンアプリとは、iPhone(iOS)やXperia(AndroidOS)などのスマートフォンで利用できるWEBアプリケーションのことです。

代表的なスマートフォンアプリ

  • LINE
  • Google マップ
  • Instagram

ゲームアプリ

ゲームアプリとは、ゲームに分類されるアプリケーションの総称になります。

スマートフォン向けのアプリ(モバイルアプリ)を示すことが多いです。

代表的なスマートフォンアプリ

  • パズル&ドラゴンズ
  • Pokémon GO
  • モンスターストライク

AI(人工知能)

AIとは、「Artificial Intelligence」の略称となり、人工的に作れた知能を指し示します。

記憶や学習し、その情報をもとに推測や判断を行なっている人間の脳をパソコン上で擬似的に実施させる技術です。

代表的なAI(人工知能)

  • Google Lens(画像認識)
  • Amazon Alexa(音声認識・音声合成)
  • Google 翻訳(機械翻訳・自然言語処理)

組み込み系システム

組み込み系システムとは、家電製品などの機械上でコンピューターを制御するためのシステムの総称となります。

代表的な組み込み系システム

  • 電話回線の通信制御装置
  • ゲーム機器の制御装置
  • 録画式レコーダーの制御装置

今話題の5Gなどの通信制御やプレイステーションなどのハードウェアに組み込まれている機器制御もプログラムで制御されています。

プログラミング言語の種類

各分野で強い言語、主流の言語などがありますので挙げて説明していきます。

Webアプリ開発

PHP」などはWebで動的コンテンツを作成する言語として、現在でもメジャーな言語です。

また、「HTML」、「CSS」といったフロント(サイト画面など)サイドの言語はWebアプリケーションサービスを作る上で必須の言語、技術です。また、ブラウザ上で動きなどをつけたい場合は「Javascript」も必須となります。

代表的なWebアプリ開発言語

  • PHP
  • Ruby
  • Javascript
  • HTML(CSS)

スマートフォンアプリ開発

XperiaなどのAndroidアプリを作る場合は「Java」、「Kotlin」、iPhoneなどのiOSアプリを作る場合は「Swift」となります。

代表的なスマホアプリ開発言語

  • Java(AndroidOSアプリ)
  • Kotlin(AndroidOSアプリ)
  • Swift(iOSアプリ)

ゲームアプリ開発

C#」などはメモリ管理が得意な言語であり、ゲームアプリといった比較的大きめのアプリを開発する場合に活用されています。また高速性もあるという利点もあるためこのような開発に使われています。

代表的なゲームアプリ開発言語

  • C#
  • Ruby

AI(人工知能)開発

AI開発、機械学習のプログラムを作るのであれば、基本的に「Python」もしくは「R」となります。

Python」はディープラーニングの分野で主流の言語となり、「R」はデータの分析や統計の解析に関して群を抜いて優秀な言語となります。

代表的なゲームアプリ開発言語

  • Python
  • R

組み込み系システム開発

C」は組み込み系システムはよく使われておりメモリ管理を行いやすい言語です。

特に制御システムにおいてはメモリ管理が重要視されているため、このような言語が使われていると考えています。

代表的なゲームアプリ開発言語

  • C
  • C++

プログラミングを学ぶ方法

プログラミング勉強方法

  • 書籍やWebサイトなどを使った独学
  • 現役エンジニアの専門講師が教えてくれるスクール学習

私の場合は独学で学び仕事の中でスキルを磨いてきましたが、未経験者かつ効率よく学びたいという方にはプログラミングスクールに通うことをおすすめします

オンライン受講といったスタイルでも学べますのでチェックしてみてください。

おすすめプログラミングスクール

プログラミングスクールに詳細については下記の記事にまとめてますので、参考にしてみてください。

関連記事
今流行りのおすすめプログラミングスクール4選【未経験からIT業界へ】

-プログラミング

© 2020 Masa Blog