読者です 読者をやめる 読者になる 読者になる

歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【本】プログラマーは『ものづくりの数学のすすめ』を読んで、のんびり数学を勉強しよう

ものづくりの数学のすすめ 技術革新をリードする現代数学活用法』を読んでみたところ、とても面白かったのでおすすめしますという記事です。

そもそも私がこの本を読んだのは、

  • 著者の方のツイートを見かけて「面白い立場の方だな」と思ったこと
  • 最近私が関数型言語を勉強しており、集合論の言葉を学んだ後に、プログラミングの仕様を簡潔に理解することができるようになったこと

が主な理由です。

特に「ニュートンは議論は現代の物理学者でも難解だが、ライプニッツは運動という現象をシンプルに記述できる微分積分記号を発明した。これによって後世の研究者が、明快に議論できるようになった。企業の研究者はライプニッツを目指そう」という提言が印象的でした。

さらに、「微分という記号や概念を使わずに、放物運動を記述するのはとても困難だ」とまで突っ込んで書かれていました。(私はプログラマーなので、ここでDDD(ドメイン駆動設計)を連想しました。)

また「数学者は論理だけで話を進めがちだが、グラフ化して問題のおおまかな傾向を知ることも大事。それぞれの軸が加算(+)される変数だった場合は線型軸を使うし、乗算(*)される変数だったときは対数軸を使うはずだ」というようなことが書かれていて、ハッとさせられました。今までなんとなく軸を使い分けていたのですが、代数学的な発想で考えると、「この変数にとって本質的な操作は何だ」というようなことまで掴めます。

SOFT SKILLS』的な要素もあり、例えば他にも長いスパン・短いスパンの勉強の方法なども参考になりました。ITエンジニア向けの本だと、どうしても短いスパンの勉強が強調されてしまいがちなので。

素晴らしい本なのですが、人によって刺さる部分は違う気がします。本屋で見かけたときはちょっと立ち読みしてみてください。

ものづくりの数学のすすめ 技術革新をリードする現代数学活用法

ものづくりの数学のすすめ 技術革新をリードする現代数学活用法

余談ですが、最近は『集合・位相入門』を読んで集合論を勉強しています。今のところ「型や合成関数への感覚が深まって、コードがちょっときれいになった気がする」くらいの効果しか現れていませんが…。

また、このペースでいくと、線型代数まで学び直すのに2年くらいかかるんじゃないかと思ってます😩

集合・位相入門

集合・位相入門

以前も書いたとおり、こちらの記事に従って、少なくとも大学の学部生レベルまでは数学の能力を付けてみようと思います。

www.orecoli.com

また、『ものづくりの数学のすすめ 技術革新をリードする現代数学活用法』と同じ著者の前著も買ってみました。

線型代数学周遊―応用をめざして

線型代数学周遊―応用をめざして

まだ全然読めていませんが、第1章には「数学は言葉」であり、非数学な研究は「言葉にならないものを言葉にしてゆく科学の話」で、数学は「言葉になった後の科学の話」で、発想が全く異なるということが書かれていました。「ルールを守ってルール内のゲームを楽しむ」「定義を信じて進むうちにその定義の自然さを体感する」ということが書かれていました。

最近、ようやくそれが分かってきた気がします(が、数学を学んでも即座に役に立つ分野ではないので、目先で何を勉強すればいいのかということも同時に悩んでいます)。