在中文語境中,「抽象」往往帶有一種負面意味,常被用來形容「難以理解」或「不夠清楚」;例如人們會說:「你的行為很抽象」、「你說的話太抽象了」。在這種用法下,抽象似乎等同於模糊與難以落地。
然而在英文語境——尤其是工程領域中,abstraction 卻是一個核心詞彙。它並不是模糊,而是一種與「具體」相對的思維方式:有意識地隱藏細節、保留本質。抽象意味著語意的壓縮、資訊的萃取,使我們能在更高層次上思考與設計。
兩種語境的落差,揭示了抽象的不同面貌:在中文裡,它往往被誤解;在外文語境裡,它卻是價值。本文就從這個矛盾開始,談談為什麼「抽象」不只是語言的問題,而是一種思維的力量。
在中文場景裡,「抽象」最常出現的場合有兩種:
第一種是我們聽到別人說:「這好抽象」,或是面對「抽象畫」。在相關知識不足的情境下,一般人自然會把「抽象」視作「難以理解、看不懂」。
第二種則是來自網路與短視頻語境,例如所謂「抽象賽道」。在這裡,「抽象」被用來形容一些不合常理、超出常識範疇的行為,帶著戲謔或荒誕的意味。
這兩種用法,其實都帶有「錯置」或「誤用」的成分。
前者是因為缺乏共同認知,於是把「抽象」等同於「難以理解」;
後者則是將極端、離譜的具體行為貼上「抽象」的標籤,使得「抽象」淪為一種形容詞。
在英文語境中,「抽象」並不是一個貶義詞。它雖然與「具體」相對,但並不等於具體的反面。更多時候,它代表著一種「有意識的壓縮與提煉」:將複雜的細節隱藏起來,留下能表達本質的要素;或者,把多個事物的共通特性提煉出來,作為一個更高層次的表徵。
因此,在外文語境裡,抽象所指涉的並不是模糊,而恰恰相反——它是一種清晰。清晰地界定邊界、清晰地呈現本質,讓我們能在更高的層次上理解與設計。
在工程世界裡,抽象與具體並不是對立的兩端,而是一種交錯往復的運動。
抽象 讓我們得以萃取共通性,隱藏細節,建立可重複的模式;
具體 則是抽象的落地,透過細節的實作,讓設計真正能被驗證。
這種交錯,正是技術演進的動力。Helm 把繁瑣的 Kubernetes YAML 抽象成模板,但在部署時又必須填入具體的 values;Terraform 把基礎設施抽象成模組,但最終還是要在真實雲端環境裡具體創建資源;Kafka 抽象了 log 的本質,但它最終仍依附在具體的磁碟 I/O 與網路傳輸之上。
因此,工程的核心並不是「抽象勝過具體」或「具體壓過抽象」,而是如何在兩者之間找到合適的層次與切換點。這種動態的平衡,為工程技術重新定位:抽象提供視野,具體驗證價值。