2024-06-28

anond:20240628132620

正解が「数学的」に決まるところ。たとえば「1■1=2 のときに ■を答えなさい」というときに競プロは■を答えるだろうし、それを早く答えて悦に入るだろう。

それもいいけど、いちど数学的に答えが決まっちゃう問題ライブラリにまとめられて、一般的コーダはなにも考えなくてもインポートして処理できちゃうわけ。上の例えだとふつーのプログラマなら「枯れたライブラリインポートして、正しく答えが出ると確信できるなら『答えは正しいとか考えなくても』それを使って対処する」ので、データの振る舞いとか気にしないで済む。たとえば SQL なんて、実行時計画という「アルゴリズムを常に指定するなら不要な」話題があるのだけど、データ量によって適切なアルゴリズムが変化するから仕方ないし、概ね RDB は賢いのでヒューマン考慮するのは問題がある場合だけなのだ。よって、競技プログラマが生産性を確実に上げるという根拠はない。

もちろん、アルゴリズム知識を身につけるのは大切だし、クヌース先生も書いてたけど分散処理アルゴリズムフロンテイアだろうよ。というか、暗号分野やセキュリティ領域や、条件が過酷場合宇宙線の影響下とか、メモリの少ないエッジコンピューティングとか)だと、アルゴリズム研究や追求は大切なのは今も同じだ。でも、競技プログラマが新規アルゴリズムを開発したり、セキュリティに向上したという話は聞いたことがないが、レッドコーダ諸君は自前で創造して使われた実績はあるのだろうか?

ついでに聞いてみたいのだが、競技プログラマたちは「マルチスレッドコードで早く書こうとしないのはなぜ?」「そもそも競技プログラミングで使うコードは便利なスニペッツがあるけどそれってチートでは?」「ときどき正規表現で解く問題があるけど、そのとき計算量は無視してない?」という矛盾を抱えているのてはないか?と思うのだが如何か。

究極的には競技プログラミングに必要知識というのは、産業用途要求される知識の一部でしかないのが問題なんだと思うよ。ほら、アレだよ、むかし話題になった「数学だけデキる人向けの東工入試をやったら、英語ができなくて卒業できなかった」という童話に近いんだよ。競技プログラムってインとアウトしか見てないブラックボックステストから、ここだけしか計算機科学の知識が無いというヤバ人材の育成しかなってないのだろうな。

それで、結語として「答えのある問題に特化した競技プログラマー」のヤバい理由として、列挙していくと

ということは、競技プログラマーは考えても良いのではないか

記事への反応 -
  • 世の中な、答えが決まってる問題は既に解決済みか、競プロの時間内じゃ解けないことばかりなんだよ。

    • 答えが決まってる問題 世の中ではこういう言い方をよくするけど、この言い方がダメなんだと思う。「答えがない問題」も同様。 「答えが決まってる」って具体的にどういうこと?と...

      • 正解が「数学的」に決まるところ。たとえば「1■1=2 のときに ■を答えなさい」というときに競プロは■を答えるだろうし、それを早く答えて悦に入るだろう。 それもいいけど、いち...

        • やっぱ採用するならプログラミングやったことない文系に限るな

          • コーダーの気持ちがわかっちゃうと、しばけないもんな。やっぱり、文系よ。

        • 正解が「数学的」に決まるところ。たとえば「1■1=2 のときに ■を答えなさい」というときに競プロは■を答えるだろうし、それを早く答えて悦に入るだろう。 かなりイマイチなんだ...

          • つまり、競技プログラミングもできないワイは言語化もできない無能って言うことなんすか?ぐぬぬ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん