0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

抽象化という技術と思考法:プログラマにとっての核心スキル

Posted at

🔍 抽象化とは?

複雑なものから本質だけを取り出して、シンプルにする技術

抽象化は、プログラミング・設計・仕事術すべてに関わる基礎力です。
この記事では、抽象化の本質や実践例、そして関連概念(正規化・圧縮)との関係をわかりやすく解説します。


🛠 プログラミングにおける抽象化の実例

✅ 関数化は「意味の単位」で分ける

// 抽象化前
func doStuff() {
    // いろいろな処理
}

// 抽象化後
func validateInput() -> Bool
func fetchUser() -> User
func sendToServer(user: User)

→ 「やることの意味」が明確だから関数名もスッと決まる!


✅ 変数名も抽象化で決まる

let a = getData()
let b = process(a)

❌ 意味が見えない

let user = fetchUser()
let posts = fetchPosts(for: user)

✅ 抽象化された処理単位なら、自然と名前も明確に


🧱 抽象化と正規化の関係

正規化(特にデータベース設計)も、実はただの圧縮じゃなく「抽象化」が関わっている。

例:

-- 抽象化前
| user_id | name  | department |
|--------|-------|------------|
| 1      | Alice | Sales      |
| 2      | Bob   | Sales      |

-- 抽象化後(=正規化)
Departments:
| id | name  |
|----|-------|
| 1  | Sales |

Users:
| id | name  | department_id |
|----|-------|----------------|
| 1  | Alice | 1              |
| 2  | Bob   | 1              |

「Sales部門」という意味を抜き出し、独立した“概念”にしたのがポイント!


🤖 抽象化とAI、自動化の関係

✅ 抽象化・具体化が人間の仕事の本質

  • 抽象化:複雑な事象の背後にあるパターンを見つける
  • 具体化:アイデアを現実の行動・コードに落とし込む

人間の生産性 = 抽象度を自在に上げ下げする力


❗ でもAIもそれを始めている

  • ChatGPT:文章から構成を抽象化、アイデアを具体化
  • LLM:膨大な情報から共通パターンを抽出(=抽象化)

→ 今後、人間が価値を出せるのは「より質の高い抽象化」ができるかどうか。


📌 まとめ

  • 抽象化は、情報・構造・思考をシンプルにする技術
  • 正しい関数名や変数名、設計の背後には「抽象の単位」がある
  • 正規化はただの圧縮でなく「概念の整理」=抽象化を伴う
  • 抽象化と具体化を操る力は、仕事の生産性に直結する
  • AI時代においても、“考える力”の核は抽象化

必要なら、記事タイトル・タグ・サムネ用アイデアも提案します!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?