2020-10-16

頼むからセンスの無い奴はプログラマにならないでくれ

プログラミングセンスです。センスの無い人にはプログラミングはできないし、無理にやると他人に著しい迷惑をかけます。だからセンスの無い人は絶対プログラマにならないで下さい。

ここで強調すべきことは、センスの無い人の問題は「知識が無いこと」ではないということです。多くの人は、「まずいやり方をしてしまうのは、良いやり方を知らないから」だと勘違いしていますが、実際には違いますセンスの無い人の真の問題は、「頭がおかしいこと」なのです。つまり、明らかに自分たちの首を絞めるだけの行為を「良いやり方」だと勘違いする、著しい認識のズレが問題なのです。

たとえばポーカーの役の判定を実装するとしましょう。普通の人なら何も考えずに「ストレートフラッシュかどうか」「フルハウスかどうか」などの個々の役判定の関数実装し、優先度の高い順に判定して最初マッチした役を返すでしょう。しかし、センスの無い人は、

  1. ストレートフラグフラッシュフラグをオンにする
  2. 2枚目以降で直前の数字+1でなければストレートフラグオフにする
  3. 2枚目以降で直前の色と同じでなければフラッシュフラグオフにする
  4. 4枚目以降でワンペアフラグがオンで、直前のカードと同じならツーペアフラグをオンにする
  5. 2枚目以降で直前のカードと同じならワンペアフラグをオンにする
  6. 3枚目以降で直近の3枚が同じならスリカードフラグをオンにする
  7. 4枚目以降で直近の4枚が同じならフォーカードフラグをオンにする
  8. ...

のような超複雑怪奇な判定ロジックを組もうとします。これがまずい理由は如何様にも説明できます。が、問題本質はこの方法瑕疵を論うことではなく、「こんなコードを書く奴は頭がおかしい」ってことなのです。

経験上、センスの無いプログラマはどんなに教育しても一向に良いコードが書けるようにはなりません。それは考えてみれば当然で、小学生中学生勉強の習慣などから教え込むならともかく、まともな思考ができないまま大人になってしまった人を教育するのは不可能なのです。

世の中には、こういうプログラミング以前の基礎的な思考能力が足りないのにプログラマになろうとする人が多いのですが、本当にやめて下さい。あなたプログラマになると、あなた以外の全ての人が不幸になります

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

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