このサイトは学部では早稲田で物理を, 修士では東大で数学を専攻し, 今も非アカデミックの立場で数学や物理と向き合っている一市民の奮闘の記録です. 運営者情報および運営理念についてはこちらをご覧ください.
中高の数学の復習から専門的な数学・物理までいろいろな情報を発信しています.
中高数学に関しては自然を再現しようや役に立つ中高数学 中高数学お散歩コース
大学数学に関しては現代数学観光ツアーなどの無料の通信講座があります.
その他にも無料の通信講座はこちらのページにまとまっています.
ご興味のある方はぜひお気軽にご登録ください!
プログラミングに数学が必要か否かとゆー話、深く突っ込んだ話をする気は毛頭ないけど、15年趣味プログラミング続けてきてこれまで数学やってなかったことを死ぬほど後悔してる。
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@its_out_of_tune はじめまして. 数学といっても広いですが, 具体的にどういう数学でしょうか?
— まるむし (@fjt) 2014, 7月 10
@fjt 「僕がやって来なくて後悔してる事」に対しての質問であれば、中学・高校数学全般です。「僕がプログラミング全般に重要だと感じている事」に対してであれば、集合、論理、普遍代数あたりですかね…。特に線形代数と圏論は重要度高そうだなーと思ってます。何故ですか?
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@its_out_of_tune 私も情報処理技術における数学の重要性を日々味わっていますが, これを他の人が明示的に表明するのはあまりみかけないので事情を伺いたく思ったのです.
— まるむし (@fjt) 2014, 7月 10
@fjt なるほど。僕の場合は単なるギークですが、極めるところ極めようと思ったら数学が目の前に立ちふさがったという感じですかね。専門で学ばれてるのです?
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@its_out_of_tune 私は数学専攻博士課程退学のクズレです. 曲折を経て今はデータの分析, シミュレーション, モデル化などを手がける零細会社を経営しています. 仰るとおり線形代数は非常に有用だと感じます. もう一つ有用だと思うのは確率論です.
— まるむし (@fjt) 2014, 7月 10
@fjt おー!ガチな方じゃないですな。いえ、なんか今日、「プログラミングに数学は必要ない」的な事言った人が軽炎上してたので、ツイーヨしたのですよ。やっときゃ良かったとw
確かに、確率論重要そうです。計算が苦手なので、量の概念が入ると途端に解らなくなるのですよね(´・ω・`)
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@its_out_of_tune 数学要らないというのはありだと思いますし実際要らずに済んでいるケース多いと思います. でも例えばGoogleの検索結果の並べ方みたいな話は広く興味持ってもらえると思いますし, 重要性と面白さは最近解り易くなっているかな, とも思います.
— まるむし (@fjt) 2014, 7月 10
@fjt 必須とは言いませんが、どうなんでしょう、線形代数で解決する問題とかはわりとドメインに近いからあれなんですけど、より抽象的な、例えば設計手法とかなってくると、車輪の最発明するかデザインパターン学ぶか数学か…ってなって来て、一番筋がいいのはやはり数学なのかなーってなります。
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@its_out_of_tune 設計手法は全く経験なく, 私にとっては未知の領域ですが, そういうところでも数学が使われているのですか? まったく見当もつきませんがどういった形でどんな理論が役に立っているのでしょうか?
— まるむし (@fjt) 2014, 7月 10
@fjt 最近だと、ML系とかHaskellから、型理論の概念が関数型を中心に広まってるイメージありますが、圏論との関連性はかなーり強いですよね。あと、証明駆動なんかは開発手法そのものがまるっと数学ですし(´・ω・`)型ガチ勢こあい
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@its_out_of_tune 証明駆動という用語も初耳ですが, たしかに Category は関数プログラミングのデザインには有用そうです. 実際に Category 的な操作を許容する処理系が実在する, という事ですか?(そしてそれが Hasklell なのですか?)
— まるむし (@fjt) 2014, 7月 10
@fjt あとは、最近ですとHaxeにモナドのライブラリが出てきたり、F(X)=X+1みたいな代数的データ型がOptional型として広く知られてC# でぬるぽ対策に使われたりもするので、圏論の適用範囲は関数型に留まらない感じはあります。
— ちゅーん (@its_out_of_tune) 2014, 7月 10
@fjt 証明駆動は僕も詳しく無いですがCoqとかAgdaみたいな証明系が有名です。Haskellの型システムは⊥を許容したり「基本的に」依存型が無かったりするので証明に用いるのは難しいですが、ほぼほぼCCCのセオリーが通用するので関手とかモナドを知ってるエンジニアも増えてます。
— ちゅーん (@its_out_of_tune) 2014, 7月 10
【集合、論理、普遍代数あたりですかね】の
普遍代数というの, 何なのだろう.
それはそれとして, 天上人の会話という感じがする.
趣味プログラミングでそんなに数学いるのか,
そんな大変なプログラミングをやっているのかと戦慄する.
全く well-defined でない言い方だが,
「一般のプログラミング」でどのくらい数学必要なのだろう.
数学ないとプログラミングが苦しくなるという領域じたいが想像できない.
はじめから数学を使うことが宿命づけられている数値計算みたいのはもちろん別だが.
中高の数学の復習から専門的な数学・物理までいろいろな情報を発信しています.
中高数学に関しては自然を再現しようや役に立つ中高数学 中高数学お散歩コース
大学数学に関しては現代数学観光ツアーなどの無料の通信講座があります.
その他にも無料の通信講座はこちらのページにまとまっています.
ご興味のある方はぜひお気軽にご登録ください!
この記事へのコメントはありません。