科学・理学・工学、CS・SEの宗教戦争マップ — 対立軸で一発理解
TL;DR: 「真理 vs 稼働」「普遍 vs 文脈」「証明 vs 運用」。この3戦場で位置取りを決めれば、科学/理学/工学とCS/SEの違いは迷わない。
- 公開日: 2025-08-18
- 想定読者: 研究・開発に関わる人、プロダクト責任者、学生
- キーワード: 科学, 理学, 工学, コンピューターサイエンス, ソフトウェアエンジニアリング, 開発プロセス, 哲学
[TOC]
三大・戦場(対立軸)
1) 真理 vs 稼働
- 科学/理学の教義: 真か偽か。一度でも反証されたら即死。
-
工学の教義: 動くか止まるか。一度でも止まったら即死。
同じ「死」でも、科学は論拠の死、工学はサービスの死。
2) 普遍 vs 文脈
- 理学: 最小の法則で最大領域を説明する(普遍・簡潔)。
-
工学: 制約下の最良を現場で出す(コスト・安全・納期・環境)。
理学は境界条件を削り、工学は境界条件に跪く。
3) 証明 vs 運用
- コンピューターサイエンス(CS): 計算可能性・計算量・存在を証明で裁く。
-
ソフトウェアエンジニアリング(SE): 要件充足・信頼性・継続提供を運用で裁く。
CSは「できる/どのオーダーか」、SEは「出せる/守れるか」。
異端審問(禁句リスト)
- 理学の前で:「動けばいい」 → 返礼:反例一発で昇天。
- 工学の前で:「最適解が出るまで待て」 → 返礼:SLAと締切が神。
- CSの前で:「証明よりベンチ」 → 返礼:計算量の烙印(上界/下界)。
- SEの前で:「理論上は正しい」 → 返礼:MTTRで裁く。再現手順が聖典。
一刀両断の見分け語
- 科学:「なぜ?」に賭ける。
- 理学:「最小の法則で説明せよ」。
- 工学:「止めない設計は?」。
- CS:「計算できるのか/どのオーダーか」。
- SE:「繰り返し安全に出荷できるのか」。
2×2 極論マップ(メモ用)
真理を問う 役立てる
自然を相手 科学・理学(普遍/反証) ―
人工物を相手 CS(可否・計算量・証明) SE・工学(SLA・運用・納期)
よくある混同と即時反駁
-
「工学は科学の下位」
→ 工学には要求工学・安全設計・レジリエンスといった独自の理論と評価軸がある。実験で反証されない設計でも、運用で死ぬなら失敗。 -
「CSはプログラミングが上手い人の学問」
→ CSの核は計算モデル・アルゴリズム・複雑性。プログラミング技能は手段。可解性/下界はIDEでは動かせない。 -
「SEはコーディング手法の集合」
→ SEは人・組織・プロセスを含んだ社会技術システム。品質保証、リスク管理、変更容易性の経営が本丸。
血で書く格言(覚えやすい核)
- 科学:100回当たっても1回の反証で死。
- 工学:100回失敗しても本番を止めたら死。
- CS:存在証明が王。
- SE:**復旧時間(MTTR)**が王。
持ち帰り用チートシート
Why(科学) / Law(理学) / Work(工学) / Can?(CS) / Ship(SE)
まとめ
- 領域は連続体だが、上の三つの戦場に投影すると役割衝突がクリアになる。
- 日々の議論で迷ったら、**「今の論点は真理?稼働?証明?運用?」**と唱えるだけで会議が前進する。
謝辞・参考(方向性)
- Popper の反証可能性(科学の死生観)
- Engineering resilience / dependability(工学の評価軸)
- Turing/Church, Complexity(CS の存在と限界)
- DevOps/SRE, ISO/IEC 25010(SE の品質特性)
更新履歴
- 2025-08-18 初版公開