#include
どうもお久しぶりですAnbyです。noteは1か月ぶりに開きましたね。ちょっと懐かしみを感じるという不思議。
さて今回はですね、絶賛試験期間中でして現在進行形で進めているプログラミング課題が頭から離れないので、テーマは「プログラミング」にしようと思います。世間では何かと耳にすることが増えてきたと思います。プログラミングとは縁遠いような方でも最近になって目にしたり聞くようになったかもしれませんね。
まぁ、正直なところ「プログラミングって何の役に立つの?」「絶対難しいよね。自分にはできる気がしないや」と思う方の方が多いでしょう。今回は、その「プログラミング」の実際について私の経験も交えながら話を進めていきたいと思います。
因みに前回の記事を下に貼りますので、興味が湧いたぞという方は読んでいただけると嬉しいです!
1.プログラミング=国語+数学
この文章を読んでくださっている皆さんの中で、「プログラミング」をやっているぞ、という方はどれくらいいるのでしょうか?
恐らく大学などでそのような講義を取っていない限り、経験のある方はあまりいないのではないかと思います。
少し話は逸れるのですが、知り合いに文系の子がいまして、その子も実はプログラミングの講義があるようで、その講義を取っていました。ですので、それを考えると(本格的にはやってないけど)一応やりはしたよ、という方が多いかもですね。
ですが、例えば「プログラミングやってみてどうでしたか?」のような質問をすると、大抵の方は「やる気があってやったわけでもないからねぇ…」「何言ってるか全然分からんかった」という答えが返ってきます。
まぁ、簡単に言うと「特に何も身に着かなった」ということですね。これに関しては、そうだよねという同感と残念だなぁという落胆のハイブリッドな気持ちになります。
私自身、やってみて「きつい」と「楽しい」では、どっちの方が強いかとなると圧倒的に「きつい」です。それに加えて「辛い」「しんどい」もあります。まぁ現在進行形で苦しんでいるのでその感情が強いだけというかもしれませんが。
それでも個人的には、皆さんが思っているほど難しいものではないと思います。それは別に簡単だからとかいうわけではなくて、れっきとした学問としての価値があると思っているからです。
皆さんは「国語」は知っていますか?「数学」はどうですか?
義務教育を受けた方なら知らない人を探す方が難しいでしょう。簡単に言うと、私は「プログラミング」もそれらと同じ学問、教科、科目であると思っています。
そしてさらに「国語」と「数学」の組み合わせ的なものであるとすら思っています。皆さんの中でプログラミング言語をかじったことがある方なら分かるかもしれませんが、プログラムを書くためのものは「プログラミング言語」と呼ばれています。
そうです。「言語」なんですよ。国語力、と一般的に呼ばれる能力は、大抵は文章を読んで心情を理解する力であったり、主張を読み取る力であったり…だと思いますが、実はプログラミングも同じ力が必要なのです。
そして数学では、よく論理的思考力などが重視されていますよね。これもプログラミングをする上ではとても重要な能力になっているのです。
2.プログラミングのコード=商品
では実際のところ、プログラミングできるようになったとして、プログラマーは何をしているのでしょうか?
大きく分けて2つあります。1つは技術職員あるいはセキュリティー等の情報職員。もう1つはフリーランスです。
前者の方は、割と昔からいたので詳しくは書きませんが、後者に関しては最近になって増えてきたように感じます。
というか、そのような人たちの影響もあって「プログラミング」が注目されているのでしょう。
フリーランスで稼いでいる人は、何で利益を得ているかというと、「プログラム」です。少し調べて頂ければお分かりかと思いますが、今どの業界においても、プログラマーが不足しています。
一般企業に着目してみましょう。今、テクノロジーの進歩が飛躍的になっていますが、それに取り残されているようでは、この先その企業は潰れるほかありません。
したがって企業側もテクノロジーに対応していく必要があります。となると、その方面に知識がある人が欲しくなりますよね。自分でできるのならそれに越したことはないのですが、大抵の場合は委託、外注することが多いです。
日本の企業は今、どこもそのような状態になっています。今当たり前のように使っているスマホやパソコンも然り、サイトやホームページなどは誰かが作ったものです。
広告、宣伝するとなると、必然的にユーザーが多いところで展開することになります。
つまりそのようなサイトの構築やデザイン、あるいは作業効率化のためのシステム構築やアプリ製作などの作業ができる能力のある人の需要が高まっている、ということになりますね。
構図としては、企業側が案件を提供し、それに沿うようなモノをプログラマーが作り上げる、といった感じですね。それできちんと企業側のニーズを満たすものであれば報酬が貰えると、そういうことです。
利益を得るためには、企業側のニーズを理解し、それに沿ったプログラムを考え、実現すること、これに必要な能力が「国語」的思考力と「数学」的思考力なのです。
巷ではそれをまとめて「プログラミング的思考力」と言ったりするそうですが。
3.まとめ
さて、今回の内容は以上になりますが、どうでしたでしょうか?皆さんにとって「プログラミング」への敷居が下がれば万々歳かなと思っています。
そして今やっているプログラミングの課題というのは、100個ほどのプログラミングを作らなければならないのです。今93個のところなのであと一息です。頑張ります。
あ、ちなみにタイトルの「#include <stdio.h>」はC言語のヘッダですね。C言語であればこれがプログラムの先頭になります。おまじないみたいなものです。そして挿絵はprintという文字を表示するための関数ですね。こちらは言語はPythonなのでタイトルとミスマッチ感がありますな笑。ちなみにC言語で書くと「printf("Hello World\n");」となります。
と、いうことで、最後までお読みいただきありがとうございました!ではまた…
第88号