「プログラミングは数学であるべき」で海外勢が激論 4chan
姉妹サイトの新着
海外掲示板4chanの/g/(Technology)板に、「プログラミングは厳密に数学的であるべきだ」という主張への賛否を問う投稿が立ち、レスが伸びていた。返信ではOOP(オブジェクト指向)は数学的と言えるのか、証明指向プログラミングやアセンブリへの回帰は現実的かといった論点で意見が割れ、最終的には「そもそも数学に『状態』という概念は存在するのか」というかなり根本的な話にまで発展した。
ちなみに俺はFireship(YouTubeの解説チャンネル)を見てるだけのノーコード勢な
そう。プログラミングは厳密に数学的であるべきだ。
>>4
そんなことは一度もなかった。プログラミングは昔から数学からの抽象化でしかない。
そんなことは一度もなかった。プログラミングは昔から数学からの抽象化でしかない。
>>4
それな。大規模なプログラムの正しさを検証する方法はOOP(ダメ)と証明指向プログラミング(良い)しかない。後者はAIによる自動証明のおかげでじわじわ主流になっていくはずだ。
それな。大規模なプログラムの正しさを検証する方法はOOP(ダメ)と証明指向プログラミング(良い)しかない。後者はAIによる自動証明のおかげでじわじわ主流になっていくはずだ。
>>4
オブジェクトのどこが数学的じゃないんだ?数学だって色んなものをまとめて新しい定義にパッケージ化するのが大好きだろ。同じことじゃないか。
オブジェクトのどこが数学的じゃないんだ?数学だって色んなものをまとめて新しい定義にパッケージ化するのが大好きだろ。同じことじゃないか。
>>1
最近はCodexに作らせるだけだから、どんなプログラミングパラダイムを選ぼうと関係ない。もう何年もスーパークラスなんて見てない。
最近はCodexに作らせるだけだから、どんなプログラミングパラダイムを選ぼうと関係ない。もう何年もスーパークラスなんて見てない。
>>1
いや、どのプログラミング言語もそれぞれ得意な用途があるツールでしかない。オレンジとリンゴどっちが優れてるかで揉めてるようなものだ。
いや、どのプログラミング言語もそれぞれ得意な用途があるツールでしかない。オレンジとリンゴどっちが優れてるかで揉めてるようなものだ。
>>4
プログラミングはアセンブリから離れるべきじゃなかった。
プログラミングはアセンブリから離れるべきじゃなかった。
>>1
OOPは理論上は良いものだよ。
OOPは理論上は良いものだよ。
>>1
彼が正しいかどうかは知らないが、一つ確かなのは、彼は史上最も過大評価されているコンピュータ科学者の一人だということ。2位はドナルド・クヌースだな。
彼が正しいかどうかは知らないが、一つ確かなのは、彼は史上最も過大評価されているコンピュータ科学者の一人だということ。2位はドナルド・クヌースだな。
>>12
証明指向プログラミングね、はいはい。でもまずそれを何とかしてくれ、今使える手法は笑えるくらい酷いから。
証明指向プログラミングね、はいはい。でもまずそれを何とかしてくれ、今使える手法は笑えるくらい酷いから。
>>16
むしろOOPを使わない方が不自然だろう。OOPなしの数学なんて想像できないし、プログラミングがそれと大きく違う理由もない。
むしろOOPを使わない方が不自然だろう。OOPなしの数学なんて想像できないし、プログラミングがそれと大きく違う理由もない。
>>1
「チャット」って、ちゃんと高評価とチャンネル登録もよろしくな。
「チャット」って、ちゃんと高評価とチャンネル登録もよろしくな。
他サイトの新着
>>16
まあ、大半というかほぼ全ての数学には「状態」という概念がない。プロパティやコレクションを持つオブジェクトは数学的と言えなくもないが、ミューテーション(書き換え)は完全にコンピュータサイエンス側のパラダイムだ。
まあ、大半というかほぼ全ての数学には「状態」という概念がない。プロパティやコレクションを持つオブジェクトは数学的と言えなくもないが、ミューテーション(書き換え)は完全にコンピュータサイエンス側のパラダイムだ。
>>20
それは一理ある。イミュータブル(不変)なOOPが一番数学に近い形なんだろうな。
それは一理ある。イミュータブル(不変)なOOPが一番数学に近い形なんだろうな。
>>20
チューリングマシンは文字通り状態をエンコードしてるんだが、バカか。
チューリングマシンは文字通り状態をエンコードしてるんだが、バカか。
>>20
「数学には状態という概念がない」だって?アルゴリズム=プログラム、中間結果=状態、だろ。
「数学には状態という概念がない」だって?アルゴリズム=プログラム、中間結果=状態、だろ。
>>20
パパ〜、群論ってなに?数値解析ってなに?パパが教えてくれるまで、数学の「状態」なんて存在しないんだよぉ〜
パパ〜、群論ってなに?数値解析ってなに?パパが教えてくれるまで、数学の「状態」なんて存在しないんだよぉ〜
この話題の背景と論点
スレの発端となった「彼の言っていることは正しいか」という問いが誰を指すかは本文からは分からないが、続く「プログラミングは厳密に数学的であるべき」という主張への賛否が議論の軸になっている。ここで言う「証明指向プログラミング」は、Coqのような定理証明支援系や依存型言語を使ってプログラムの正しさを数学的に証明する手法を指し、「AI主導の自動証明」という発言は近年進むAIによる形式検証支援の研究動向を踏まえたものと見られる。OOPが数学的かという論点は結局決着せず、オブジェクトが状態(ミュータブルな内部値)を持つかどうかが賛否の分かれ目になっていた点は、命令型言語と関数型言語の間で古くから続く対立とも重なる。読み物として面白いのは、群論や数値解析を持ち出した反論のように、数学側にも「状態」に類する概念があるという指摘が出て、単純な二項対立では割り切れなくなっていくところだ。
※本記事は海外掲示板 4chan /g/ (Technology) のスレッド「Chat, is he right?」から抜粋し、編集部で日本語に意訳したものです。訳文の責任は当サイトにあります。
この記事のリアクション







まだコメントはありません。