この記事のランク | |
---|---|
読む時間 | 3分 |
重要度 |
皆さんはプログラミングと聞いてどんなイメージを持っていますか?
難しそうな記号やアルファベットが並んでいて、パソコンが得意な人がやるものだというイメージは残念ながらひと昔前のものです。
プログラミングは常に進化し続けており、いまでは学生がスマホアプリを開発したり、社会人が副業としてWebサイトを作るなど身近なものとなっています。
今回はそんなプログラミングの仕組みや、プログラミングで何ができるのかをご紹介いたします。
Twitter(@nana_korobi04)でも情報発信していますので、
フォローいただけると嬉しいです!
プログラミングの仕組み
その処理の流れが記述されたものをソースコードと呼びます。
例えば、人間の挨拶である「Hello」をコンピュータの言葉にすると以下のようになります。
(訳:Hello)
01001000 01100101 01101100 01101100 01101111
コンピューターはバイナリと呼ばれる1と0をオンとオフの電気信号に変えて処理を行うため、2種類で構成されています。
しかし、バイナリは人間には理解できないため、人間はプログラミング言語という変換機を通してコンピューターに指示を出しています。
バイナリはコンピューターが処理をしやすいように、8桁で一つにまとめたものを1バイトという単位で渡しています。
前述した、バイナリの「01001000」は、ASCII呼ばれるアルファベットや数字、記号などを収録した文字コードに変換すると「Hello」の”H”となります。
それでは、プログラミングで作成したソースコードが、コンピューターで処理されるまでの流れを簡単に見ていきましょう。
コンピューターの処理の流れ
まずはコンピューターの中での処理の流れを理解しましょう。
- ソースコードをバイナリに変換する
- バイナリをプログラムというコンピューターが処理できる形にまとめる
- コンピューターがプログラムを読み込んで記述内容に従って処理を行う
プログラミングがコンピューターにどのような影響を与えているかご理解いただけたかと思います。
しかし、日本語や英語と同じように、なぜプログラミング言語もさまざまな種類があるのでしょうか?
プログラミング言語の種類
例えば、Webサイトを作るのであれば、HTML・CSS・JavaScript・PHPが採用されますが、これは最も効率的にWebサイトを作るために人間が開発したプログラミング言語だからです。
また、アプリケーションを動かす環境でもプログラミング言語は異なっており、iPhoneやMacといったApple社の製品に関しては、Swift・Objective-Cの2種類で開発されたものでしか動かすことができません。
プログラミング言語は環境や用途でそれぞれ得意・不得意があり、人間が目的に合わせて選定する必要があるんですね。
プログラミングで何ができるのか
今では企業だけでなく一般人が独自でWebサービスやアプリケーションを開発して、副収入やサービスを立ち上げることも当たり前になってきましたが、具体的にプログラミングでは何ができるのかを見ていきましょう。
スマートフォンアプリの開発
iPhoneであればSwift・Objective-C、AndroidであればJava・Kotlin・C#が対応しているプログラミング言語です。
スマホアプリの個人開発で収益を得た多くのエンジニアは自分が欲しかったアプリがマーケットになかったという意見が多く、儲けようとせず世の中の困っている人に届けようという気持ちが大切なのかもしれません。
Webサイトの開発
法人であれば株主や消費者に向けたブランディングがWebサイトの主な目的です。
しかし個人であれば役立つ商品を紹介して購入者からのマージンを得たり、自分の商品を販売するなど、個人で収益を作るためのツールとして利用している方も多くなっています。
業務システムの開発
例えば、Microsoftが提供しているVBAというプログラミング言語は、ボタン一つでExcel上で人間が行っている計算や印刷、他システムへの登録処理などを自動的に行うことができます。
また社内アプリで毎回同じような内容を入力している作業はRPAというロボットを使うことで、人間が画面上で行っている操作を真似して自動化することが可能です。
業務システムを開発することで、自分の作業時間が削減され、他の大切なことに時間が使えたり、もっと質の高い仕事を得ることもできるでしょう。
まとめ
プログラミングでできることはまだまだ沢山ありますが、今回はプログラミング学習のモチベーションが上がりそうなケースをご紹介させていただきました。
いまはプログラミング学習サイトや、プログラミング学習アプリなど無料で学べるコンテンツもあり、興味がある方は今からでも気軽に始められますので、ぜひ自分のスキルを高めるためにもチャレンジしてみて下さい。