【プログラミングの活用例】どんなものがある?
プログラミングを使った仕事は需要があると聞きますが、実際のところ、企業はどのような製品やサービスを展開し、活用しているのでしょうか。
ニュースなどを見ていると、近年はIT化がどんどん進んで、新たな活用例も増えている様子が伺えます。
特にAIやIot、ビットコインといった領域の発展は目覚ましいものがあり、進化のスピード感がハンパありません。
今回は、プログラミングがどんな形で活用されているか、活用例を追って見ていこうと思います。
また本記事は、どのプログラミング言語を勉強しようかどうか悩んでいる人にも、ぜひ読んでいただきたいです。
なぜなら、以下のような悩みを抱いている人が多いからです。
- プログラミングを始めたいけど、何をしていいのかわからない
- Webエンジニアって、何をする人なんだろう
こういった疑問を持っているのであれば、まずプログラミングの活用例を知り、自分が興味を持った分野のプログラミング言語を選択するのが最短ルートです。
目次
Webサービス
プログラミングの活用で真っ先に思い浮かぶのは、Webサービスでしょう。
Webサービスと一口言っても、様々です。
例を挙げると、FacebookやTwitterといったSNSや、ニコニコ動画やyoutubeのような動画配信サイト、楽天やAmazonのようなEC系サイトなど、幅広い分野をカバーしています。
Webの開発はPHPやRubyが使われることが多いので、Webエンジニアを目指そうと考えている人はこれらの言語の学習をすると良いでしょう。
アプリケーション
アプリケーションというと、ここ最近はiPhoneやAndroidのようなスマートフォン対応のアプリケーションを指すことが多くなりました。
また、それとは別にPC上にインストールして使うタイプのサービスもアプリケーションと呼んでいます。
iPhoneであればSwift、AndroidであればJavaまたはKotlinを使います。
Windowsであれば、C#を使った独自のアプリケーションを開発するケースもあります。
ゲーム
ゲーム開発も昔からある仕事です。
今でも多くのゲーム会社が存在し、PlayStation 4、Xbox 360、Wii Uのようなハード上で動くゲームの開発を続けています。
ゲーム開発には、Unityと呼ばれるゲーム開発プラットフォームを使うことが主流になっています。
AIを使ったサービス
ここからは、最近流行りのAIを利用したサービスや技術を紹介していきます。
AIを使ったサービスは、通常Pythonという言語が使われます。
Pythonには、豊富なAI開発をサポートするライブラリが豊富にあるため、AIを使ったサービス開発にPythonを選択する企業は多いです。
自動で商品を勧めてくる
AIがおススメの商品を、サイトを見ているお客さんに提示します。
大手だと、Amazonやメルカリなどで使われている技術です。
この技術はレコメンドシステムと呼ばれているもので、お客さんが過去に何を買ったか、または同じようなタイプのお客さんがどういう商品を好んでいるかを過去データから判断し、予想した商品をおススメの品として提示する機能です。
チャットボット
チャットボットは、チャット+ロボットをもじった言葉です。
文字通り、チャットに投稿した内容をAIが判断して返事してくるというサービスです。
主な活用例だと、コールセンタースタッフの代わりにAIが回答してくれるものや、ゴミの分別を教えてくれるものなど、幅広い分野で活用されています。
異常検知
異常検知は、製造業向けに提供される検査用のソフトウェアなどで利用されています。
一般的に、カメラで認識した画像をAIによって検査を行い、何かしらの異常があった場合はシステム管理者へ警告するなどして通知します。
自動運転車
自動運転は、AI活用例で一番有名かもしれません。
ニュースなどでも、よく紹介されています。
アメリカでは試験的に導入を開始している地域もあり、今後は自動運転の数をどんどん増やす話も出ているため、注目されている技術の一つと言っても過言ではないでしょう。
その他のAI活用例
チェス、碁、将棋といったボードゲームの世界でもAIを使ったソフトウェアの開発が進んでいます。
碁はすでに、韓国や中国のトッププロでさえ敵わないレベルになって来ているみたいですね。
最近だと麻雀のAIなどもあるようで、これからボードゲームで一番強いプレイヤーはAIだという時代も遠くない未来かもしれません。
Iotへの応用
ここ最近ですと、Iotへの応用もよく耳にします。
Iotとは、家電や車などの大型機器をネットワークで接続し、ネットワークを通じて情報のやり取りを行う技術のことを指します。
これらの機器を制御する仕組みにプログラミングが利用されています。こういった制御の仕組みを開発することは「組み込み」と呼ばれており、開発言語にはCやC++、Javaを使われるのが一般的です。
トイレの空き状況を確認
トイレの中にセンサーを設置し、いまどのくらいトイレが埋まっているか、どこのトイレなら空いているか、などの情報がスマホアプリなどで確認することができます。
出退管理装置
出退管理装置は、入退室者を管理するための仕組みです。
これらの出退勤時の認証には、今までICカードを使うのが一般的でしたが、最近はスマートロックというスマートフォンを利用した入退室管理機能が注目を浴びています。
これもIotを利用した技術です。
監視カメラ
Iotを利用すれば、監視カメラの情報をスマホからも見ることができます。
また、反対にスマホ側からカメラの操作も可能となり、監視する側も現場にいる必要が薄くなりつつあります。
部屋の湿度をLINEでお知らせ
部屋の気温や湿度をセンサーで計測し、ある一定以上の気温・湿度に到達したら、スマートフォンに通知するといったサービスもあります。
寒くなるとLINEに通知、IoT連携アプリ「myThings」がLINE対応に
企業向けのシステム
企業向けのシステムでは、JavaやC#、C++などが使われることが多いです。
どちらかと言えば、カッチリした作りの管理系システムが求められるので、そういったシステムに向いているJavaが採用されるケースが多いです。
銀行のATM
銀行のATMももちろんプログラミングによって動くようになっています。
お客さんのお金のやり取りを管理するミスが許されない機器ですので、入念な設計やテストが繰り返されており、非常に質の高い作りになっています。
物流システム
物流を管理するシステムです。
出荷・発送状況などを管理しているシステムで、主に運輸会社や工場関係で使われています。
この手のシステムは、ほかのシステムと連携している場合が多いです。
例えば、後述する生産管理システムに、モノの入出庫を管理するデータとしてデータを転送する機能などもあります。
生産管理システム
生産管理システムは、製造業で使われているシステムです。
ある製品を作るために必要な部品数を登録しているデータがあり、それをベースに今から3日先まで何個の部品が必要…といった計算を行い、表示するシステムです。
システムにより出てきた部品数をもとに、生産管理の人は部品を仕入れるよう手配します。
ブロックチェーン・仮想通貨
少し下火になってしまいましたが、以前注目されているブロックチェーンや仮想通貨は、C++やSolidity(ソリデティ)と呼ばれるプログラミング言語で構成されています。
Solidityはスマートコントラクトを扱える特徴がある、少し変わった言語です。
スマートコントラクトとは、ブロックチェーン上で保存されている契約情報を取り扱うことができる機能のことです。
もともとビットコイン自体には入金と出金情報しか付与されていなかったのですが、より安全性を高める対策として、契約情報を取り扱える仕組みが開発されました。
Solidityを使ったもので代表的ものは、イーサリアムですね。
まとめ
いかがだったでしょうか?
一口にプログラミング言語といっても、これまで説明してきた数だけ活用例があります。
これでもまだ活用例の一部でしかありません。
もし気になるのであれば、一度Googleなどで詳しく調べてみると、面白いと思いますよ。
どのエンジニアの給与が高いかはもちろん大事ですが、それ以上に大事なのは「自分が興味を持って、長い間取り組めるかどうか」です。
プログラミングを使った仕事は華やかな職業だと思われがちですが、実際の開発作業は泥臭い作業も少なくありません。
とくに機械学習やビットコインは年収700万円を超えるケースも少なくないようですが、高度な数学や統計学を理解して分析に生かす能力が求められたりするので、決して楽な仕事ではないようです。ただ、「自分は数学が得意で自信があり、飽きることがない」という人には天職でしょう。
どのプログラミング言語に手を付けるかを考えた方が、先々の就職や転職にかける時間も少なくて済むので、一度じっくり考えてみてはいかがでしょうか。