為什麼程序員喜歡在代碼裏面寫髒話?_風聞
举铁未捷屁先鸣-1小时前
罵得越髒,代碼越強。
這是在計算機科學隱秘地帶的一條不成文的信條——在代碼裏罵髒話,是智商和情商的雙重證明。
這個現象是一種跨時代、跨語言的程序員亞文化。

你管它們叫髒話
我管它們叫註釋
包含髒話的開源代碼比不包含髒話的代碼質量更高——這已經得到了學術的證明。
德國卡爾斯魯厄理工學院理論計算機科學研究所的一篇論文得出的結論是:
“我們發現,在多項統計測試中,包含髒話的開源代碼比不包含髒話的開源代碼表現出明顯更好的代碼質量。
我們假設髒話的使用構成了程序員對代碼及其固有複雜性的深刻情感參與的指標,從而在徹底、批判和辯證的代碼分析過程中產生更好的代碼。”

開源代碼中髒話的使用和代碼質量之間有關聯嗎?
翻譯成人話來説就是,在代碼中插入髒話的程序員,可能比不這麼做的程序員更投入於他們的工作。
這將導致前者生產出更高質量的產品。
當你在代碼裏用更有力的語言表達情感時,你會顯得無比誠實。

C語言代碼包含和不包含髒話的得分
一個在代碼裏寫fuck的人更值得信任。
他至少告訴了你,他在工作中經歷了痛苦,確認了絕望,並且真誠地向你傳遞了絕望的質感。

那是一種用髒話調製的JSON數據包,攜帶了人類的原始信號。
髒話是編程世界的地下紋身,是機器語言裏混進的私酒,是程序員在數字沙漠裏留下的石碑。
一個沒有髒話的項目,就像一鍋沒放雞精的湯——可以喝,但沒味兒。

研究組發現,在所有包含髒話的代碼中,“fuck”是程序調試中使用最廣泛的命令。
這得益於這種語言的主要品質:簡單的語言結構——世界上每個七八歲的孩子都會説。

再就是該語言的可移植性。
無論你用的是JAVA、C++、Swift還是Javascript,每種編程語言都能使用它。
不需要集成開發環境,也不需要編譯器,每個程序員都能理解它的意思。

Linux內核源代碼中單詞隨時間的變化
論文中提到的另一種可能的解釋是,在工作場所説髒話是一種緩解壓力的形式,進而可以提高注意力,從而提高代碼質量。
心理學也提供了大量解釋,指出了髒話可以緩解疼痛、提高身體機能的例子,並證明髒話在戰略性使用時,可能會提高程序員的專注度。

事實上,加州大學聖地亞哥分校的認知心理學家本傑明·伯根,曾經在他的著作《髒話:關於我們的語言、我們的大腦和我們自己》中提到——在他教授的每次大學講座中都會説一次髒話(以一種不太可能冒犯全班同學的方式),因為有證據表明,當有策略地使用髒話時,可能會提高學生的參與度。

是更優秀的程序員更愛説髒話,還是隻有C語言會讓優秀的程序員説髒話?
最近的一篇學士論文指出,對於開源C代碼來説,髒話意味着質量。
還有一個簡單的事實,那就是你必須非常有信心,才能在工作成果中發表如此大膽的評論。
這種信心與能力相關。
更高的編程水平自然帶來更高質量的代碼。
自信、高水平的程序員樂於在編程中用髒話來表達自我想法,是完全合理的。

在某種程度上,罵街和寫算法有異曲同工之妙——水平高的人,罵得不僅押韻,還能遞歸。
而那幫語言和編程能力強的程序員,製造“fuck”就像生成隨機數,永遠不缺新鮮感。

在文化意義上,註釋區的罵街文學和變量/函數命名的髒話彩蛋,也並不總是為了冒犯別人,而更像是一種情緒宣泄、圈內暗號和自嘲幽默的混合物。
對程序員來説,這種髒話是反權威、反企業模板化的表達,有點像酒吧廁所門背後寫的內部留言,粗鄙但真實。

高手的代碼不像大學裏的算法課,整齊如祈禱文;也不像甲方的需求文檔,乾淨得像手術室。
他們用“shit”、“fuck”、“wtf”當作代碼的命名,一來方便搜索和重構,二來給後來維護的人一種“這裏有坑”的預警。
在提交給GitHub的開源項目裏,罵一句“shit”,就是對全世界程序員的求救信號,就像漁民在桅杆頂升起的黑旗,告訴大家這片海域有風暴。

許多人認為説髒話是缺乏智力和教育的粗俗表現,因為他們覺得當你擁有豐富的詞彙量時,為什麼還要使用髒字呢?
但在程序員的世界裏,語言與智力的關係往往呈現負相關。
一個真正有天賦的程序員,從來不滿足於寫“error”,他會寫“catastrophic fucking error”。
這不僅是錯誤提示,更是一次精神上的投影,它讓冰冷的0和1帶上了人類體温。

低水平的代碼民工寫程序,只會乖乖在註釋裏説“這裏有錯誤,請修復”。
而智商高的程序員,會用三行“fuck”組成一首十四行詩,讓後來的維護者一眼讀出他的悲憤、絕望和人格殘骸。
你能編出一段優雅的算法,不代表你能發明出“shitfuckery”這種變量名;而能精準創造這種詞彙的人,往往才是代碼江湖的老幫菜。

懂得何時罵髒話,何時把髒話藏進括號裏,這是一門需要社交智商的藝術。
比如你在代碼評審時,把“fuck”改成“fuc_k”,這就像是穿西裝配一條花丁字褲——外表上得體,裏面依舊自由。
又比如開源項目裏,你在公共函數上罵一句“this is bullshit”,這是向全世界發出的末日信號。
而寫“raise Exception(“Error occurred”)”的人,就像在泰坦尼克號撞冰山時廣播“前方稍有波動,請注意腳下”,這種虛偽簡直比Bug本身還惡劣。

2017-18年各大洲的代碼提交數量和髒話次數
髒話集中在右腦,右腦是創造性大腦,所以罵街是一種藝術。
“我們知道,右側中風患者往往會變得不那麼情緒化,不太能夠理解和講笑話,並且傾向於停止説髒話,即使他們很久以前曾經喜歡説髒話。”《使用F Word是好的》一書的作者艾瑪·伯恩説。
這解釋了為什麼最有創意的程序員,總能發明一些沒人聽過的罵法,比如“fuckthisshitifyouwanttodie”這樣的函數名,或者“WTF_MODE_ENABLED = True”這樣的常量。

沒文化的人罵“草”,有文化的人罵“狗日的邏輯樹叉錯位”。
那些最有創意的程序員,往往也最會在鍵盤上放煙花。
他們的“fuck”前面加“holy”,後面加“universe”,像在寫搖滾歌詞。
寫代碼不罵街的人,只是還沒遇到過能讓靈魂崩潰的bug。
等你三天三夜沒睡,調一個內存泄漏,最後發現是標點符號的問題,你罵出來的髒話,能讓整個右腦開花。

代碼裏的每個髒字,都是枯燥邏輯世界裏唯一的詩意和嚎叫。
它是程序員在與機器冷漠對話的過程中,留給同類的情感路標。
正如古時文人騷客在橋洞中留下的“到此一遊”,現代程序員在函數里留下一句“fuck this”——那不是不敬,那是歷史的留聲機,記錄里人類智慧與絕望福報在二進制裏的合影。

記住,罵街不一定是墮落,也可能是留給同類的座標系。
數十年後,別人看你的源碼,讀到“This is bullshit”,他們將不得不承認一個事實——世界上最誠實的作品,不在圖書館裏,而在那些沒人想維護的老項目裏。

來源:beebee星球