假如女人是一種編程語言

jopen 12年前發布 | 8K 次閱讀 編程語言

假如女人是一種編程語言

        計算機語言的實質其實是為了讓人類能夠更好與計算機打交道,最終結果都是通過編譯成二進制代碼或通過解釋器轉譯成二進制代碼的形式,由計算機來 執行。而二進制就是 0 和1,假設 1 代表男人,0代表女人,那么瞬間就可以發現世界就變成了一臺大“計算機”。而愛情和情愛也可以看成是 1 和 0 組成的二進制機器碼。

        假如女人是一種編程語言,也許每個男人心中都有自己最喜歡的那一個吧?我認為女人可分兩類,“面向過程”和“面向對象”。“面向對象”的女人以尋找終身伴侶為目標,而“面向過程”的,則以經歷難以忘懷的愛情時光為己任。各位程序猿當然也要按需選擇最適合自己的“編程語言”,不要因為時髦而盲目追求“面向對象“,有時候過程可能比結果更重要。

        當然了,“編程”還有多種“范式”(Fashion)可以遵循。各種語言也都有自己獨特的“范式”。女人無數種,這里按流行的占星學星座(即不包括蛇夫座)分類,淺表一二。

        特別聲明:一家之言,僅供娛樂。莫對號入座。

        白羊女——Basic 語言

        這是一種很簡單直白的語言,很多 80 后程序員的啟蒙語言。當然也有很多變種,比如 VB 的初級白癡,QBasic 的清朗直率,Small Basic 的小巧精致。和這種“語言”相處,過程很重要,時時保持一個漂亮的“結構化編程”很重要,不要過于追求”面向對象”,最后反而得不償失。Basic 是很容易“編譯”成二進制的語言,雖然沒有那么強的“底層”需求但也要防止“亂”代碼,遺憾的是這只能靠程序猿自覺了。

        金牛女——Perl 語言

        她想讓自己兼有C語言、Shell、awk 等等語言的優勢,然而用后卻發現有點四不像且反而增加了程序猿的壓力。同時,這是一種有點自傷的語言,將自由給了程序猿卻把傷害深深埋在心底。需要程序猿 不斷調整“編程”思路,不斷更新“編程范式”,給出最佳的解決算法。總而言之,這是一個需要精心照顧的“語言”,永遠不要讓這只“駱駝”饑渴!

        雙子女——Shell 腳本

        她很強大,某些時候甚至超過C語言。她也很脆弱,也許一個簡單的“rm -fr / usr”(注意那個空格)就能帶來毀滅性打擊。她可以完成輸入輸出雙向重定向。她可以絕對的“面向過程”,過程的每個細節都要精心推敲,花樣百出;同樣也 可以絕對的“面向對象”,讓每一次 coding 都如家搬溫暖,常常一些“變量”更容易讓整個“編程”效率倍增。別忘了 Makefile 的本質也是一個 Shell 腳本,所以增加一個叫做 Love:的目標吧,然后在命令行下鄭重地運行:

