【超入門】プログラミングは簡単!本質はこの3つだけ【初心者向け】

【超入門】プログラミングは簡単!本質はこの3つだけ【初心者向け】
こんにちは
yoshi(@yoshiblogsite)です。
「プログラミングって結局何をやるの?」
「プログラミングの本質ってなに?」
「超基本だけ知りたい!」
プログラミングと一口に言ってもこんな疑問がわきますよね。
プログラミングの本質は超シンプルです。
今回の記事はそんなことについて解説していきます。
プログラミングの基本は超シンプル

結論からいえば、プログラミングの本質は上の画像のとおりです。
- 入力データ(input)
- 加工・整形(処理)
- 結果(output)
これだけ。
「そんなの当たり前じゃん」
て人はもしかしたらこの本質をなめてるかもしれません。
プログラミングはいかにこのシンプルな流れを精度よく安全にそして速く実行するかにかかっています。
プログラミングを考えるときの順序は、
- 出力
- 入力
- 加工・整形
の順番です。
目的を先に考えて、揃えられるデータをみて、いい感じに加工・整形するっていうイメージです。
特に出力についてはゴールになるので、初心者でもできる範囲で決めておくことで途中で挫折せずにプログラミング学習を進めていけるのではないかと思います。
出力のプログラミング
まずは欲しい結果はどんなものか考えます。
例えば、
- 表にまとめられたデータ一覧がほしいのか
- 画像1枚だけほしいのか
- 可視化されたデータがほしいのか
- 音声としてほしいのか
などなど
どんなものが、どんなパターンのときに欲しいかを限りなく具体的に考えましょう。
これがプログラミングで言う
要件定義
となります。
プログラミングは挫折率が高いですが、このゴールを明確にしておけばそこにむかって必要なパーツを揃えて、組み立てて、調整していくっていう作業なので
入力データのプログラミング
入力データといっても
- プログラマーがもともと用意しているデータ
- ユーザーに検索ボックスやコメント欄などのフォームから入力して取得するデータ
- 画像やGPS情報から抽出するデータ
- 企業が提供しているAPIから取得するデータ
というようにいろいろなデータの取得方法があります。
目的を達成するにはどんなデータが必要なのか
これを考えることが大切です。
ちなみに最初は自分で用意したデータをまともに使えるようにプログラミング学習して、少しプログラミングを覚えたらユーザーが入力したデータや、APIから取得するデータを使えるようにしていくのが基本的なプログラミング学習の流れです。
理由はユーザーが入力したデータやAPIから取得するというプログラムを書くこと自体がそれなりの難易度があるからです。
だいたい挫折する人の一部は、最初からこれらのデータを扱おうとして、バグにハマって挫折しますね。
加工・整形のプログラミング
最後に「入力」と「出力」を紐付けるための加工・整形のプログラミングをします。
趣味プログラミングの場合は一番面白いところかもしれません。
このフェーズは自分の独創性をいくらでも発揮できる作業ですからね。
例えば、超カンタンなプログラミングは
- 出力:3という数字が欲しい
- 入力:自分で用意した1という数字がある
- 加工・整形:1を3個足し合わせる
のような感じです。
こんなの何も面白くないんですが、
- 出力:入力した人の顔に似た人の画像を出したい
- 入力:「ユーザーが入力した顔画像」および「顔画像データベースから取得した有名人の顔特徴量データ」
- 加工・整形:ユーザーの顔画像の特徴量を抽出して、特徴量の近い顔データを選別し、見やすいようにcssやhtmlで整形する。
とかすれば、そっくりさんを探すプログラムを作ることができます。
顔画像から特徴量データ抽出とかは自分でプログラミングすると大学や企業の研究者レベルがやる話なので、「ライブラリ」という形で無料で提供されている抽出ツールをプログラミングで使ったり、特徴量抽出処理そのものをAPIとして提供しているところもあるので、そこを使ったりすればOKです。
仕事のプログラミングでは「出力」は誰かが決めて、「入力」はすでに会社に蓄積されているデータやユーザーが新しく入力するデータ、自分たちでデータを作ってそれを使います。
ただ、加工・整形のところはプログラマーだけが作れるところなので、そこに集中して働くことが多いですね。
まとめ:【超入門】プログラミングは簡単!本質はこの3つだけ【初心者向け】
いかがでしたでしょうか。
プログラミングは複雑に考えるかもしれませんが、本質はこれだけです。
入力・出力・加工整形。
この3セットにどんなパーツを使うか、どんなふうに組み立てるか。
それだけです。
プログラミングの本質はシンプルです。
プログラミング初心者の方はよかったら「プログラミングとは?入門知識から現役エンジニアが解説」もご覧ください。