はじめに
「プログラミング」を始めてみたいという方が増えてきています。
興味はあるけれど、プログラミングは何の役に立つんだろう?何ができるんだろう?
この記事では、そんな疑問をお持ちの方にわかりやすくプログラミングでできることを解説します。
プログラミングの世界へ一歩進む後押しになれば幸いです。
プログラミングとは?
プログラミングでできることを紹介する前に、ざっくりとプログラミングとは何なのかについてもみておきましょう。
一言でいえばプログラミングとは「機械(コンピューター)を思い通りに動かすためのもの」です。
料理に例えるとわかりやすいかもしれません。
誰かが完成させた料理を、他の誰かにも作ってもらいたいと考えたとします。他の人はもちろん作り方がわからないので、レシピが必要です。
このレシピには何をどのようにして、こういう場合にはこうして、といった手順が細かく書かれていますね。
初めての人でもこれを見ながらであれば料理を完成させることができるわけです。
ここで、料理を「実行したいタスク」、料理を作ろうとする人を「コンピューター」と置き換えればレシピは「プログラム」ととれます。
そして、このレシピを書くということこそが「プログラミング」なのです。
プログラミングでできること
前述の通り、プログラミングとは機械(コンピューター)を思い通りに動かして何かのタスクを実行させることです。
つまり、世の中でコンピューターを使っているものほとんどがプログラミングによって実現されているといえます。
具体的に見ていきましょう。
アプリ開発
一番身近に感じられるのはスマートフォンやタブレットなどで使えるアプリではないでしょうか。
これらももちろんプログラミングで開発されています。
アプリを起動したらこの画面を出し、ボタンをいくつ並べて、ユーザーがそれをタップしたら次の画面を出して…といったような一連のタスクをプログラミングして、スマートフォンに入っている小さなコンピュータに実行させているわけです。
主にiPhone向けアプリはSwift、Android向けアプリはJavaという言語を使って開発されます。
Web開発
Amazonや楽天などのECサイトでインターネットショッピングをしたことはありますか?
Instagramに写真をアップしたことはあるでしょうか?
こういったサービスは全てWebサーバー上で動いています。サーバーとはどこかのセンターに集まって設置されている巨大なコンピューター群のようにイメージしてください。
ユーザーがお買い物をしようとパソコンやアプリからサイトにアクセスしたり、アプリから写真をアップする時には必ずこのサーバーとのやりとりが行われ、商品の写真を表示したり、ユーザの写真を自分のアカウントに掲載したりできるのです。
ユーザー側からこれらのリクエスト(「○○の検索条件に当てはまる商品を見せて」「この写真を私のアカウントにアップロードして」といったもの)を受け取って対応するためにプログラミングが使われています。
Webサーバーというコンピュータの上でプログラムが動いているわけです。
このプログラミングはWebサービス提供を目的としているため、Web開発と呼ばれます。
開発に使う言語は、サーバー側の処理にはJavaScriptやRuby、PHP等が用いられ、ユーザー側に見せるページを作るためにはHTMLやCSSが主流です。
ゲーム開発
スマートフォンやゲーム機の進化・普及によりゲームを楽しむ人々が増えていますね。
キャラクターを動かすための表示の制御や、選ばれた選択肢に応じてどのような進め方をするかなど、非常に細やかなプログラミングによりゲームは作られています。
ゲーム機によっては美麗なグラフィックを実現するためにグラフィックボードという特殊な機械を積んでいることもあり、これに特化したプログラミングが必要です。
様々なハードウェアに対応できるUnityや、グラフィックボードと相性の良いC++という言語がよく使用されます。
システム開発
ATMから現金を引き出したり、交通カードを使って電車に乗ったりしている場面にもプログラミングが活用されています。
銀行では金融システムを用いて全ての口座の預金や送金等の管理をしており、セキュリティ対策として複雑なプログラムが用いられているケースも多いです。
交通カードは改札に設置されたリーダーで読み取られ、瞬時に残金を取得し足りていれば扉を開き足りなければアラートを出すようにシステムと連携しています。
ATMや改札ゲートといったハードウェア制御にはC言語等、システムサーバにはWeb開発と同様JavaScriptやRubyと言った言語が用いられることが多いですが、システム開発者であるベンダーにより様々です。
AI開発
冒頭で「プログラミングとは機械を思い通りに動かすためのもの」と説明しましたが、人工知能(AI)はその最たるものかもしれません。
コンピュータに膨大なデータを読み込ませて機械学習をさせ、精度を上げていくためにプログラミングが用いられます。
開発に使われるのはこの分野で長く活用されてきたPythonという言語がメジャーです。
プログラミングで身につく能力
この記事を読んでいる方の中には、プログラミングを通して何かを実現するだけでなく、自分の能力を高めることにも役立てたいと考えていらっしゃるかもしれません。
また、能力向上を目指してお子様へ教室に通わせようかとご検討中の親御様もいらっしゃるかもしれませんね。
結論からいいますと、能力向上の観点でもプログラミングは非常におすすめです。
ロジカルな思考力
プログラミングでは発生する様々なパターンに対し全ての可能性を考え、対応内容を書いておく必要があります。
例えばとあるWebサービスの会員登録ページ1つをとっても、必須項目に記載してもらえなかった場合どうする?とか、記載が終わる前に戻るボタンが押されたらどうする?メールアドレス欄なのに全角文字が入っていたら?等、非常に多くのパターンがあるわけです。
こういったパターンを全て網羅し対応を当て込んでいくためにはロジカルな思考力が必須です。
また、漏れていたパターンがあれば当然エラーが発生し、解決のための対処が必要になりますが、どこに問題があるかわからない状態から試行錯誤しながら炙り出していきます。
このバグ取りの過程でも「このパターンでは問題が発生しないから、バグはこの箇所ではない。ではこのパターンでは?」といったロジカルな思考が必要でしょう。
特に文系出身の方がプログラミングを始めたことで今まで不足していたロジカルシンキングの能力が身についたと感じる方が多いです。
英語力
意外に思われるかもしれませんが、プログラミングをしていると自然と英語力が身につくことが多いです。
まず、プログラミング言語に出てくるキーワードはほとんど英語に基づいた命名がされています。
例えば「function」という言葉、生活する上ではあまり触れる機会がないですがプログラムの中には何回も出てくる「関数」という意味の英単語です。
また、ほとんどのプログラミング言語は日本語での解説サイトも多く情報を入手しやすいですが、バグが発生した時のエラー文は大抵英語で書かれています。
このエラー文を検索すると、英語の解説サイトに行き着くことも多いです。
英語が苦手な方でしたら普段は積極的に英文を読みに行ったりしないですが、目的があれば読む機会も増えます。
元々あまり得意ではなかったけれど、こうして接する機会が増えることである程度は苦にならなくなったという方もいらっしゃるようです。
まとめ
初心者の方にもわかりやすいようにプログラミングでできること、またプログラミングで身につく能力について解説しました。
コンピューターに何かさせるために必ずプログラミングは使用されているため、ここに書ききれなかった用途もたくさんあります。
ぜひご自分でもプログラミングを体験してみてはいかがでしょうか。
動画でプログラミング入門をしよう
オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!
プレミアムプランを2週間無料体験しよう
今すぐ詳細を確認する