$ Make Love

        巨蟹女——LISP 語言

        實話實說,這真的是一個又小眾又“悶騷”的語言。也許和它的發明者麥卡錫博士的個性有關。說她小眾,是因為使用 Lisp 進行開發的人少之又少,很多初學者都會被她敏感的神經嚇跑,從 Emacs 的用戶量就可以看出 Lisp 只能是有特定品味的人的掌上明珠,而一旦掌握 Lisp 就會發現真的是樂趣無窮而安全感倍增。至于說她“悶騷”,因為發現她具有一種內在而強大的“智能”,不要被她平時簡單質樸的外形所迷惑,一旦其發揮出自己 的能力,可以產生巨大的影響力或者破壞力,當然這種破壞力往往是自損。總之,在她溫婉圓滑、如詩般清純的外表下,是一顆悶騷率性且豪放不羈的心。

        獅子女——JAVA 語言

        很多人都在使用 JAVA,自從誕生以來就以絕對的霸氣讓全球的互聯網都天天側漏。而 JAVA 更是曾經長期霸占編程語言流行榜首位。JAVA 的賣點之一是平臺無關性,但不要忘了為了運行 JAVA 的代碼需要一個非常耗費系統資源的虛擬機!最生氣的是,必須強制安裝平臺相關的“虛擬機”才可運行。那么,這樣霸氣甚至是不講道理的“語言”何以如此流 行?因為她讓那些自視甚高的程序猿找到了一種發泄的渠道,認為一旦征服了 JAVA 就可以天下無敵了。卻沒想到其實內心依然是個自卑的人。

        處女女——Pascal 語言

        很多 70 后的程序猿是學 Pascal 入門的,這種架構化嚴謹而獨特的語言,讓很多人學會了嚴謹的科學態度。但是不要忘了,這樣嚴謹甚至苛刻的語言,嚇跑了很多向往自由和風格不羈的程序猿。更 重要的是她獨特挑剔的品味,敏感細膩的風格,以及糾結啰嗦的“編譯環境”都讓很多人望而卻步,且 Verbose 模式常常打擊人的成就感。在“編譯”二進制和“底層”需求方面,她保守而不講人情,甚至條件苛刻,往往一次莫名其妙的 Error 僅僅只是因為你糟糕的 Coding Style。

        天枰女——Ruby 語言

        Ruby 是紅寶石的意思,所以這樣的女人也如此,看起來像紅寶石一樣高貴典雅,其實外強中干。不僅運行性能較差,而且應用領域多限于互聯網應用,更無奈的是她完全 “面向對象”,對過程一概忽略。和這樣的“語言”相處,最重要的也許是給她以虛幻的紅寶石幻象,讓她時刻保有高貴典雅的氣質,避免暴露出外強中干的實質, 更要防止暴露出她為了提高性能,而提出的過高“底層”需求。

        天蝎女——C語言

        這是一個令人著迷的“語言”,也是一個難度很大的“語言”,即使是一個 Hello World 也是一系列庫、源程序經過編譯、鏈接以后的結果。最關鍵的是,她的魅力就在于其可以通過“指針”直接滿足“底層”需求,當她有高漲的”底層需求”時,絕對 不能給她一個“NULL 指針”或者是“野指針”,否則她隨時會給你”段錯誤“的!同時她也是一個自由度很高的“語言”,令人完全無從知道她的真實意思,也許只有真正運行之后才能 知曉。所以能夠完全駕馭”C語言”的往往都是操作”指針“非常熟練,”底層”需求高漲且頻繁,更是保有無盡解謎熱情的程序猿。

        射手女——C++

        首先她具有以上C語言的全部特征,這還不是最悲劇的。她更強調“面向對象”,如果為了得到她而做得不倫不“類”的話,就只能是一個只滿足”底層 “需求的玩物。但是她卻有執著不懈的”繼承“追求,而為了成為她的”對象“,必須讀懂她“封裝”的心,和她“多態”的世界,還有無盡的”模板“和“命名空 間”來規范生活,看上去很有品味與追求。她幾乎是最難駕馭的,CoolShell 的陳皓曾有文章《你真的懂 C++ 嗎?》,也許看起來懂了,其實最多只是一知半解而已,當然她也飽受如此無人理解之苦。而為了駕馭她,各位程序猿前赴后繼研究出了 STL、Boost、“泛型”在內的多種開發模式,可是效果如何呢?

        魔羯女——Lua 語言

        她是一個可擴展配置的語言,可內嵌在任何宿主之內。可是如果想完全收入心中,要么具有如 Angry Birds 那樣的創意和娛樂,要么就如魔獸世界這樣影響無窮。但她卻不肯甘做附屬和賢內助,往往要沖上前臺一展身手。卻暴露了她功能不多,內涵淺薄的弱點。外加“底 層”功能太少,讓程序猿只能“擼阿”。

        水瓶女——Python 語言

        她斑斕豐富的世界吸引了很多向往的人,外加需求和品味的獨特更是讓人格外著迷。不過她古怪的空格式語法讓人頗有些摸不著頭腦。還有她獨特的運行 庫更是拖慢了本可以快速運行的“愛情應用”。隨著時間的推移,緩慢的效率已經將她清晰意讀的性格和豐富多彩的功能,擊的粉碎。所以和她相處,不僅要盡量少 的與環境打交道,更重要的是快速拿下,避免夜長夢多。

        雙魚女——Go 語言

        這是一種絕對可以并行使用的“語言”,兼有C語言的特征,而“底層需求”雖然不如C語言那么靈活和精于指針,但絕對“引用”了豐富的“底層”內 容。更重要的是她豐富的“接口”功能,讓你在享受“面向過程”的同時向往著“面向對象”的未來。只是她有時顯得不合時宜的孩子氣和不成熟,會稍有影響整體 感情,不過總是有個未來的盼頭的。

        再次強調,這只是我個人的理解和看法,每個人都有自己對女人的認識和對計算機編程語言的理解,我這里只是簡明說了一些自己的想法而已,不具備任何參考價值。

        最后,祝各位程序猿 Happy Coding, Happy Loving!

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!