超越闡釋 技術文字的語言學解讀

2021-03-31 14:19:29 字數 1878 閱讀 3019

超越闡釋——技術文字的語言學解讀

■熊節(本文首發於《中華讀書報》2023年8月4日號)

凡不可言說者,必保持沉默。

——路德維希·維根斯坦 《邏輯哲學論》

聖奧古斯丁這樣談起人們學會自我表達的過程:「這樣一再聽到那些語言,按各種語句中的先後次序,我逐漸通解它們的意義,便勉

強鼓動唇舌,藉以表達我的意願。」在維根斯坦看來,對世界的闡釋如同孩童的一場遊戲,而為這遊戲制訂規則的不是別人,恰好是語言,是人們言說事物的方式,是話語體系。如果贊同維氏的「語言遊戲」論,作為讀者的我們在閱讀一部著作時,除了努力理解作者對世界的闡釋之外,恐怕還有另一項任務:嘗試解讀支撐那闡釋的話語體系——那遊戲的規則。

在我們熟悉的領域裡,乙個最成功的話語體系就是模式(pattern)。「四人團」(gang of four,gof)那本著名的《設計模式》讓世界震驚的理由不是23個精巧的設計模式,而是一種對語言界限的超越——軟體開發者們第一次認識到,有一種語言(即c.alexander早在2023年代提出的「模式語言」)可以用於談論他們的設計方案。誠如維根斯坦所說,思想的界限只能由語言來劃分,而界限之外的則是無法言說、因此也無法思考的存在。而模式語言的出現,讓設計方案也成為了一種可以在會議室裡討論、在電子郵件裡描述的東西。從那以後,併發模式、j2ee核心模式、分析模式、企業應用架構模式……人們開始用這個話語體系闡釋越來越多的方案,就連不好的方案也被冠名為「反模式」(anti- pattern)。作為遊戲規則的語言,其威力可見一斑。

話語的力量從何而來?很大程度上應該歸功於隱喻(metaphor)。對於乙個陌生的領域,人們總是用眾所周知的事物來近似地影射這裡的新事物,以期獲得基本的感性認識——想想「facade模式」和「builder模式」,你便不難理解隱喻的價值。另乙個司空見慣的隱喻就是「軟體工程」。2023年代,當軟體的危機表現為機械性生產效率低下時,人們睿智地採用了「工程學」的隱喻,並就此發展出一套軟體工程的話語體系(譬如「分析師」 與「程式設計師」的二元對立)。然而,在享受乙個隱喻帶來的種種方便時,我們仍然需要時時牢記隱喻作為隱喻的本質——「光陰似箭」是乙個隱喻,如果一定要在喻體的角度上對這個隱喻加以闡釋,恐怕你很難說出這支箭是什麼樣子。同樣,對於技術書籍中顯而易見的隱喻,也存在著類似的誤讀。譬如fredbrooks所說的「沒有銀彈」,如果一定要從數字的角度去闡釋它,又怎能把握住作者原本想要傳播的理念呢?——即便真有某種技術能夠以數量級提公升生產率,難道軟體的 「根本問題」(真實世界與軟體模型的對映)就能一勞永逸地解決了麼?

既然思想的界限由話語決定,順理成章地,如果要提出新的思想,這位作者可能首先必須扮演「話語的顛覆者」——這恰好是pete mcbreen在他的《軟體工藝》中扮演的角色。作為思想的傳播者,他面臨的第一要務不是闡釋自己的理論,甚至不是以正確的方式提出自己的理論,而是為他的讀者提供一套可以用於思考這種新思想的新話語,乙個新的隱喻。譬如這本《軟體工藝》,「工藝學」的隱喻真的優於「工程學」嗎?甚至於,「工藝學」是乙個好的隱喻嗎?這並不重要。重要的是,pete mcbreen擴充套件了軟體的語言界限,讓他的讀者有機會超越軟體工程的闡釋之外,從另一種角度去審視、去思索、去討論軟體開發的實踐。

《軟體工藝》對於話語體系的這一顛覆和擴充套件,即使從最保守的角度來說,也是意義深遠的。因為「人」的問題——軟體開發者的職業生涯規劃、軟體開發者的持續學習、軟體開發者自身價值的訴求……這些明顯個人性的、帶有某種亞文化氣息的問題,乃是軟體工程的「不可言說之物」——軟體工程並沒有提供談論這些問題所需的語詞。而這本《軟體工藝》的最大價值就在於它開宗明義地指出:軟體工程本身並沒有錯,只是我們不能試圖用它解決一切問題——尤其是那些位於軟體工程話語體系之外的問題,也不能對這些問題置之不理,而是應該用一種恰當的方式、乙個恰當的隱喻去談論它們、解決它們。至於書中那些極富煽動性的觀點和主張,在我看來只是——就像麥克盧漢所說——吸引注意力的誘餌。只要接納了軟體工藝的話語體系,是否贊同諸如「軟體工匠應該拿到最高的薪水」 之類的觀點又有何妨呢?

天問 我的幾個語言學假說

不好意思,我對語言學幾乎沒什麼了解,也沒有系統的看過這方面的書,只是喜歡胡思亂想而想到了幾個問題,我沒有查核過,不知道是否已有他人提出或已被證實。假說1 乙個可能被普遍承認的假說 語言在發聲上向著更清晰,更容易分辨的方向發展。比如複合詞的輕重音變化等是在絕大部分語言中都存在的現象。又比如漢語 和許多...

C語言學習 通過柴田望洋的《明解C語言》 1

今天開始看柴田望洋的 明解c語言 目的是做嵌入式開發的學習,所以會結合arm晶元進行學習。最終的目的是做一架小型的無人機,在2016年之前完成。分為三個階段。1.在十一月二日之前,用arm晶元寫出控制光立方的程式。2.在十一月二十日寫出土壤濕度檢測程式。3.在年底之前搭建好小型四旋翼飛行器,並寫出控...

C語言學習 通過柴田望洋的《明解C語言》 2

今天看了這本書的指標,結構部分,看的時候也翻了一下前面的函式,陣列部分。arm中實現了點亮一盞燈。指標部分 1.在這本書裡,指標的引出是因為函式只能進行 值傳遞 而無法改變引數的數值。指標能夠完成這樣的功能,因此也被稱為間接訪問運算子。2.介紹了指標運算子和取址運算子,同時回顧了scanf的用法。p...