こんにちは。九条です。
今回は、資格試験の話題はお休みし、プログラミングがらみの話題をしたいと思います。
私はプログラミングを行っていますが、このプログラミングがどのような活動であるかについては、知らない人が多いです。
そして、プログラミングは今非常に注目されている分野でもあります。
副業とか在宅とかフリーランスとか、一攫千金とかですね。(このようなプログラミングについてのイメージは、かなり偏見が含まれています。)
今回の記事では、プログラミングとはそもそも何かというお話を、非常にシンプルにさせていただきます。
本題に入る前にアンケート結果をご報告させていただきます。
102票も投票いただきありがとうございました!
拡散してくれると嬉しい。司法書士試験は何位で合格を狙っていますか?
— 九条@司法書士試験勉強法ブログ運用中! (@KyouzaiDesign) 2021年6月1日
このアンケート結果は、次の記事を書く際の参考にさせていただきます。
次か次ぐらいの記事で「私がリアリスティック講座を取らない理由」というテーマについて書きたいと思います。
参考記事
副業、フリーランス、かつ在宅のプログラマを始めるにはどうすれば良いですか?
プログラミングで何ができるようになるか?
私は教材アプリを作ろうとしていますが、Android で動くアプリを作るにはプログラミングが必要です。勿論教材を作るには「問題」を作問する必要がありますが、それだけではアプリにはなりません。それをユーザに提示し、ユーザの回答を受け付けて、正解かどうかを表示する、そして正解の履歴を保存して後で見れるようにする、という機能を作り込む必要がありますが、これはプログラミングの領域です。
また、この他に個々人が学習時間を入力して管理できる Web サイトを作ろうかとも企画していますが、このようにオリジナルの機能を持った Web サイトを作るにはプログラミングが必要です。
この他に、プログラミングでは次のようなことを行うことができます。
- Android のアプリやゲームの作成
- iPhone, iPad のアプリやゲームの作成
- パソコンで動くアプリ(Word, Excel 等)やゲームの作成
- ブログサービスの作成
- ネットの掲示板(5ch 等)やSNS(Twitter 等)やソーシャルゲームの作成
- オペレーティングシステム(Windows 等)の作成
これ以外にも家電の制御にもプログラミングが使われており、日常生活で、プログラミングをしない人でも、プログラミングで作られた製品を使用していない人はほとんどいないと言われています。また、イメージが持ちにくい領域ではありますが、例えば、司法書士の仕事を効率化する「権(ちから)」のようなシステムもプログラミングで作られています。
少しマニアックな分野では、コミケで配布される二次創作、或いはオリジナルのゲームも、プログラミングで作られています。こうした二次創作は、キャラ愛の現れの究極の形だと言えるかもしれません。つまり、趣味にもなり得るわけですね。
上記にブログサービスが含まれていますが、ブログを設置するだけなら、既存のブログサービス(または WordPress)というソフトを使うだけで済みますので、プログラミングは必要ありません。しかしブログを設置できる環境を作って沢山の人に提供するとなるとプログラミングが必要となります。
プログラミングは、ソフトウェアを作る行為とほぼ同じと見て構いません。
プログラミングができると、ソフトを使う側から、ソフトを作る側に回ることができます。
プログラミングをしない人は、プログラミングをする人によって予め作り込まれた仕事しかコンピュータにさせることができませんが、プログラミングをする人は、コンピュータの能力を限界まで引き出して、コンピュータに仕事をさせることができます。
要するに、自分で考えた全く新しいサイトやアプリやゲームのアイディアをそのまま形にできるわけですね。
なので、職業としてやるとしても趣味としてやるとしても、非常に夢のある仕事だと言われています。
プログラミングは具体的にどのように行うか?
これはほぼ手作りをイメージして頂ければ良いと思います。
既存の部品を使うこともありますが、ソフトの挙動を非常に細かく、1行1行、手作業で入力します。
そのため、非常に時間のかかる作業です。本格的なソフトを作るのであれば、チームで作業して年単位の時間をかけることも稀ではありません。
本格的なソフトであれば、万単位の行数に及びます。
また、繊細かつ頭を使う作業です。1行1行は何か書式があるのではなく、プログラムをする人が自分の頭で考えて入力する必要があります。
誰にでもできるわけではないので、専門的な職業になり得ます。
パズルを解くような作業とも言われ、趣味にしている人もいます。
かなり地道な作業なので、職業プログラマは適性が別れると言われています。
コンピュータへの命令を1行1行を入力していき、コンピュータはこれを上から順に実行するのですが、この命令には2つの重要な仕掛けがあります。
- ユーザの入力等が、特定の条件を満たす場合、ある部分の命令の実行をスキップする。(あるいは、満たす場合だけ実行する。)
- ユーザの入力等が、特定の条件を満たす場合、ある部分の命令を繰り返し続ける。
実は、これらの仕掛けだけで、世の中のソフトは全て作れてしまいます。
よりイメージを持ちやすくするために
プログラミングは、通常はパソコンで行いますが、実際に私がプログラミングを行っている様子のスクリーンショットをお見せします。
これは、教材を作る前の練習として、簡単なジャンケンゲームを作っている様子です。
こんな感じで、コンピュータへの命令を1行1行に入力していきます。
最後に
今回は以上です。
非常にシンプルに解説してみました。
この記事については続編を書く可能性があります。
コメント