首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

冒號與學生們(連載4):編程心法——從語法到范式的思維躍遷

     編輯:Java 相關知識

編程心法,言者所以在意,得意而忘言。——《莊子·外物》

從語言之爭到思維本質

問號率先發問:「剛才談到低級語言和中級語言,現在該聊高級語言了吧?」

冒號微微一嘆:「高級語言近千種,流行的也不下幾十種,選擇過多反而讓人無所適從。」

逗號不以為然:「最流行的不就那幾個:Java、C++、C#、VB 嗎?」

這句話引來冒號連珠炮般的反問:「可知道它們為什麼流行?學會這幾樣就是合格程序員了?它們會不會被取代?如果不會,為什麼?如果會,又怎麼辦?」逗號頓時語塞。

招法與心法:編程范式的啟示

冒號語氣放緩:「掌握語法、工具、技巧固然重要,但那只是學會兵器招法。更重要的,是心法。招法重形,心法重意。得形而忘意,是捨本逐末;得意而忘形,方能游刃有餘。下面要談的,就是一種心法——編程范式。」

問號不解:「編程范式?聽起來很學究,那是什麼?」

冒號解釋:「范式譯自 paradigm,也譯作典範、範型。若說每個編程者都在創造虛擬世界,編程范式就是他們置身其中、自覺或不自覺採用的世界觀與方法論。」

我們都是虛擬世界的創造者

歎號感嘆:「好抽象!」句號卻心中一動:「您是說我們都是虛擬世界的創造者,都在創造自己的《駭客任務》?」眾人莞爾。

冒號動情地說:「難道不是?只不過帝國有大小優劣之分。當你編程時,便進入自己創造的世界。這是你的世界,唯有注入想像力、創造力與激情,它才有勃勃生機。你寫的豈止是代碼,分明是樂曲;敲擊的豈止是鍵盤,分明是琴鍵;運行的豈止是程序,分明是世界。當優美旋律奏起,整個世界隨之翩然起舞,那種莫名的滿足感,是否充溢你全身?」

大家被這詩意的語言感染,沒想到編程也可以如此感性。

面向對象,還是對象導向?

良久,引號試探:「面向對象編程就是一種編程范式吧?」

冒號點頭:「不錯,它是當下最流行的范式。順便說一句,『面向對象』譯自 Object-Oriented,但『面向』二字令人費解。聞說有本書叫《面向對象方法》,比別的電腦書都暢銷,知道為什麼嗎?不少同學把它當成戀愛指南買走了。」全班笑倒。

冒號正色:「將 Object-Oriented 譯成『對象導向』,雖稍嫌拗口,卻更貼切。這不單是咬文嚼字,關係到對范式的理解。編程是為了解決問題,解決問題有多種視角,普適有效的模式被歸結為范式。因著眼點與思維方式不同,各范式自然各有側重,常用『oriented』描述。換言之,每種范式都引導人帶著某種傾向去分析、解決問題,這不就是『導向』?而『面向』的賓語多為預定目標,如面向世界、面向未來、面向用戶、面向問題。」

句號一語驚人:「找對象是『對象導向』的,去約會是『面向對象』的。」全班再倒。

句號得意解釋:「按夢中情人標準找對象,目標未定但傾向已定,這就是導向,而且是對象導向。找到後再約會,不就面向對象了嗎?」眾人稱絕。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved