フロイドの狂気日記

時は流れ、曲も終わった。もっと何か言えたのに。

PR

プログラミングの関数を中学校で習っていた

PR

www.youtube.com

大学で勉強するため、高校以前の数学をおさらいしている。どこかでブックマークした数学の復習エントリでおすすめされていたyoutubeでの学習というのをやってみた。気づきがあった。

 

微分積分を勉強する前の前段階の解説で中学校レベルの知識を説明しているのだが、ここで y = f(x)という方程式のfはfunctionの略だ、ということを言う。

 

おや、と僕が思う。

先生はホワイトボードに入力と出力、さらに間に関数の箱を書いて関数に入力を入れると出力が返ってくるよ、という。

 

関数の中身はx*2+1の式なので、y=f(x*2+1)という意味だね

 

ワイ「これプログラミングやん」

 

目から鱗がボロボロと落ちた。

今までプログラミングを10年はやってきて、関数、functionという言葉をさんざん使ってきたし、今年の1月には中学生数学の参考書を買って一通り復習し、中には一次関数の項目があった。にもかかわらず、y=f(x)とはプログラミングの関数と同義である、と紐付かなかった。恥ずかしながらプログラミングは数学的なのだ、という意味をようやく理解した。もちろん体感的に数学のできる人はプログラミングもできる、みたいなケースを仕事で見かけてきた。高度な数学を利用したプログラミングの仕事でなくても、理系の大学でしっかり勉強した人はプログラマとして優れているということが多々ある。つまりはこういうことだったのだ。数学とプログラミングを結びつけるものがあったのだ。

 

これは少々恥ずかしいことだったが良い気づきでもあった。率直に言えばy=f(x)とプログラミングの関数が頭で結びつかなかても、開発することはできる。だけどおそらく、数学的素養がプログラミングやコンピューターサイエンスに繋がりがあって、それを理解できればもっと効率的な、あるいはキレイなコードを書くことにつながりそうな予感がしている。というか多分そうだ。

 

今までもずっと数学をすべきなんだろうなあ、とは思っていたのだがやってこなかった。30代半ばでやっぱりこれ必要なのでは?と思えたことはいいことだ。

 

ところで今の若者が羨ましいと思えた。無料でこういった教材や解説が山程あるということだ。これは僕が若い頃は予備校に大金を出して受けるような授業だと思う。そんなことしなくったってネットに解説書もあれば、解説動画も大量にある。しかも丁寧でわかりやすく、人間関係もないから傷つけられることもないし、つまづいたときのプレッシャーも緩和される。わかるレベルの解説動画を探せばいいのだから。

 

同時に気楽になった。昔感じたプレッシャー。他の優秀な同級生が簡単に解ける問題を、自分ができなかったときに感じるプレッシャーから開放された。自分にあったレベルの動画を探せば、躓くことなく知能を得られる。そういう世界になったのだ。

 

テクノロジーが世界に可能性をもたらした、より良くしたと言える例ではなかろうか。